Although containers have been used by companies like Google since 2006, their broad use began in 2013 after the introduction of Docker. Since then, multiple flavors of container technology and associated container management software have popped up in the past six Years.
These technologies have the benefit of making the process of development and deployment easier by making it possible to scale quickly and efficiently. This is useful as we begin to think in terms of DevOps when it comes to the deployment of patches and bug fixes, as well as the introduction of new software and features.
Containers make this process easier because it allows you to package all the libraries and processes into neat little containers. These isolated processes are able to run more efficiently because they already include all the necessary components to flow in the containers. This allows you to run multiple containers on one OS without each process seeing the other. What this does is make using the processing power and memory of the OS more efficient.
Over time, this allows us to scale down the number of VMs running an OS and scale up the number of containers running within the OS. Processing power in this instance no longer has to be used just for running an OS within a VM.
Here we will take a high level look at the most popular solutions in the market. These solutions are all vying for the top spot as the most popular container management solution.
The field, at this time, is made up of orchestrators and schedulers. Most management solutions perform similarly but they each serve a different purpose. Imagine trying to use the same technologies to manage your fully-cloud-implemented VMs versus having data centers across the US running your own hosts that you’re maintaining. These types of environments are different and over time divergence between orchestrators and schedulers should become more Apparent.
As technology progresses there may eventually be as many container management solutions as there are programming languages. Even without a clear winner, particular solutions will be more popular for varying reasons. Some IT teams enjoy the complexity of a solution because that complexity can offer flexibility in development and deployment. Some IT teams will sacrifice that flexibility for speed and usability. Still others will seek out stability and scalability. The reasons are as endless and as malleable as the solutions that IT professionals have to solve today.
The use of containers is growing and as the technology and implementation of the technology matures so too will the increase in effective and cost saving use cases. Keep this in mind as we discuss some of the most popular solutions for container management.
Kubernetes was open sourced by Google in 2014, based off its Borg technology used since the early 2000s. Because of this, Kubernetes is one of the oldest and newest container management solutions on the scene. Even though Google kept this tool to themselves for an extended period of time, its 2014 open source release gave it strong, long legs, allowing it to mature quickly while presenting itself as one of the top solutions in the field. Kubernetes is an orchestrator that uses Pods to lump groups of containers together that share resources. If a host or Pod has issues, Kubernetes can restart the containers or shift the pods around so that it can have the resources necessary to run efficiently. It moves these pods across nodes known as workers. By doing so, you could have a bare metal machine and load an OS on that machine, or multiple VMs. Within the OS of either solution, you would deploy a kublete that is responsible for the run state of the worker.
Docker is software that creates the containers similar to Kubernetes as well as a container management tool with Docker Swarm. Swarm is popular since it is a native solution within Docker itself for managing the containers. It does so by using the docker daemon in a cluster to turn a group of Docker engines into a single docker engine using the Docker API. This popular solution allows for vertical integration of processes from top to bottom. This type of integration may outweigh the benefits of going with an additional service to handle the container maintenance.
However, if you’re looking for automation within a tool that can handle resource management, thus freeing up your DevOps team to work on developing solutions for the customer, using Kubernetes may be a better solution. While Docker’s tools allow for control finer manual controls at the expense of some automation, when looking at the full integration, Kubernetes is the more popular option in that realm.
Apache Mesos is another open source tool used to manage containers. This tool beat Kubernetes as an open source solution for container management but has lost ground in some circles since then. Despite this, it remains a popular tool based on its longevity in the marketplace accompanied by its available documentation. Apache Mesos has also proven its usefulness by scaling up to tens of thousands of nodes while making upgrading easy and non-Disruptive.
Apache works with both Docker and AppC while having APIs that allow for the development of distributed applications. This container manager’s software allows for the custom isolation of CPU, memory, ports, disk and other resources. This allows for more flexibility when managing your containers and determining what resources can be shared amongst them.
Apache Mesos accomplishes this by allowing its master daemon to manage the agent daemons. Each agent daemon that sits on a cluster node runs a task. This gives the technology the ability to give granular control over the resources being used by creating resource offers amongst the agents. Apache uses a scheduler and an executor within its framework to allow for this process.
Container Management: Solutions for You
At this time in the market, many container management tools are built around Docker as the container or image and Kubernetes and Apache Mesos as the orchestrators. Because these tools are open source, development in this area integrates different flavors of the solutions into production similar to the way Linux has multiple kernels that exist.
Companies like IBM, Google, Microsoft, and Cisco are working with these open source platforms to grow this segment. By doing so, this technology will mature faster while becoming easier and more readily available to use.
BMC’s container management services help businesses be successful by providing intuitive mobile and social capabilities, allowing consumers to quickly solve routine technical problems, eliminate frustrating forms, and crowdsource proven solutions.
Container management is one of the most important IT topics in today’s marketplace. BMC expert consultants are available to work with you to bring their knowledge and expertise to your organization regarding container management and the best fit for your organization. BMC provides custom-tailored Implementation Services for your company to tackle the unique challenges you face. When partnering with BMC, you get:
- Faster service delivery: Agile releases that keep up with rapid demand
- Visibility across data: Ensure compliance and data accuracy
- Cost-effective service: Increased productivity and performance
- Experienced ITAM professionals: Equip you with the tools you need for success
- Conversion or upgrade: Seamless modernization or total replacement
- All tailored for the specific needs of your organization
Download or view the Solution Implementation Overview online to learn more about how BMC Consulting Services can help you. Contact BMC to learn more about incorporating containers into your organization.
These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.
See an error or have a suggestion? Please let us know by emailing firstname.lastname@example.org.