By now, you've probably heard of Docker containers. But what about the rest of the container ecosystem? Which other companies are involved in containers and microservices, and what types of partnership opportunities exist surrounding containers? Keep reading for insight.
If you're confused by containers, you're not alone. The term itself is a pretty loose one, and the container ecosystem is complex. Docker (which is both a company and an open source container project) has made the most headlines regarding containers. But it's by no means the only name in the container space.
So, to clear up all the confusion, here are some answers to the questions you've been dying to ask about containers...
What are Containers?
Simply put, containers are a method for running software inside isolated environments.
But that method can be implemented in different ways and for different purposes. In general, most of the talk about containers today involves running individual apps inside of them. Containerized apps offer more portability and easier deployability.
However, you can also run entire operating systems inside a container. Canonical's LXD platform supports this, for example. So does Solaris, the Unix-like OS now owned by Oracle.
Which Container Platforms Are Available?
Again, there are a number of container platforms available. Here are the main ones:
- Docker, the most popular container platform at the moment.
- CoreOS, which has a container runtime called Rocket, or rkt.
- LXC, which forms the basis for LXD. LXC used to be the basis of Docker containers, too, but Docker now uses a homegrown runtime.
These are only the major container platforms available for production use now. The list would be much longer if we included every type of container technology out there, from FreeBSD jails to Unikernels.
What is Container Orchestration?
Containers themselves only run a piece of software. To use containers effectively in real-world environments, you need an orchestration tool.
Orchestration tools automate most of the tasks involved in spinning containers up and managing them once they're running. If you have thousands of containerized apps running in your cloud, you can't feasibly manage them without taking advantage of automation tools.
Which Container Orchestration Tools Exist?
The complete list of container orchestration tools, like the list of container platforms, is pretty long. But currently, there are three big ones:
- Docker Swarm, Docker's homegrown orchestration tool.
- Kubernetes, a cluster management tool originally developed by Google.
- Mesosphere, a cluster orchestration tool that was not developed specifically for containers, but which works well enough on containerized infrastructure.
Do You Have to Use a Certain Orchestration Tool with a Certain Container Platform?
No. All of the major container orchestrators support all of the major container platforms.
But things got more complex recently with Docker's announcement that Docker Swarm is now baked in to Docker itself. You can still use Kubernetes, Mesosphere or another orchestrator with Docker. But with Swarm built in, it's the default choice for Docker.
CoreOS and LXD don't yet come with built-in orchestration systems.
Where are the Container Partnership Opportunities?
This answer could be its own article, but here are a few tips to keep in mind when thinking about containers and the channel:
- Traditionally, container orchestration and deployment add-ons have been a key feature for companies that partner with Docker or CoreOS, such as Rancher. (So far there haven't been any big LXD partnerships.)
- However, Docker's decision to build orchestration into Docker itself will probably undercut the appeal of the sorts of partnerships mentioned above for organizations that use Docker.
- That said, the CoreOS ecosystem is still ripe for resellers who can add user-friendliness or managed services around the CoreOS platform.
- Visualization is an area where all the big container platforms could use some partner love. Docker, CoreOS and LXD were designed by developers for developers, and that's obvious from their complex, command-line-centric interfaces. For that reason, better management and data visualization interfaces from resellers would probably appeal to the container market as it expands beyond developers.
- Despite advances in the areas of container networking and persistent data storage, these are still complicated tasks for containerized infrastructure. That means opportunity for partners who can simplify them. Bonus points if you can do it without requiring tedious command-line administration, which is still required for most Docker and CoreOS networking and storage.