Physical Servers
Ref: https://learn.cantrill.io/courses/docker-fundamentals/lectures/44151189 =OR= https://www.youtube.com/watch?v=9XsFcCV5tMA
- 🔧 A physical server is a hardware machine that hosts software apps that listen to requests and reply with responses
- Physical resources:
- Motherboard, CPUs, Memory chips, Storage, NW cards, GPUs…
- The resources determine the performance of the server
- how fast and well are requests processed and responses sent
- Ideally use up as many of the resources as possible
- otherwise wasted server capacity and wasted money
- but if server load is too heavy, performance can be impacted → trade-off
- Traditionally, physical servers hosted many running apps to use up resources
- ‼️ Big problem: if an app fails, it can cause failure of all other hosted apps!
- Customer pays and owns the whole server
- If there's HW failures, a new physical server needs to be bought → pricey
- Physical Servers Diagram
Virtual Machines (VMs)
Ref: https://learn.cantrill.io/courses/docker-fundamentals/lectures/44151189 =OR= https://www.youtube.com/watch?v=9XsFcCV5tMA
- 🔧 **Virtual Machine = wrapping of apps + RTE + Guest OS + logical resources**
- Can be run with virtualization software (hypervisor) inside a Host OS with physical HW
- Host OS can host multiple VMs → shared HW
- Hypervisor acts as referee/arbiter for sharing physical resources between VMs
- 👍 VMs provide a more efficient and more secure way of running multiple apps on same HW
- VMs can change resource allocation easily
- Faster to start up (boot) compared to physical servers
- ❗ VMs are fully isolated from one another
- they have their own OS and their allocation of logical resources
- failure of one VM does not impact other VMs
- 👎 Main drawback compared to containers: OS duplication
- Different VMs might be running the same Guest OS
- The OS is usually much bigger than RTE and apps → inefficient use of server capacity
- Virtual Machines Diagram
Containers
Ref: https://learn.cantrill.io/courses/docker-fundamentals/lectures/44151196 =OR= https://www.youtube.com/watch?v=9XsFcCV5tMA