In today's world, the division of computing resources plays an important role, which can be most easily solved by virtualization. The way of running computer services is constantly changing. Before virtualization, applications have been running on separate physical machines in a resource-wasting stlye. When the virtualization of operating systems became available, indicators were improved both in resource utilization and in availability.
The latest option is virtualization on the operating system level, which means that the operating system itself creates multiple independent environments. These environments appear to be completely real for the environments and applications. Placing virtual environments from one machine to another can be a very common process if you want to optimally use the available resources.
My job is to examine this process, called migration. I have dealt with the most widely used technology, the Docker Engine solution in my thesis. After reviewing the available options, I came up with the solution of developing my own migration coordination program.
After developing a working migration environment, I compared different migration strategies. For the measurements, I launched a network service within the container and monitored the service response time. My measurements have shown that there are big differences in the execution time of the test cases as well as in the downtime of the service. As a result of my work, I got a good picture of which migration strategy it is worth to apply and what extra load comes with this process on machines involved in migration.