Docker Container Orchestration: What You Need to Know

A guide to open source container orchestration platforms, including Kubernetes, Swarm, Apache Mesos and others

Christopher Tozzi, Technology Analyst

March 16, 2016

3 Min Read
shipping containers
Matt Cardy/Getty Images

Talkin Cloud logo

Talkin-Cloud-logo

Kubernetes. Mesos. Marathon. Centurion. If you're a newcomer to Docker containers, these names probably sound like terms from a classical history book. But they're actually container orchestration platforms. And they're only a few of them. Confused? Here's what you need to know about container orchestration.

To understand container orchestration, you first need to understand containers, of course. Today, when people talk about containers, they're referring to virtualized apps that use the LXC layer in the Linux kernel to abstract code from the underlying system.

On their own, containers only let you run individual apps. That doesn't make them very useful. If you just want to run a few apps you can do it more easily without containers.

But if you have a large number of apps to run -- as you likely do if you have migrated to the cloud -- containers come in handy. They make it easy to turn apps on and off to meet fluctuating demand. They also let you move apps seamlessly between different servers.

Unless you're super-human, though, you can't move container apps around very efficiently on your own. You need a management platform that will automatically spin containers up, suspend them or shut them down when needed -- and, ideally, also control how they access resources like the network and data storage.

That's where orchestration platforms come in. They provide this piece of the container puzzle.

Decisions, Decisions

The container ecosystem is basically open source. Open source programmers like choice. So it's no surprise that there are now dozens of orchestration platforms that can handle containers.

Discussing all of them here would make for a very long read. So we'll outline just the top orchestration platforms:

  • Kubernetes: Descended from a platform (Borg) that Google developed to manage its infrastructure, Kubernetes is well suited for very large cloud environments. It's complex and sophisticated, which is great if you have a large datacenter -- but overkill if you only need to manage a few hundred containers.

  • Swarm: This is Docker's home-grown orchestration platform. Docker claims it's faster than the competition, but results will probably vary depending on how big your environment actually is. If you build your container infrastructure using other Docker components, though, it probably makes sense to use Swarm, too.

  • Mesos: Hosted by Apache, Mesos is designed for general datacenter management, not just containers. But it supports them, too. It's an obvious orchestration choice if you are building a cloud that hosts not just containerized apps but also other virtual or bare-metal servers.

  • Kontena: A new, up-and-coming (so we believe) orchestration tool that promises to "maximize developer happiness." It's designed for ease-of-use, making it a good option for admins new to the container game.

Again, we could go on. But we think these are the essentials. If your favorite container orchestration tool is not listed here, feel free to let us know why you think it should be.

This first ran at http://talkincloud.com/cloud-computing/docker-container-orchestration-what-you-need-know

About the Author

Christopher Tozzi

Technology Analyst, Fixate.IO

Christopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.

Subscribe to the Data Center Knowledge Newsletter
Get analysis and expert insight on the latest in data center business and technology delivered to your inbox daily.

You May Also Like