From the course: Career Essentials in System Administration by Microsoft and LinkedIn

The future of virtual machines and containers

From the course: Career Essentials in System Administration by Microsoft and LinkedIn

The future of virtual machines and containers

- We've been using virtual machines to replace physical ones for many years. We could load up our physical servers with extra Ram, CPU and storage and then divide them up among the various virtual machines on a host as needed. We can cluster them for high availability, save money on power and air conditioning and replicate them to the cloud. We've even been able to replace physical switches and routers using software defined networking. Containers are something different but they can use virtual machines to help perform the work they need to do. Containers are isolated processes, like a web server or tiny application that can run in their own space and be easily moved from one server to another. Containers can run on a Windows or Linux computer. Prior to containers, we would install an application and it would integrate with the operating system, the registry and create dynamic link library files to hook into many parts of the operating system. This made it difficult if you wanted to implement application high availability or you wanted to move your data to another server. Containers separate the operating system integration so they can be moved to another computer in your land or in the cloud at a moment's notice. They have everything they need to run, they just need a host to run it on. When comparing virtual machines to containers, we find that virtual machines are slow and require a lot of resources. We can make them highly available and can move them but we have to move an entire operating system. We can't easily move programs and data along with them. This isn't the case with containers. They contain all that they need and they're very fast and inexpensive. No need to pay for an entire operating system for every container. What does that say about the future of these two technologies? It seems pretty clear when it comes to applications, migrating them to containers is the smart way to go in many cases. We may also see VMs running on less resources as the programming and hardware gets better each year. We won't see virtual machines disappearing but their growth will likely slow, while containers will continue to grow quickly. Containers will evolve with technologies, like the internet of things, which are tiny internet connected devices implemented into appliances around the home and office. We'll also see containers evolve around 5G, as it requires more equipment and software than previous implementations, like 4G. We may see virtual machines do a better job taking advantage of the better computational technology in high end GPU graphic cards. CPUs are just not great at things like blockchain, but GPUs do it very well. Right now, GPUs aren't used very efficiently with virtual machines, but we'll see that capability increase in the next few years. Virtual machines and containers have an interesting maturity and feature upgrade set that will come as technology evolves round them.

Contents