If you're an OPS engineer, you know that Docker is valued at more than $1 billion, and Docker is one of the most popular technology brands. Docker containers are known as the de facto standard for container runtimes, but Google's kubernetes is winning the choreography framework market. When using container technology, we often encounter the question, "will using Kubernetes hurt Docker?" ”
Many people believe that the value of container technology is at the orchestration level, which is a direct threat to Docker containers by Kubernetes. I don't agree with that, however, because Docker is not a container runtime company, but a container platform company. To understand this concept, we must understand the history of the Docker company.
PaaS vs CaaS
Docker was a public cloud PAAs (platform as a service) company named DotCloud. All PAAs solutions can take advantage of container encapsulation to perform complex tasks, such as live migration, so that software can be quickly deployed without the need for users to take offline systems or downtime. In 2013, DotCloud Company Open source its basic container technology, called Docker project. At the same time, a large technology community has emerged, DotCloud from a purely PAAs company to become a container platform called Docker Company.
Docker+kubernetes (k8s) micro-service container Practice
Over the next two years, Docker raised $190 million and elaborated on the concept of container-as-a-service (CaaS). Chief Technology Officer Solomon Hykes points out that one of the biggest challenges for PAAs is that developers are often too prescriptive. CaaS's philosophy is that users can containerized the relevant components and build a non-canonical platform of containerized components with the help of Docker products and services. In this way, developers are abstracted from the underlying it pipeline and are no longer bundled with the technology provided by the PAAs vendor. Steering CaaS makes Docker a container platform company, and a container is just a tool.
Orchestration Framework
Once the container is embraced, the user needs an orchestration framework to dispatch and manage the container. The most common orchestration frameworks are Kubernetes, Mesos, Docker Swarm. Kubernetes is the most mature and most scalable solution on the market, occupying the largest market share. The above three orchestration frameworks are open source, and users only pay for technical support services.
Between the kubernetes and the Docker container, not Apple and Apple, you can't compare business process tools to the platform. Kubernetes is the foundation technology that Google has used for large-scale cluster management over the years, which was released in July 2015. After Dockercon 2016, Docker announced the Docker Swarm with business process capabilities. One advantage of Docker swarm is that it integrates with many of the security features in the Docker platform, such as Key management. In a small container scenario, many users prefer to use Docker Swarm because it is built into the Docker platform in a smooth manner.
The value of container technology in the platform
So far, the winner of the Choreography Framework contest is kubernetes. This makes many people think that Kubernetes poses a great threat to Docker containers. On Dockercon 2017, Docker released the Moby Project, an assembly framework based on the container platform (CaaS). The Moby Project allows users to create customized platforms with their favorite components. The orchestration framework is just one layer of the container platform (CaaS).
Docker containers do not care about which orchestration frame users use, and it is the job to make it easy for users to choose their favorite orchestration frame, whether Kubernetes, Mesos, Docker swarm, or otherwise. This choice does not matter in value, the real value lies in the platform, that is the money. Therefore, it makes no sense to compare kubernetes with Docker containers, and Docker's real competitors are VMware, cloudfoundry and other platforms.
In my opinion
On Twitter, we saw chatter between Google's Kelsey Hightower and Docker's Solomon Hykes, but I believe Kelsey's lack of open and constructive criticism of Docker containers One of the options that will help drive the kubernetes as a container platform orchestration layer. If so, Google is no longer the enemy of the container ecosystem, more partners.
Docker's money comes from technical support services, and the more Docker containers that are running in production, the more revenue from the technical support services. The important thing for Docker is the increased use of Docker containers. Clearly, Kubernetes is the most popular orchestration framework and is used to drive large-scale container applications, while kubernetes allows more Docker containers to be put into production.
In my opinion, Kubernetes is not the killer of Docker containers, but the catalyst. Further, the orchestration is the commodity of the container platform, which drives the use of the container runtime. The orchestration framework is a key component of the container platform, which is a friend, not an enemy, when running with a container.
Docker+kubernetes (k8s) micro-service container Practice
Docker and Kubernetes, the enemy is a friend?