Why was Google's 'Kubernetes' so successful that it supported PokeGO and Mercari?



Developed by Google and maintained by

CNCF , ' Kubernetes ' is a system that manages containers such as Docker , and is used by various applications and online services such as location information game Pokemon GO and flea market app Mercari. I am. Ricardo Aravena , an Rakuten engineer, explains why Kubernetes, which is also provided as SaaS such as Amazon EKS and GKE , has become so popular.

Why is Kubernetes getting so popular?-- Stack Overflow Blog
https://stackoverflow.blog/2020/05/29/why-kubernetes-getting-so-popular/

Various container technologies have emerged in the latter half of the 2000s, such as cgroups , which is the process separation function of the Linux kernel that appeared in 2007, and LXC , which is also Linux container technology. With the release of Docker in 2013, container virtualization technology will gradually spread. Aravena said Kubernetes, which came out in 2015, has become the industry standard for container orchestration that manages multiple containers.



Aravena cites Kubernetes as a feature that 'you can write settings in

YAML '. Kubernetes evolved ' Infrastructure as Code ' with structured data such as Puppet and Chef into ' Infrastructure as Data '. With Kubernetes, if you write a configuration file in YAML as shown below, you can build the environment without writing any code.



Aravena points out that if you control the version of YAML with Git etc., you can know exactly when, who changed what. It is said that such management methods will lead to efficiency and automation by eliminating transparency and ambiguity of the organization.

Kumarnetes, which manages with YAML, is also 'scalable', says Aravena. For example, if you want to handle higher load traffic, you can simply scale the maximum number of pods that autoscale during operation 'maxReplicas', and you can easily scale resources, Aravena says ..



You can also discover security issues by auditing YAML with Conftest and Open Policy Agent . Kubernetes also has high compatibility with cloud services such as AWS.

Kubernetes is also excellent in 'extendability' that you can add functions yourself. Kubernetes is composed of many functions such as Pod, Deployment, StatefulSet, etc., but users can add their own resources with Custom Resource Definitions (CRD) . Aravena said that the operator who manages the resources added by CRD can also be designed by himself.

The Kubernetes community provides an Operator SDK that will help you develop Operators, and you can develop Operators quickly. For example, if you execute the following code using the Operator SDK...



You can get a model of Operator development consisting of YAML and Go. You can add APIs and controllers, build Operators and install them in the container registry with the Operator SDK. Aravena says that Operator can be developed only with YAML if it is KUDO .



Kubernetes has had major releases about quarterly over the last few years, with many new features. Aravena said Kubernetes'

dashboard on GitHub shows a lot of active development. It is said that the addition of new features will give cluster administrators the flexibility to do many different things.

Kubernetes's strength lies not only in its function but also in the community. Held three times a year, KubeCon + CloudNativeCon is the world's largest open source event where thousands of engineers gather for the purpose of leveraging new features and improving Kubernetes and its ecosystem. 'Kubernetes wouldn't have been so successful without the community's commitment to engaging each other and welcoming new entrants,' Aravena said.



In the future, it will be an issue to allow engineers to concentrate more on development without worrying about the infrastructure that is the basis for executing code. Using Kubernetes Knative and OpenFaaS due to server-less Aravena said that it is effective in order to confront to these challenges he says.

in Software, Posted by darkhorse_log