Servers and VMs Flashcards
What is the definition of Bare Metal Servers?
Isolated servers where each machine is a physical server.
Known as the grandparent of tech.
What are pros and cons of Bare Metal Servers?
Pros: Isolation from neighbor issues, full control over hardware and software.
Cons: Expensive, difficult to manage, slow to acquire new hardware, requires a competent team.
What is the definition of VMs?
VMs can run on a single piece of bare metal hardware.
Managed by a hypervisor which relies on the host operating system.
Bare metal hypervisors can run directly on hardware without a host OS.
Each VM has its own guest OS and applications.
What are the pros and cons of VMs?
Pros: Cost-effective, scalable, efficient resource utilization.
Cons: Noisy neighbor problem, vulnerable to side-channel attacks (e.g., Meltdown and Spectre).
What is the definition of a container?
Containers package a program and all its dependencies into a single unit.
What are the pros and cons of containers?
Pros: Highly scalable, portable, lightweight, requires fewer resources.
Cons: Vulnerable to OS-level vulnerabilities as all containers share the same OS kernel.
What are the two types of hypervisors?
Type 1 (Bare Metal): Runs directly on hardware, no host OS needed (e.g., VMware ESXi, Microsoft Hyper-V).
Type 2: Runs on a host OS, with VMs running as applications (e.g., VMware Workstation, Oracle VirtualBox).
What is the Noisy Neighbour Problem?
Occurs when one VM or container consumes excessive resources, affecting the performance of others on the same host.
What are Side-Channel Attacks?
Attacks that exploit indirect information (e.g., Meltdown, Spectre) to gain unauthorised access to data.
Common in shared environments like VMs and containers.
What is Container Orchestration?
The automated management, scaling, and deployment of containerized applications.
Tools: Kubernetes, Docker Swarm.
What is Microservices Architecture?
Architectural style where applications are composed of small, independent services that communicate over APIs.
Often deployed using containers for scalability and resilience.
VM vs. Container Comparison
VM: Each VM runs its own OS, heavier, better isolation.
Container: Shares the host OS, lightweight, more portable, less isolation.
Scalability in Computing
The ability to handle increased load by adding resources (scale up) or by adding more instances (scale out).
Containers are typically more scalable due to lower overhead compared to VMs.