Those who build and migrate applications using containers, such as Docker, quickly realize the need for container management tools. These tools help users manage container operations and scale, as well as monitor container performance and security.
And while managing containers can require a lot of work, one of the first steps is to choose a management tool. There are two types of management tools for container-enabled applications: container cluster managers and container operations managers.
Container cluster managers
Container cluster managers, such as Docker Swarm, CoreOS Tectonic and Google Kubernetes, form a shared computing environment made up of servers, or nodes, where resources are combined to support workloads and processes running within the cluster. Users combine processes within the cluster to create a task, and then order those tasks to meet a specific business or IT need. This also involves combining tasks to create a job.
To pull this off, users need to manage the cluster, or clusters, using a cluster management framework, which typically includes a resource manager to track resources such as memory, CPU and storage. When an executing task needs a resource, it must go through the resource manager to obtain those resources. Users also have access to resources, which means they can manage the cluster's performance, response time and other components. This allows the cluster to scale, either virtually or physically.
Other components of a container cluster manager include a task manager, which is responsible for task execution and state management. Cluster managers also contain schedulers to manage dependencies between the tasks that make up jobs, and to assign tasks to nodes. The scheduler is a core component of the cluster manager; without it, the manager would not be able to start or stop jobs and tasks.
Container operations managers
For IT pros managing containers, tools known as operations managers perform tasks such as starting and stopping container-based applications, monitoring, managing resources, logging and taking automated action based on predefined policies.
Tutum, which Docker acquired in October, is a container management tool that has built-in logging capabilities, allowing users to access their containers' output logs and aggregate them for easy viewing. Tutum also provides monitoring capabilities to help users check on container status, an updater to make sure they have the latest versions of Tutum and Docker features, an API and a dashboard.
Best practices for managing containers
Besides picking the right tools, here are some general tips for managing containers:
Understand your core container usage patterns. Some container-based applications are complex and require a good deal of monitoring and management. Others are simpler, and may not need to be scaled or monitored. Container management tools can be costly to run and maintain, so only implement them when you need them; the number and type of containers you have will drive your requirements.
Don't get too focused on the tools. Many organizations managing containers focus too much on the available tools, and not the capabilities they really need. Chances are, you'll have a mix of container management tools that will change over time.
Practice continuous correction. Always keep an eye on your containers, management tools and processes. Continuously ask how you can do things better, or more efficiently use the technology. Correct or update processes and tools as needed.
Five drawbacks of deploying container technology
The top Docker tips of 2015
Exploring the relationship between containers and cloud
Are containers right for my IT environment?
Container tools encroach on config management turf