Google’s Container Engine, the system through which developers can easily create and manage clusters of software containers, is now generally available. Software containers are isolated environments where individual applications can run separate from any other applications, allowing for more granular resource management and increased security, among other things. A web application might have separate containers for the webserver, cache, and database, for example.
“While containers make packaging apps easier, a powerful cluster manager and orchestration system is necessary to bring your workloads to production,” Google said in its blog post about the announcement. “Container Engine makes it easy for you to set up a container cluster and manage your application, without sacrificing infrastructure flexibility.”
There are two open-source technologies underlying Container Engine’s ease of use and flexibility: Docker for automating the deployment of applications inside software containers, and the Google-built Kubernetes for making these siloed applications work together in unison even when hosted across multiple cloud hosts. Companies can move all their infrastructure needs to Container Engine or just move some and find cost savings if, for example, Google’s solution is cheaper. Whatever the need, another reason you might move some processes over to Container Engine is that it’s fully managed by Google reliability engineers, and comes with a 99.5% uptime guarantee.
Beyond management of clusters, Container Engine also equips them with logging and container health checking tools, and makes it incredibly easy to scale CPU and memory up or down as an applications’ needs change. Define your containers’ needs, such as the amount of CPU/memory each requires, number of replicas, and keepalive policy, and Container Engine will actively ensure requirements are met. This goes back to the mention of granular resource management: siloing applications with Kubernetes into separate, virtual environments allows one to easily limit the resources any one environment gets access to, preventing an app gone haywire from hogging too much of the total available memory, for example.
Google has been able to draw from real-world experience in building Container Engine, as the company says that it packages all of its own web applications — like Gmail and Search — into containers, deploying more than 2 billion instances of them each week.