What container management software features are important?
Because containers are easy to spin up, the infrastructure can quickly get out of hand. A tool that simplifies container management can help, if it provides certain capabilities.
There are several options for container management software on the market. When reviewing different platforms, consider what you're looking for in terms of features and functionality, starting with the basics: container creation, virtual network and application management, and role-based access control.
If you spend a lot of time working with VMs, then you know that a GUI-based management tool is usually used to create and manage VMs. In the world of Hyper-V, you might use Hyper-V Manager or System Center Virtual Machine Manager. Similarly, VMware provides a web-based management console.
Things work differently in the world of containers. Native container management is command-line-based. For example, in Windows, you use the New-Container PowerShell cmdlet to create containers. While most VM platforms enable you to create and manage VMs from the command line, using the command line might be the only native option for working with containers.
This is where container management software comes into play. There is a huge variety of platforms available, and most of these tools seek to make container management easier and more palatable by acting as a GUI front end.
It's easy to dismiss container management software as being little more than a simple interface for the container environment, but there is more to it than that. A good platform pulls together all of the resources that are available for use in the container environment and makes those resources more easily accessible.
To put this concept into a more relatable context, consider your favorite server virtualization management tool, whatever that might be. Most server virtualization tools include an interface for creating, starting and stopping, and cloning VMs.
Beyond this, server virtualization tools usually include features for creating and managing virtual networks, templates for creating new VMs, a library of application binaries and perhaps a role-based access control mechanism that you can use to define administrative permissions. These same types of functions -- as well as many others -- also exist in container management software.
The most basic function of container management software is creating containers, as well as the ability to perform auxiliary functions, such as starting, stopping or deleting those containers. You can see an example of this, shown in Figure A below.
As you look at the figure, you can quickly begin to appreciate just how much such a tool simplifies the container management process. Rather than having to create containers through the use of obscure commands, you can create them using a technique that's very similar to VM creation.
Virtual network management
For those who are new to containers, networking can be one of the most difficult skills to master. Containers are designed to act as self-contained, sandboxed environments. Therefore, if two containers need to communicate with one another, then you must establish a network path between the containers.
Just as a VM management tool enables you to create virtual networks that service VMs, container management software should greatly simplify container networking. As you can see in Figure B below, this tool enables you to create a new network with the click of a button.
In a virtual server environment, you might use application templates as a tool for deploying virtualized application servers. Containers also use application templates. The difference is, with VMs, you usually have to build your own application templates; many container application templates are readily available for download. Good container management software should make it easy to assemble a collection of the application templates that you use. You can see an example of this in Figure C below.
Role-based access control
Role-based access control is a common feature in server virtualization platforms. It enables you to grant limited permissions to other users. The same types of capabilities are important in a containerized environment. After all, not everyone needs to be a global administrator.
Container management software handles permissions differently depending on which tool you are using. If you look at Figure D below, you can see that this tool enables you to create users, decide whether or not you want to make those users administrators and add those users to the teams -- think groups -- you create.
There is a wide variety of container management software available for use, with each platform having its own unique feature set. Try out a few different tools to see which one meets your needs before making any purchasing decisions.