How do containers handle live migration and workload balancing in the virtualized environment?
As with conventional VMs, containers can be migrated from one system to another. Such migrations can be performed on demand or automatically to support critical tasks, such as server workload balancing. The primary factor limiting migrations is the underlying host OS kernel. Since containers share a host OS kernel, the destination server must use an operating system with a compatible kernel. It doesn't necessarily need to be the same distribution or build, but the kernel must be the same; you can't run a Linux container on a Windows server -- at least not yet.
Containers offer more than just a way to virtualize an enterprise application. Container technology has provided system and application architects with a new approach to software development and deployment. On one level, containers use fewer computing resources than VM counterparts, and are faster and easier to create. This makes it possible to spin up more containers quickly to meet the needs of high-volume applications, such as Web servers.
But the impact of containers is even more important than just the ability to create or destroy lots of them easily. Container flexibility and scalability is increasingly leveraged in a microservices approach to software design. In traditional "monolithic" software design, every feature and function is integrated into the single application. When the bandwidth of certain features and functions is exceeded -- or the program can't handle any more users -- the enterprise needs to deploy another iteration of the entire application in order to scale the software. This is a costly and inefficient approach to software design.
By architecting software in terms of discrete services -- application parts or components -- the varied parts of an application can be distributed across multiple containers, which are then connected logically to form the complete application. This allows the individual components to be patched or upgraded without impacting the other component containers. Even better, it is possible to create more containers to scale out only the features that need more capacity -- or even scale down the number of containers where a certain feature needs less capacity. This makes microservices-based software design an ideal match for container technology and results in highly-scalable, but highly-efficient applications. Microservices containers can still be migrated across compatible systems for workload balancing and application performance optimization.
VMware's microservices architecture
Are Docker containers a threat to VMs?
Five downsides to container technology
Dig Deeper on Application virtualization
Related Q&A from Stephen J. Bigelow
DR planning mistakes are easy to make. Avoid selecting a tool that doesn't meet your needs or that's overly complex, carefully consider the ...continue reading
Establishing a DR plan for a VMware environment can be overwhelming. How do you design a plan that prioritizes VMs and manage your infrastructure to ...continue reading
Storage I/O control can be an effective way to handle occasional storage sharing issues, but it is not always suitable for every virtual machine.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.