Now enterprise administrators can catch a bit of the magic that Google seemingly uses to smoothly run large Web-scale applications. The company has released a production-ready version its Kubernetes software that manages virtual containers.
Kubernetes could be a cornerstone in an emerging approach to systems design, called micro-services, in which applications are broken into multiple components and packaged in virtual containers so they can be easily moved around or duplicated to handle heavy workloads.
For Google, the container-based approach "has fundamentally changed our game in terms of efficiencies, stability of applications, and the amount of overhead it takes to accomplish a specific outcome," said Craig McLuckie, Google product manager. "Our goal is to bring this to enterprises everywhere and give them the same basic experience."
The company has also donated the Kubernetes project to the newly formed Cloud Native Computing Foundation, an industry consortium for standardizing software components used to build cloud applications.
Google released Kubernetes as an open-source project in 2014 and has gotten input from over 400 contributors.
The software is designed to manage large numbers of containers, an emerging form of virtualization pioneered by Docker. Large online companies such as Google use containers as a way to build applications that can be easily scaled, duplicated and upgraded.
"The systems [Kubernetes] produces are far more robust and intrinsically stable because you have smart things that are watching them and making sure they stay healthy," McLuckie said.
This release is the first edition ready for production environments, providing all the capabilities for running containerized applications in the cloud.
Users can manager containers in blocks, or pods, and move them across different servers and duplicate them across additional servers.
Kubernetes handles tasks such as Domain Name Service (DNS) resolution, load balancing, performance monitoring and the management of credentials.
The software can work with a variety of local and cloud storage systems, including Network File System (NFS)-based storage arrays and cloud storage services offered by Google and Amazon Web Services.
Even before the 1.0 release, a number of companies outside of Google have started using, or are considering using, Kubernetes in daily operations, including the Box online storage service, consumer electronics giant Samsung, and online services Shippable and Zulily.
A number of companies have also jumped in to offer commercial packages that further groom or customize Kubernetes for enterprise use.
CoreOS, a company that specializes in software for supporting containers, has released a preview of Tectonic, a distribution of Kubernetes that offers easy installation and a support package.
"The models we've seen from Google seem to be 100 percent applicable to enterprises large and small. Just now the tools are available for any company, not just companies that can invest in developing it all themselves," said Alex Polvi, CEO of CoreOS.
Also, Hitachi Data Systems will install Kubernetes in its Unified Compute Platform line of computer systems. Platform services provider CloudBees has released a set of plug-ins for running the open source Jenkins continuous integration software on top of Kubernetes.
Kubernetes allows the enterprise to "treat a pool of servers as one cohesive set of resources used to deploy your applications. So you can just boot more servers to get more capacity. If your application crashes, the system can detect that and bring it back up," Polvi said.