Google cloud workloads have had to use Google's customized version of Linux. Now, Google is moving to a more standard form: Debian Linux.
Google's 10 Best Gags, Pranks And Easter Eggs
(click image for larger view and for slideshow)
Google has been using its own custom version of Linux, Google Compute Engine Linux, as it loads its customers' applications into its infrastructure as a service. It announced Thursday that it's dropping that approach in favor of using the Debian Linux distribution.
Debian Linux is the output of the Debian open source code project. All Linuxes use a kernel produced by the Linux kernel development process, led by Linus Torvalds. But Linux distributors surround the kernel with features that may match other Linux distributions or may differentiate that particular distribution. For example, Ubuntu was an early cloud supporter when it included Eucalyptus modules; then it switched to OpenStack as its primary cloud offering.
Red Hat Enterprise Linux is frequently the standard Linux for corporate production systems. Debian is as close as any version comes to being an independent developer's favorite and a code base for other Linux products. It's also frequently found running Internet servers, as a free and stable operating system. Canonical's popular Ubuntu starts out with Debian as its base.
In moving to Debian, Google is demonstrating that it wants Google Compute Engine to become less Google-technology specific and more of a standard platform. Compute Engine's predecessor, App Engine, a developer's platform as a service, restricted itself to Google's favorite language, Python, at its launch. Compute Engine workloads based on Debian means the favored operating system will be supported by a community larger than Google's development team itself. The Debian Project boasts of "thousands" of contributors and strives to be the version of Linux that runs on the most types of computers.
Debian sees itself as distinct from Red Hat because it is a project of independent volunteers, who are not tied to any corporate interest. It is available in 70 languages, and supports a wide range of computer types.
Several Google developers are regular contributors to Debian and may have played a role internally in arguing for the switch. One of them, Jimmy Kaplowitz, a site reliability engineer at Google, said in a blog May 9 that Google was using the moment of Debian's 7.0 or "wheezy" release to make the switch. The 7.0 version is regarded as possessing hardened security and improved 32/64-bit compatibility.
The 7.0 version also includes a revamped file system and a "multiarch" feature that allows the libraries of different hardware architectures to install more easily. Because Debian runs on many hardware types, the Debian development team has dubbed it "the universal operating system," according to the project's website.
Google will host its own "package mirror," a server containing the latest Debian Linux code modules or "packages," for "fastest performance and to reduce bandwidth costs" as workloads are built for Compute Engine.
"Going forward, Debian will be the default image type for Compute Engine," Kaplowitz announced in the May 9 blog. He signed it as a Google engineer and "Debian developer." Compute Engine will support the use of either Debian 7.0 or the stable 6.0 version, known as "squeeze." Debian 7.0 was released earlier this week after two years of development.
The Debian Linux project was founded in 1993 by Ian Murdock. In the past, Torvalds has been a supporter of the project and raised funds for it.
To get to its universal operating systems status, Debian has had to include packages to support many different types of hardware -- 29,000 packages, or more than any other Linux distribution. Debian also includes Security Enhanced Linux packages, allowing it to operate in a more secure manner, but the user must opt to enable them.
In addition to Debian, Google also supports CentOS Linux for Compute Engine workloads. CentOS is a duplicate of Red Hat Enterprise Linux made available by a distributor independent of Red Hat.
Multicloud Infrastructure & Application ManagementEnterprise cloud adoption has evolved to the point where hybrid public/private cloud designs and use of multiple providers is common. Who among us has mastered provisioning resources in different clouds; allocating the right resources to each application; assigning applications to the "best" cloud provider based on performance or reliability requirements.