What is Kubernetes?

Posted by JGB on December 2, 2019

I have been hearing a lot about Kubernetes (k8s). It has become very popular since its release in 2014. Kubernetes was created to manage large complex container based applications (container orchestration). Building applications using containers or microservices is becoming very popular, and for good reason, but it has also created new challenges and complexities. Kubernetes is an open-source software system that was created by Google and allows you to manage and deploy these containers at large. The creators said they selected the name Kubernetes based on the Greek word for helmsman or captain. It is portable, scalable, and easily extended. It utilizes a cluster orchestration system that will allow your program to still run even if one node fails (i.e. a cluster of nodes, so if one fails, you will still have a number of other working nodes receiving information). We are moving away from companies issuing one huge release after working on a project for a year or more and then dealing with all of the errors and problems that arise (that were not found during testing). Instead we are moving towards a more agile future with small, targeted releases and upgrades with DevOps teams and systems like Kubernetes that allow our agile container based applications to function at a high level - continuous integration and continuous deployment. The Kubernetes production cluster manages this workflow beautifully. Kubernetes is just one of the elements, albeit an important one, of the future of software development where development is more flexible and fluid.