Application containers, such as Docker, seem like a no-brainer for a project like OpenStack, but that wasn't the case two years ago.
That's why OpenStack Magnum, the project to provide containers-as-a-service, took two years and multiple OpenStack Summits to get rolling. But since opening its code repository in November, Magnum has kicked into high gear attracting 42 contributors from 19 companies.
Magnum was accepted as a formal OpenStack project in March. At this week's summit in Vancouver, the project gets serious with 10 developer sessions — four held fishbowl style, open to all summitgoers — to start hammering out details.
"Not every project takes off like that," says Adrian Otto, a Rackspace distinguished architect (pictured above) and chair of the OpenStack Containers Team that's now working on Magnum. "It depends on how many people are highly motivated to take on that problem set."
Containers Within BaysContainers can already be accommodated in OpenStack. A driver called Nova-Docker allows a container to be created as an OpenStack Nova instance, for example.
Magnum isn't just about supporting containers, though. The goal is to let a data center operator call up containers by using the same credentials that call up compute instances. The crux of the project is the API for creating and managing these containers.
So, the containers (note the plural) end up running together on one Nova instance, along with an associated container management tool — Kubernetes and Docker Swarm being the first two options supported. They all run inside a Magnum-defined entity called a bay.
It's like one of those Russian dolls: Containers run inside pods, which sit inside bays, which live inside Nova instances.
It's complicated — and I heard one vendor, one not involved in the container world, suggest that it's more overhead than an enterprise would want to handle. But Magnum's target is the cloud provider, and the goal is to bring containers into the infrastructure-as-a-service world, making them as easily deployable as virtual machines.
To do that, Magnum has to overcome some of the limitations of the container management tools. They weren't designed for multitenant situations, for instance, Otto says. A cloud deployment will need tenant isolation — hence the concept of bays, which are accessible only by their creators.
From Hong Kong to VancouverMagnum seems to be off to a fast start, but it took a while to get there.
It was at the fall 2013 OpenStack Summit in Hong Kong that the question started surfacing, Otto says. But not everyone was fluent with the concepts behind containers — some people assumed they could be treated just like virtual machines; others assumed containers were a fad too small to tip the scales.
By the next Summit, in Atlanta roughly six months later, it was clear that containers were indeed worth reckoning with. It was finally in Paris, during the fall 2014 Summit, Otto pushed the issue as chair of the OpenStack containers team: Should OpenStack start supporting containers-as-a-service?
The discussion, among an audience Otto estimates at 250, ground to a halt over whether the project's code should reside in StackForge, where OpenStack's more experimental work goes. Then, one "important, influential" person from the OpenStack Nova quandrant stood up and said he didn't think containers belonged in OpenStack at all.
"I could hear the sighs in the room," Otto says.
But after that disheartening session, several engineers told Otto they'd get behind this project. They did end up placing code in StackForge starting in November, and the project built a following quickly.
That one dissenter has even come around to become a Magnum promoter. But his concern was understandable, Otto says.
"There was this fear that people working on Nova would stop working on Nova and go work on this shiny new thing," Otto says. "In fact, what happened is, an entirely new contributor base was formed by this project, and very few of them are transplants from Nova."
That base includes developers whose employers are letting them work on Magnum full time — developers from the likes of IBM, NEC, Persistent Systems, and Rackspace, Otto says. "That's why we're progressing so quickly — people have said this is strategically important to them, to get this problem solved."
The year of waiting before Magnum came to life reflects one of the drawbacks of working in an open community, but Otto and others are willing to accept the trade-off. "Sometimes you need to take some setbacks, and this was one of them," he says.