The first article of this series attempted to illuminate the concepts surrounding Containers Virtualization. That article looked at a high‐level view of how Containers Virtualization elevates the "layer of abstraction" between physical and virtual assets. Changing the layer of abstraction results in a much different and much smaller composition of virtual workloads, enabling containers to be made up of the combination of the template on the host along with any individual "deltas."
This elevation to the layer also brings about changes in which Containers Virtualization's management toolsets interface with Linux workloads. Although Linux workloads often enjoy the same level of management toolset support as those running the Windows operating system (OS), the cautious IT organization should look carefully at the features available to both. Virtualized Linux workloads often enjoy the same level of management flexibility in terms of virtual machine actions, but some solutions do not maintain parity for other tasks such as backups and restore.
With this in mind, this article looks at the various toolsets that work with Containers Virtualization. You will find that due to its architecture, Containers Virtualization's management toolset enjoys some very compelling capabilities not always available through other architectures. These additional capabilities—focused heavily on workload management and configuration—are possible due to Containers Virtualization's heavy focus on core OS management.
Traditional Hardware Virtualization solutions provide a platform upon which to rest virtual workloads of any OS. Typical virtual machine actions such as power on, power off, snapshot, and migrate are commonly available through management GUI or programmatic interfaces. These solutions are akin to providing a virtual "chassis" into which an administrator can later install an OS and needed applications.
Yet the actions that can typically be performed on this "chassis" with traditional virtualization solutions are often limited to those functions you would normally perform with a piece of physical server hardware. Due to its architecture, the management of Hardware Virtualization platforms tends to stop there. Enacting change to the internal configuration of any virtual machine is generally not an activity that can be accomplished through the management tools available for Hardware Virtualization solutions today. These traditional "systems management" actions, however, are necessary parts of administering your Linux infrastructure. Integrating virtual actions with those involved with traditional systems management—such as file and patch updating, configuration control, and scripted actions—can assist systems administration through the unification of toolsets.
To that end, Containers Virtualization by nature enjoys a tight integration between residing workloads and the OS upon which it is based. Thus, the specific configuration of any residing container's OS is of equal importance as more traditional actions performed on a virtual machine. As such, its toolset by nature tends to dig deeper into OS configuration type tasks, enabling administrators to enact change to the OS while at the same time enabling administration of typical virtual machine actions. The following sections will discuss common actions that IT organizations can expect to see with best‐in‐class Containers Virtualization solutions.
Power on, power off, snapshot, migrate. These are all actions that relate to the state of a virtual workload itself. These actions and the tools that enable their administration are commonly available in Containers Virtualization solutions with the same level of support as commonly seen in other virtualization platforms. When looking for enterprise‐class solutions, pay careful attention to the list of potential virtual machine actions. Your needs may require high‐end capabilities such as dynamic load balancing based on performance as well as failover capabilities in the case of a host failure. In both situations, rich virtual machine behavior and performance monitoring is a key feature that is necessary to accomplish these tasks.
Adding to the capabilities discussed earlier, Containers Virtualization solutions tend to enjoy systems management capabilities not often available with other virtualization platforms. These toolsets exist because Containers Virtualization concerns itself as much with the configuration of an installed OS as does it with the management of virtual machines. These tools enable administrators to install, manage, and monitor OS configurations and installed applications through the same console used for handling virtual machine actions.
One area of particular utility is in the patching of OSs and applications. As running containers are based on the composition of the starting template, any update to that template can automatically and immediately update all residing containers as well. These updates should have the capability of being provisioned through the solution's management toolset.
Assigned resources such as processing power and memory are similarly provisioned through management utilities. Different than with other architectures, Containers Virtualization solutions tend to include greater support for discriminately assigning resources to containers. This is the case due to the ability for resources to be re‐assigned on‐the‐fly and without the need for containers to be restarted.
Specific to the Linux OS and the types of workloads commonly installed to that OS, it is important for resource management tools to monitor for performance conditions on the host and within each container. That monitoring provides the administrator with the situational awareness necessary to adjust resources as needed for processing. Integrating these capabilities with auto‐remediation actions enables the toolset itself to automatically adjust assigned resources to meet business processing demands. As the number of collocated containers per host increases, the need for this capability grows increasingly critical to ensure that processing is balanced across workloads.
Containers Virtualization makes heavy use of container templates in order to rapidly deploy new workloads as necessary. These templates integrate with the installed host OS to pre‐configure the aforementioned "deltas" for the purposes of rapidly provisioning new OSs and even applications.
For example, an organization might want to deploy a MySQL database running atop a Fedora Core container that itself will be hosted on a Red Hat server. The actions involved with installing and configuring the container's OS, then installing and configuring the MySQL instance can involve a substantial amount of time. Using a template, this same need can be quickly provisioned by means of a small template file that includes the necessary OS and application installation and configuration. These templates are particularly useful with the Linux OS due to its open source nature.
When looking at Containers Virtualization solutions, consider your needs for the types of applications you intend to make use of in your environment. Ensuring that your solution includes the necessary templates and template creation capabilities can assist with their rapid deployment.
Organizations considering the implementation of virtualization for Linux should pay special consideration to the availability of backup management tools as well. The addition of virtualization into the IT environment has the tendency to increase the complexity of backups while at the same time improve the capability for a successful server restore. This occurs due to how virtualization augments the ways in which virtualized workloads can be backed up.
For example, consider a typical Linux server. The configuration of that server is stored within its files and directories, and as such, the successful backup of each file and directory is critically necessary to ensure its later successful restore. The process to complete a successful backup with traditional backup software outside the virtualization environment must be extremely careful that all files and directories are backed up. Any files that are missed or unable to be backed up can inhibit its successful restore. With thousands or more possible files on any particular server, this activity can be difficult. With virtualization, virtual workloads can be backed up as a single entity. In the case of Containers Virtualization, the container itself can be backed up as a single entity. This block‐level backup equivalent has a much greater chance for restore success down the road.
Lastly, the concept of "motioning" relates to the desire for the processing of virtual workloads to be successfully relocated from one host to another. Live migration and hot migration are two terms that commonly refer to the ability for a virtualization solution to relocate workload processing without a loss of service. Some Containers Virtualization solutions, like other architectures, have the ability to accomplish this real‐time movement. Enterprises with high levels of container density should consider this capability a key necessity as the loss of a single host could impact dozens or hundreds of collocated containers. In the same vein, motioning support is necessary for the successful and regular load balancing of containers across hosts without the need to power them down.
Many virtualization platforms require the use of a centralized Storage Area Network (SAN) for the hosting of virtual files if motioning capabilities are desired. This is the case because many motioning technologies do not relocate virtual disk files during a re‐hosting event. Although this centralized storage is traditionally very highly available, it at the same time tends to be of a significantly higher cost than traditional local storage. Smart enterprises may consider looking for solutions that provide zero‐downtime motioning support without the need for expensive SAN data storage. Additionally, technologies that enable motioning across separate Direct Attached Storage (DAS) locations enable IT organizations to reprovision the disks associated with virtual workloads as they relocate their processing.
Any technology implementation requires the right platform. But equally important are the toolsets available to manage it once in place. This article has attempted to discuss those features that you might want to look for when considering a virtualization solution for Linux workloads. When making any decision about virtualization platforms, consider the common administration tasks that go with virtualized workloads and what tools and techniques your environment requires to successfully accomplish these tasks.