Kubernetes: A Journey Towards Containerization

DZone 's Guide to

Kubernetes: A Journey Towards Containerization

Though Docker has become the de facto champ of containers, Kubernetes and its clusters offer an alternative choice.

· Cloud Zone ·
Free Resource

In one recent article, we covered  Virtualization vs. Containerization. In this article, we would like to take you through Kubernetes, which has been used by many companies for containerization.

Earlier enterprises used to have physical servers with basic services, such as Apache, Bind, MySQL, and PHP. Then, there came the need for migrating those servers because another service provider offered a better price. Updating was hard when there were multiple websites hosted on the server because some of them relied on specific versions. Because of these issues, enterprises often ended up keeping some servers and avoid the pain of migration. This is probably a familiar scenario to most of you!

This problem would have been solved if enterprises could migrate to containers. This is a very typical use case of containerization.

We are at an interesting phase of the DevOps journey where the focus has shifted to how we can write distributable and scalable applications that can be deployed, run, and monitored effectively. Docker took the first steps that made it easy for teams to ship, build, and run software.

But is Docker not enough? If you look at current applications serving large numbers of users, running your application across a container or two will not be enough. You will need to:

  • Run a cluster of containers.
  • Manage deployments of applications across those containers.
  • Monitor these containers.

This is where Kubernetes comes into the picture.

Note: In Docker 1.12, swarm mode has been made part of the core engine. We will compare swarm mode and Kubernetes in another article.

According to Kubernetes' official page, Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure.

With Kubernetes, DevOps can quickly and efficiently respond to customer demand to:

  • Deploy applications quickly and predictably.
  • Scale applications on the fly.
  • Seamlessly roll out new features.
  • Optimize use of hardware by using only the resources that are needed.

Kubernetes has been built on software that has been developed at Google. It has been running their workloads for more than a decade. Since its announcement, Kubernetes has been one of the most popular repositories on GitHub.

The project has seen significant backing from multiple vendors, and one of its most notable features is that it is able to run across multiple cloud providers and even on-premise infrastructure. It is not currently tied to any particular vendor.

cloud, container, container deployment

Published at DZone with permission of Madan Ganesh Velayudham . See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}