Deployment Targets

Servers

aka Physical Servers

  • Early to mid 2000s
  • One application - one server ⇒ New application - new server

Resource wastage in physical server

Impossible to predict the size of server required

No one ever actually knew exactly how big of a server will be required for a particular application. So companies used to play it safe and bought a big server. If it gets used, well and good. But obviously, more often, the server would go underutilised and a huge amount of memory, power, physical space and maintenance would go wasted.

VMs

Virtual Machines

  • Software construct dressed up to look and feel exactly like a physical server
  • Each VM has its own virtual CPU, virtual RAM, virtual disks, virtual network cards etc.
  • OS is installed on top of it and to the OS, the VMs look exactly like a physical server — it doesn't know the difference.
  • Each VM steals the physical CPU, RAM and memory

Story of VMs

  • VMware brought the Virtual Machine technology when companies were struggling with Physical #Serverss. Now, instead of dedicating one server to one app — organisations could now host tones of applications on a single physical server and save #Resource wastage in physical server.

Hypervisor or Virtual Machine Monitor (VMM)

Software that is used to create and run virtual machines. Example — VMware, Oracle VM, Microsoft Hyper-v

Issues with VMs

  • Each Virtual Machine still needs its own OS, which itself consumes a lot of resources even without applications running on the VM. In this scenario — more the applications, more the waste.
  • Each VM is also an attack vector
  • Along with resource wastage, it comes with some potential overheads —
  • License cost - For all the VMs
  • Admin stuff - Patching, updates, antivirus etc. Pasted image 20241103010836

VM Templates

VMs are instance of VM Templates.

Container

  • Each container is a slice of the operating system created on top of a server.
  • Containers are not full blown operating system with kernel It's more like file system constructs
  • A container is an instance of #Container Image.
  • Containers came up as a solution to the #Issues with VMs.

Container Image

App code and dependencies, all neatly packaged so as to be shared and run.

Container Registries

Container registries are where we store, share and access #Container Images from different environments.

Docker Hub is one of them.

Containerized Application

An application that runs inside a container.

Advantages of Containers

  • Lightweight
  • No need to boot OS
  • No heavy #VMs stealing resources Pasted image 20241103011524

© 2025 All rights reservedBuilt with Flowershow Cloud

Built with LogoFlowershow Cloud