Google Breaks New Ground By Making Container Engine Generally Available
Nathaniel Payne, PhD (裴内森)
CEO @ CLD | CTO & Managing Partner @ Dygital9 | Managing Partner @ NOQii & Contivos | Associate Partner @ Btriples | Global Connector | Entrepreneur | PhD (AI)
Over the last year at Cardinal Path, I’ve spent a lot of time working closely with Google Compute Engine (as well as a variety of other "infrastructure" products that Google provides). For those of you not familiar with this service, Google Compute Engine allows developers to "create and run virtual machines on Google infrastructure", leveraging scale, performance, and value. At Cardinal Path, we use Compute Engine to host individual databases as well as clusters of databases, and have active builds ongoing using Ubuntu, Debian, Windows and other standard images. Importantly, while we operate both Amazon Web Services & Google Compute Engine (GCE) stacks, we have enjoyed using GCE for a number of reasons, including the fact that GCE has a robust load balancing service. We have also enjoyed the fact that we are able to access our GCE virtual machine instances through the Google Developers Console, RESTful API, as well as through a simple command-line tool.
While we will continue to expand our use of this service and push the limits of how we use it through the 2015 / 2016 year, one launch that caught my eye this past week relates to the general release of Google Container Engine (or GKE). GKE was just made generally available by Google on August 26, 2015. In the past decade, we have seen tremendous evolution in the manner in which clusters of machines or applications are set up and deployed. Containers represent the next step in this journey. In contrast to VM's, containers run as lightweight processes within a host operating system. The picture on the left shows the traditional model that exists, with the VM's dependent on the hypervisor. In contrast, the picture on the right (attributed to Docker), shows how the use of a container flips this current model on its head:
While Docker started the push in 2014, over the last year, many large platform companies have jumped onto this container revolution, including Google, IBM, Microsoft, Red Hat and VMware.
Since you or your development team likely haven't yet used GKE yet (or potentially many of the other products that Google's recently released including Dataflow, Pub/Sub, Nearline, and Kubernetes), the first question that likely comes to mind is why? Why use Container Engine and what advantages does it provide? Firstly, from an application design and management perspective, I will argue that a service like Container Engine addresses the challenge that many companies around the world face - the need to manage an increasing number of applications while also needing to maintain infrastructure flexibility. Using GKE, a developer can create a managed cluster that’s ready for container deployment in only a few seconds. This is important as it allows operations teams to significantly reduce application and cluster set-up time. And, of course, if you need to change your application, GKE enables you to easily re-size your cluster with more CPU. This gives enterprise managers quick access to scale whenever it is needed!
The other big benefit that deserves to be called out is flexibility. At Cardinal Path, we have clients across the Enterprise spectrum who utilize mixed onsite and cloud solutions within their infrastructure. These set-ups increase the complexity required for the management, migration, and analysis of the data across their enterprises. This is precisely the place where Kubernetes comes in. Kubernetes is an open source orchestration system that was created and open sourced by Google. Kubernetes makes it easy for a company’s containers to work together as a single system. Together, Container Engine and Kubernetes provide technology managers and development operations teams with the flexibility to use on-premises, hybrid, or public cloud infrastructure together. Importantly, over the last year we have seen companies like Red Hat, Microsoft, IBM, and VMWare all publicly support the adoption of Kubernetes. This significantly reduces any integration risks that one might encounter, and is important from an enterprise management perspective!
While there is much more to say (I will likely do a follow up post just on Kubernetes), I am truly excited that Google Container Engine has been pushed into general availability. Every day, Google uses GKE to launch more than 2 billion container instances across their global data centers. As the lead of our Data Science & Engineering team at Cardinal Path, I salivate about what access to this kind of potential could mean for our internal projects, particularly as we work to architect and build new internal applications at Cardinal Path. More importantly, I am most excited about what this release, and the other similar releases noted above, means for our clients and partners. Without a doubt, this release, as well as the continued growth of the Kubernetes community, has the potential to significantly impact how our clients architect, build and manage infrastructure that collectively serves millions of consumers around the world.