Virtual machines dominate the datacenter and are the basis for a ton of heavy lifting in compute. But there’s growing interest among demanding technology companies in containers, a form of operating system-level virtualization.
“Virtual machines have had their decade,” says David Strauss, the CTO of Pantheon, a San Francisco-based Drupal development platform provider and Rackspace customer. His company is seeing rapid uptake in its service thanks in large measure to the work he’s done with containers.
Pantheon wanted to offer something completely new: a freely available platform for building, launching and running Drupal websites. They didn’t want a ticking-clock free trial, or an advertising-supported hosting service — but rather something that could be completely free while still demonstrating the full value. The aim was to capture the hearts and minds of developers without breaking Pantheon’s bank.
Traditionally, a service provider might spin up a cloud instance to support each new signup. When customers upgraded, they’d get a bigger instance or space on a dedicated machine. But there are inherent limitations with this model. “If you set up a VM for each customer, it almost has to be on a free trial with a much higher upgrade price,” Strauss says.
Strauss tried virtual machines but couldn’t get them to work at the speed, scale or cost he needed. Then he hit on the concept of containers. Virtual machines share hardware and run multiple operating systems, while containers share both hardware and a single operating system. That dramatically lowers the processing power and memory required to stand up an application and keep it running. For Pantheon, that means operating more distinct Drupal installs with less spend on compute.
Pantheon runs thousands of containers on each machine. Most of those containers remain dormant until a user needs them, so instead of popping up a new cloud instance each time a user wanted to try out its service, Pantheon simply activates a dormant containerized version of its offering. Containers give the company a lightweight way of provisioning new users.
It’s fast too. “As soon as requests come in, we can bring up the whole Drupal stack in a second or two,” says Strauss. That’s down from the minutes it would take to provision a new user with a full virtual machine. “Containers start much faster because we’re not booting an OS. The only thing running in a container for a Pantheon customer is just their application.”
That gives the company a lot of flexibility, especially when it needs to scale to accommodate either new customers or customers that want more. “By using containers for our isolation needs, we could provide those tiny containers for our freemium customers but one single big container for our big customers,” says Strauss. It’s the same setup and requires no additional configuration for scaling.
Pantheon uses containers to deliver an always-free version of its Drupal platform while maintaining competitive pricing for its high-end mission-critical hosting packages. Containers help the business maintain an edge, but Strauss is quick to point out that they’re not for everyone. “VMs are great for maintaining brownfield development and a lot of software is designed around a base OS and it’s expecting to have most of the resources allocated from the machines,” he says. “Containers are not a panacea. If you get to the point where you can figure it out, there are interesting gains to be made.”