Why Cloud Computing Is a Better Bet to Save the Planet Than Electric Cars


Many will tell you that we can save the planet by switching from gas-guzzling automobiles to electric cars. But Zack Rosen says there’s a better way. He’ll tell you the impact would be far greater if we just switched from virtual machines to Linux containers.


Virtual machines are those things that let anyone run software on the massive cloud computing services offered up by Amazon, Google, and so many others. Rather than setting up its own computer servers, a startup like Netflix or Pinterest or Snapchat can build almost its entire operation atop virtual servers running in the cloud. But Rosen believes we can seriously reduce the world’s energy consumption if we swap these virtual machines for containers, a suddenly red-hot computing technology that can, among things, run large software applications in significantly more efficient ways.


Automobiles account for about six percent of world’s energy consumption, Rosen estimates, while computing covers about 10 percent. Since so much of our software is now moving to cloud services and other operations that use virtual machines, he reasons, we have a better chance of saving the planet if just embrace containers. “They’re an order of magnitude more efficient,” says Rosen, whose company, website-hosting outfit Pantheon, has run its operation on containers for years. “I think you can say–with an absolute straight face–that the containerization of software applications in the age of the cloud will save more CO2 emissions than electric cars.”


I think you can say–with an absolute straight face–that the containerization of software applications in the age of the cloud will save more CO2 emissions than electric cars.


That may seem like an extreme stance. But, as many others will tell you, it makes pretty good sense. In fact, Google believes containers can streamline the world’s online services in enormous ways, and it has already embraced containers on its cloud services–though it uses a hybrid model where containers exist alongside virtual machines. “Containers just let you get more out of your infrastructure–whether that infrastructure is a bare metal server or a hyper-visor-encapsulated virtual machine,” says Craig Mcluckie, a product manager who oversees Google’s cloud services. “They let you get more out of your basic resources.”


The potential gains aren’t hard to see. Rosen and his chief technology officer, David Strauss say that, thanks to containers,

Pantheon is able to run its servers at about 90 percent efficiency. And Google, which has use containers to run its own online empire for more than a decade, indicates that it achieves efficiencies that are even higher. Meanwhile, on a cloud service like Amazon EC2, the net’s most popular, most companies probably run their virtual machines at about 10 percent efficiency. “TK,” says TK. “TK.”


There are still many wrinkles that need ironing put, but containers are very much the future of cloud computing. In recent months, a startup called Docker has made the technology far easier to use, bringing it to the attention of the software builders across Silicon Valley. And with Google now behind it, it’s poised to break into the mainstream.


Inside the Container


What is a container? Basically, it’s a way of encapsulating software–wrapping it in a neat package so that it’s isolated from other software running on a computer operating system. If you use a container format that used across many operating systems, this means you can easily move software applications from machine to machine–something that’s vitally important in the cloud computing world, where software runs runs across hundreds and even thousands of machines. This is what Docker is trying to facilitate.


But containers also provide what is called “resource isolation.” What this means is that you can carefully control how much of a machine’s processing and memory resources are allocated to a particular container. And if you can do that, you can more efficiently squeeze many applications onto the same machine. “It’s kind of like slicing a cake,” says Davis Strauss. “You can give each person a slice of cake. Some people can get a proportionally smaller piece and some people get a proportionally larger piece. But everybody gets cake.”


Google has done this for years with its own massive online operation. It pretty much invented this kind of resource isolation on the Linux operating system, creating a container tool called “cgroups.” But now, Docker has shaped these containers so that companies and developers more easily move them from machine to machine, and Google has embraced Docker on its cloud services, which could significant expand the use of the technology.


You can arrange for LIFX lightbulbs to flash red when the Nest fire alarms detect elevated smoke or carbon dioxide levels.


Today, Google’s cloud service run these containers atop virtual machines. According to Eric Brewer–a kind of uber engineer inside Google–virtual machines are still needed to ensure that cloud services can run software from many different third-party operations without letting data leak between them. Containers also provide security against data leaks, but for Brewer and others, they don’t yet provide the level of security you get with virtual machines, which is a much more mature and widely used technology. “TK,” says Alex Polvi the founder of CoreOS, a startup that offers a new version of the Linux operating system specifically designed to run containers.


But Rosen and Strauss argue that the needed security is already there, and they believe that the Googles and the Amazons will eventually offer cloud services that run software entirely with containers–without virtual machines. Google says that even hen used with virtual machines, containers can significant improve the efficiency of online applications. But if cut virtual machines out of the equation entirely, we can save even more computing power. Virtual machines load the system down with overhead that may not be needed.


This is the argument you hear from Rosen and Strauss. Although Google agrees–at least in part–we’re still a long a way from the completely containerized cloud. But we’re certainly moving in that direction. Just last week, Rackspace–another big name in the cloud computing game–introduced a cloud service that does way with virtual machines. The wrinkle is that on each machine, it only runs software from a single customer. It can’t achieve the efficiency you would get by carefully packing everyone’s software containers into one enormous cloud service.



No comments:

Post a Comment