Just recently InfoQ published the revealing article, authored by Jelastic CEO, Ruslan Synytsky, where he’s talking about live migration of containers, how it really works, what are the major bottlenecks and possible solutions.
We decided to share a brief summary of this article, for you to discover what opportunities live migration unlocks, as well as to find out what kind of freedom in application lifecycle management it provides.
What is Live Migration?
Live migration means moving applications between different physical machines/clouds without disconnecting the client. Memory, file system, and network connectivity of the containers running on top of bare metal hardware are transferred from the original host machine to the destination without downtime.
Live migration solves 3 main challenges:
- Downtime during hardware maintenance
- Unbalanced cluster load
- Troubles within a cloud
How It Works
In order to visualize the live migration process, we`d like to share the scheme below.
- Source Node - where a container is placed before live migration
- Destination Node - where a container will be placed after live migration
For performing the migration, the platform needs to perform such steps:
- Freeze the container at the source node blocking memory, processes, file system and network connections, and to get the state of this container
- Copy the state to the destination node
- Restore the state and unfreeze the container at this node
- Execute a quick cleanup process at the source node
There are two kinds of live migration solutions: pre-copy memory and post-copy memory (lazy migration). The difference between these two options is in the time period of freeze time (more details are in the full version of the article).
4 Use Cases of Live Migration
- Hardware maintenance without downtime
Live migration prevents the downtime, - you can migrate containers in a live mode from one node to another inside one data center
- Load rebalance
Live migration helps to rebalance the load by migrating containers from one hardware node to another. You can even automate it by implementing specific algorithm and triggers
- High-availability
A cloud service provider can choose what set of hardware availability zones to provide. As result, end users get more options for high availability by performing containers live migration without involvement of system administrators
- Switch to another vendor
With live migration, end users are no more locked to a specific cloud infrastructure vendor. From now, customers can migrate their applications to an alternative cloud service provider (by a matter of performance, support, or price) without any reconfigurations and redeployments
Conclusion
It is hard to overcount the key benefits of containers live migration for the businesses and DevOps teams, as it provides a revolutionary new level of automation and optimization. No more maintenance downtimes, unneeded human efforts, and complaints from dissatisfied customers: live migration was invented to rescue hosting providers and their users, enabling high availability, and supermassive flexibility. Find out more details in the full version of the article.
Test drive all the possibilities of containers live migration at one of the Jelastic hosting partners. Feel free to share your own experience in the comments below.
Related Articles
Live Migration of Docker Containers within Cloud Regions
Live Containers Migration Across Data Centers: AWS and Azure Integration