Sanal Makineler ve Konteynırlar sanallaştırma teknolojisi sunarlar. Bu teknoloji ile ölçeklenebilir çözümler geliştirilebilri.Sanallaştırma çok sayıdaki sunucu ve konteynıra hızlıca derleme yapmayı ve kurulum yapmayı sağlar. Fiziksel makinelere kurmaya göre zaman ve maliyet avantajı sağlar.
Sanalmakineler: KVM, Xen, Hper*V ve ESXi sanal makine hazırlamak ve kurmak için popüler hypervisor teknolojileridir.
Linux2ta konteynır teknolojisi 10 yıldan fazla süredir bulunmaktadır. LXC adıyla bulunmaktadır. ANcak Docker konteynırlrı son bir kaç yılda önem kazınmıştır.DOcker dışındaki diğer konteynırlar Solaris Containerları, AIX Workload Partitions ve FreeBSD jails’tir.
VMs be Kontenynırlar arsı 5 fark:
1. Konteynırlar ve sanal makineler işletim sistemi ve donanım gerçeklemesimne farklılık gösterirler.
Sanal makine tüm tam işletim sistemi kullanır. Bu İletim sistemi ve bazı donanımları kullanmaya (slice of cpu, memory and network resources of hypervisor) yol açar.
2. Containers and VM has huge difference in size
VM run complete OS and its image can run in multi GB in size, because containers inherit kernel, bin and lib from hosts server , they are just few MB in size.
3. VMs are slower to boot, containers are almost instant
VMs boot up like any other machine and takes time to initialize OS services and hardware. Containers are ready to use and can be brought into existence almost instantly.
4. VMs provide complete isolated environment, Containers are no so isolated
VMs with their own OS provide complete application isolation from other VMs on same hypervisor. Containers sharing same OS as server do not provide complete application isolated environment.
5. Containers are easy to maintain
Each VM needs individual patching and OS updates while the containers sharing the common OS needs just parent OS updated to reflect in all containers.