Containers provide a useful way to meet IT challenges, but they also create complications for operations teams. Container management software can help address these complications and make the move to containerization a smoother, more effective process.
"Containers such as Docker are just a way to encapsulate programs," said Dan Conde, an analyst at Enterprise Strategy Group. And, just as hypervisors eventually required virtual machine orchestration and management, it is natural that container orchestration systems such as Kubernetes arise to manage how containers are brought up or placed into different pods, Conde said.
Analysts and experts see momentum behind Kubernetes, the open source system widely used to manage containers, but organizations have options in finding a suitable container management software tool. Kubernetes gets most of the attention, but Jay Lyman, an analyst at 451 Research, said those other options "have broad vendor support and are sometimes a better fit for organizations." It depends on the case. If you are running containers at a massive scale, say with 10,000 container clusters, that is a job for Kubernetes, Lyman said.
Choices in container management software
Other options for container management tools include Docker Swarm, which is integrated with Docker container engine software and is credited, like Docker itself, with making it simpler to work with containers. Swarm provides for orchestration and management, but its suitability will depend on how heavily an organization is using containers. "It may make sense to use Swarm initially, but it won't scale up to the 10,000 container range or beyond," Lyman said.
Another possibility is Mesosphere DC/OS, which is based on Apache Mesos. "Mesosphere has a long history of integration and connection to big data like Hadoop, Spark and Kafka. So, if the focus is on big data, Mesosphere DC/OS could be a good choice," Lyman said. Likewise, the open source community supports a version of Apache Mesos called Marathon, which is focused on container management.
To his list of Kubernetes alternatives, Lyman added Rancher, a container management platform for Docker container systems from Rancher Labs, and Nomad from HashiCorp.
"Almost all of these options have open source at their core, so they are all made to be flexible and work with other software projects," he said. Developers tend to lean toward Kubernetes, but workers in IT operations roles sometimes prefer the other tools.
Edwin Yuenanalyst, Enterprise Strategy Group
"Kubernetes is the clear leader, but it isn't always the right choice," Lyman said, noting that some organizations opt to use more than one tool. "There is an effort to standardize, but, especially at large organizations, that might not be feasible," he said.
When picking a tool for orchestrating containerized services, look closely at the community behind the project, advised Mac Browning, engineering manager at DigitalOcean, a cloud infrastructure provider. If that community is active, it will push consistent updates that address bugs and add features.
"If your organization is comfortable taking on more operational overhead, I'd suggest looking for a solution that offers the ability to participate in the development as opposed to one that comes direct from a vendor," Browning said. While a turnkey choice can be tempting, he said, having the ability to tailor the tool to meet your particular needs will yield better results over time.
Know what you know
To find container management software with that just-right feel, it's a good idea to conduct some self-evaluation.
"When deciding what container management tooling or service is the best fit, it's important that organizations introspect on their own maturity, goals, staff expertise and the level of vendor-provided support that's expected," said Kiran Chitturi, CTO architect at Sungard Availability Services.
Chitturi offered five suggestions that should factor into the decision:
- A large organization with legacy operations and development practices in place might want to consider a platform as a service, such as Red Hat OpenShift or Pivotal Cloud Foundry. "This choice provides a complete solution and allows companies to use a modern platform without having to piece together several solutions," Chitturi said. This path, he added, may not be feasible for smaller organizations.
- For organizations looking to continue the use of their native development tools, and further extend them into production, Docker's packaged enterprise offering is worth exploring.
- On the other end of the spectrum, Kubernetes is probably the best choice for an organization with skilled DevOps teams. "Kubernetes orchestration is cutting edge, and many of the new services and products coming out in the industry are based on this technology," Chitturi said, though he cautioned that it is more complex than other options.
- Organizations looking to simply run containers without transitioning to an end-to-end platform should consider an open source offering or framework. Rancher, for example, has flexible components and provides a holistic view of single or multiple environments, Chitturi said. Rancher acts as an abstraction layer or platform for operating Docker in production, whether on premises or in the cloud. And it takes advantage of Kubernetes for the orchestration layer. "Rancher will require additional management to integrate into other components and is best for small to medium-sized companies," he said.
- Organizations that have fully transitioned to public cloud should consider adopting a container service from one of the dominant public cloud providers, Chitturi said.
Making it work
Regardless of your organizational maturity or the specific technology you adopt, you will need to have a team that knows how to not only build containers but also how to manage them. That may mean developing container talent in your infrastructure and operations teams. "You either need to train some people, hire some people or bring in a partner to help you," said Dave Bartoletti, lead public cloud platforms analyst at Forrester Research.
Ultimately, having a consistent management experience across all the potential container deployment platforms will be essential for management, said Edwin Yuen, an analyst at Enterprise Strategy Group.
"Businesses should consider how other additional features and services integrate with their management tools, including the emerging areas of container-specific security and backup/recovery solutions," Yuen said. "The ecosystem for container management is building, and how those tools work together will be key to determining how easy or difficult management will be as containers continue to become more mainstream."
But perhaps it is even simpler. "In the end, the two biggest things to consider are price and support," said Mike LaFleur, global head of solution architecture at Provenir, a software vendor in risk management. "In terms of price, an organization has to measure the return on investment that the container management system will provide, meaning how big must the efficiency and scalability gains be in order to cost-justify the expense," LaFleur said.