Kubernetes is driving cloud adoption among enterprise companies in Korea. Operations leaders at enterprise companies are excited about the combination of Docker and Kubernetes and are looking to move their service platforms to the cloud. Let's take a look at why Kubernetes is driving cloud adoption.
To understand Kubernetes, you first need to know Google's Borg project. Kubernetes can be thought of as the successor to Borg.
In the early 2000s, Google needed a system that could reliably run clusters of tens of thousands of machines. In 2003, Google started the Borg project.
In the early days, Borg's job was similar to how an OS manages processes. The computers we typically use run multiple processes, and the operating system determines prioritization. It decides which processes should be active at any given time and which ones should be stopped or killed if they run out of resources. The Borg is responsible for managing workloads at the cluster scale. Google's cluster of machines consists of thousands of servers connected by an internal network. If the Borg cluster scheduler wants 200 copies of the binary that determines which service to run, the Borg scheduler identifies a machine in the cluster that has free capacity to run the service and sends a request to the node agent on this machine to run the service.
After a decade of continuously managing its containers with the Borg system, Google announced the open source version of Kubernetes in 2014.
Google's needs in launching Borg are much the same as those of organizations today who want to adopt the cloud to operate faster and more securely. The reason Kubernetes has such a large ecosystem just three years after its official announcement is because of the know-how we have built over the past decade with Borg.
Kubernetes owes a lot to the advent of Docker. The Kubernetes team was convinced that Docker would become a core technology for the cloud, but Docker was too incomplete in its management. Eventually, the Kubernetes team created Kubernetes to orchestrate Docker.
The initial goal of the Kubernetes team in 2014 was to develop a "minimally viable orchestrator". Based on their Borg experience, the Kubernetes team defined the basic functionality for an orchestrator as follows.
After satisfying these four core features, Kubernetes was first released to the public in 2014, and the 1.0 version was officially released in 2015.
Right now, Kubernetes is the absolute powerhouse of container orchestration. In fact, it is so dominant that we are thankful there is nothing else to worry about. As of December 18, 2018, there are over 500 active Kubernetes Meetups around the world. If you look at Kubernetes on GitHub, you can see that there are more than 1900 people working on Kubernetes and 45,200 stars.
The current characteristic of Kubernetes in Korea is that it is being welcomed by enterprise companies rather than startups. All existing cloud-related solutions were used by startups first, but Kubernetes is being popularized by enterprises first. Enterprise companies' resistance to the cloud has been the management of virtual host machines, which are becoming more numerous than before, but Kubernetes makes them manageable. Rather, startups are not yet interested in Kubernetes because of the complexity of management.
The cloud is currently rallying around Kubernetes, and even enterprises that have been hesitant about traditional clouds are expected to move to Kubernetes-based clouds. Micro Service Architecture (MSA) standards in the market are also converging on the use of Kubernetes. The combination of MSA and Kubernetes is so compelling and commercially attractive that Google, Amazon, MS, IBM, and Oracle are all already offering services based on Kubernetes. If you are an organization preparing to adopt the cloud today, you should center your strategy around Kubernetes.