With Windows Server 2016 offering containers and the explosion in popularity of Docker, you’d have to be living on an undiscovered island in the Pacific to not have heard of all the hype surrounding containers.

What is a Container?

Most people will tell you that a container is an alternative to a virtual machine (VM) and they aren’t wrong in saying that, but thinking of containers in such limited terms would be foolish.

Instead of virtualizing the BIOS and hardware, like a virtual machine does, containers operate on top of a shared operating system. Because containers do not need to utilize the extra hardware required to run their own operating systems, you can run as many as 4x or 6x the number of containers as you could VMs.

In short, the pros for containers are the following:

  • Containers can initiate in milliseconds versus minutes for VMs.
  • Containers use fewer resources resulting in faster performance and the ability to use more containers than you could VMs

There are some cons to using containers though:

  • Containers can be harder to manage than VMs, especially when there is a large number of containers.
  • Containers are less secure than VMs as each container could be opening up an attack surface depending on the app being run and the permissions given to said app.

VMs vs Containers

So, Which is Best?

Well, neither. Depending on your specific needs, you may want to use containers, VMs or both!

Ask these questions to determine which is best for you:

  • Are you going to be running multiple apps or multiple copies of one app? If you want to run several different apps at once, your best bet is to use VMs, but if you want to run multiple instances of one app then you will be better off uses containers to get the job done.
  • Will you be using multiple OS or apps that only support a select few OS? If you are, a VM may be a better choice as with VMs you can use multiple different OS, a container only runs on a shared OS limiting you to apps that can run on that OS.
  • How important is security to you? Containers may increase your server’s vulnerability if the apps they run have permissions that enable them to access the shared OS. On the other side, VMs can only access the OS running on that individual VM.

In some instances, you will want to use both VMs and containers. This set up would involve running multiple containers on VMs. It blends the best of both worlds and as the technology for containers and VMs improves we will see more use of both. The future will most likely see VM and container combinations as a commonplace practice.

ServerPronto offers the best affordable hosting service in all dedicated server packages.

Author

Anthony is a tech fiend. As a child, he dreamed of seamless integrations between hard drives and brains as a method of enhancing the human brain. As an adult, he enjoys more rational ventures into tech such as experimenting with and writing about the latest technologies and softwares.

1 Comment