Managing containerized applications at scale is a new kind of challenge, especially if you’re planning on automating as much of the operations as possible. There is a fundamental disconnect between containers and the underlying infrastructure of our datacenters, one that makes it difficult to map containers onto the available physical and virtual resources. That’s where datacenter-scale tools such as Kubernetes come into play, providing an essential new management layer to control how and where our containers run.
Originally developed and open sourced by a team at Google, the Kubernetes project is now managed by the independent Cloud Native Computing Foundation. Kubernetes is available on all of the major public cloud platforms including Azure. Perhaps best thought of as a datacenter operating system, Kubernetes monitors the resources used by a containerized application and deploys its elements on the underlying infrastructure to ensure that services operate correctly, managing the mapping between the requirements of the containers and the capabilities of the underlying infrastructure.