Now that we have learned a bit about the concepts of creating virtual machines (VMs) and containers let us look at how they differ. Please see below some benefits and drawbacks of both VMs and Containers. Keep in mind that you should pick the right technology for the job and that a company might already implement one methodology and wish to keep using what they already understand/know. Though, it might not be a bad idea to introduce them to the other method if it seems reasonable to do.
Great use of hardware with being able to run multiple OSs on a single system
Quicker to setup a VM instead of a new physical server
Improved disaster recovery (will cover when we talk more in depth about VMs)
Supports running multiple services in a single VM
Requires more expensive hardware
Some type 1 hypervisors require expensive licensing
Slower start up time
Lightweight as do not require a full OS installation.
Easy to move containers between systems
Enable microservices
Company might not be ready to move to containers as services are already configured as VMs
Should not run multiple services in a single container
Not as isolated as VMs due to sharing kernel resources
Please watch this short 8-minute video that will also help to explain the difference between VMs and Containers. This is a great video created by IBM Cloud.