How do containers handle live migration and workload balancing in the virtualized environment?
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
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
Just because VM placement is flexible doesn't mean you should take it for granted. Affinity rule conflicts can take a serious toll on the ...continue reading
Because antimalware tools have no way of knowing whether container components are modified or placeholders, a significant amount of redundant ...continue reading
Serious issues can occur during updates in a production environment if the four levels of the version system don't match up between Windows or ...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.