It’s difficult to right-size the excitement about containers, the old/new technology of the moment.
We can offer the skinny on OpenStack’s Magnum project from Adrian Otto, Rackspace distinguished architect, at the recent Summit Tokyo. Otto runs through what problems OpenStack’s containers-as-a-service project can really solve for you and when to give know-it-alls a kick in the pants.
Supersizing the project
Otto, who is also the PTL, has been talking about Magnum for several Summits. His favorite slide? The one he has to update the most.
“It shows that we are reviewing code, and we’re making that code better before it gets upstream but we’re not making tons of revisions to this code,” he said. We’re doing a few revisions to make it better and then that code is getting in…there’s some velocity here.”
Magnum’s changing vision
Magnum used to be all about containers as a first-class resource in OpenStack, he said. That’s about as passé as dial-up these days, because “we’ve already achieved this.”
Now, “Magnum is all about is combining the best of infrastructure software with the best of container software..I want everyone to recognize that container software does not solve our problems,” he added.
Kick ‘em in the pants
There’s a lot of confusion about what containers are, Otto said. If someone asserts that containers just like virtual machines but smaller and faster, there’s only one thing to do.
“Please kick someone in the nuts if they say that because they’re not,” he said. “Containers are about things that are related to processes that run on hosts. Killing them, starting them, setting their environment variables, binding file system volumes, attaching terminals to them and running processes within them.” Cramming all of those capabilities into Nova, OpenStack’s compute project, would be a terrible fit, he said, so it was decided to create a new project with its own API.
What Magnum can solve
Most of the problems that crop up when you try to run applications on containers are still infrastructure problems, he said. These are problems like: “How do I connect my networks?” “What do I do with my storage?” “Where does my addressing come from?” “How are these things related?” “How do I orchestrate these? How do I scale them?”
Container software helps at the app layer and it helps with packaging and distribution — but it doesn’t solve everything in the infrastructure. “Magnum is trying to take and vertically integrate solutions that solve an entire range of problems,” he added.
Otto ran through the basics. First you have OpenStack — compute, networking and storage.
Magnum is an additional service that allows you to create a new entity, a new cloud resource called a Bay. A Bay is where your container orchestration engine (COE) lies. You can run Docker Swam, Kubernetes and, with the Liberty release, Apache Mesos.
Bays were designed provide users with the native tool experience — using the Docker CLI or the Cube CTL command against the cluster as you see fit.
“You should be able to enjoy the new features that surface in these various COEs as they’re made,” Otto said adding, “not have to wait for the Magnum team to build leaky obstructions on top of all that stuff in order to surface that to you.” Instead, you rely on Magnum to create the bay and scale that infrastructure from a capacity perspective, then you interact and create containers and manage containers and stock containers all using your native tools, he said.
Magnum does also provide a feature to create a container — more about this from his talk in Vancouver. It allows you to create a port in Kubernetes, it has this capability as well but you also have the option to run this as a native experience. Depending on what bay you choose, he said, you’ll get a different native API experience.
Nodes are essentially Nova instances. A Bay is simply a grouping of Nova instances, so all of the bays in Magnum today have at least these three abstractions.
A pod is a grouping of containers that run together on the same host. A service is a way of connecting a network port to a container and a bay is a grouping of Nova instances. Nodes are one-to-one related to Nova instances.
Otto talked about his favorite new features in Magnum: Mesos Bay Type, Security Bays (TLS), External Load Balance Support and Multi-master from Kubernetes.
The Future? Uncontainable excitement
“What I’m most proud of is that collaboration is now between 101 engineers who come from 28 different affiliations,” Otto said. “I think this is a testament to the excitement that we all feel about where this new technology might take us.”
How to get involved
Use Ask OpenStack for general questions
For roadmap or development issues, subscribe to the OpenStack development mailing list, and use the tag [magnum]
Weekly meetings held on Tuesdays at 16:00 UTC.