Journey from Bare-Metal to Containerisation

Question:- Explain something about the Bare-Metal Servers ?

  • A Bare Metal Server is a physical computer, that is single tenant only. Once upon a time, all servers were Bare-Metal.

Question:- What are the advantages of using Bare-Metal Servers ?

Answer → Bare-Metal is the option to go for the software-applications that require the absolute highest performance from the Hardware. Bare-Metal Servers are physically Isolated. Here are following advantages of Bare-Metal Servers :-

  • It’s not affected by the Noisy-Neighbour problem → This problem occurs when one tenant’s performance is impacted because of the activities of another tenant sharing the same hardware.
  • It provides Highest Level of Security → It is not impacted by Side-Channel-Attacks. These attacks take advantage of the design-flaws in modern micro-processors to allow a malicious tenant to steal secrets from its neighbours.

Question:- When should we make use of Bare-Metal Servers ?

Answer → The Strong Security guarantee, is another reason to use Bare-Metal Servers. When an application needs to meet the most stringent security, compliance or regulatory requirements.

Question:- What are some disadvantaged of Bare-Metal Servers ?

  • Bare-Metal Servers are expensive, hard-to-manage and hard-to-scale.

Question:- Explain something about the Virtual-Machines ?

Answer → A Virtual-Machine is the emulation of a Physical-Computer. This is called as Virtualisation. Many VMs can run on a single piece of Bare-Metal hardware. Below is how the VMs are ran on Bare-Metal-Servers :-

  • On top of Bare-Metal-Hardware, runs the host Operating-System.

Question:- Explain something about Hypervisor ?

Answer → This software manages Virtual-Machines.

  • It creates an Abstraction Layer over the hardware, so that multiple Operating-Systems can run alongside each other.

Question:- What is the difference between Hypervisor and Bare-Metal-Hypervisor ?

Answer → A Bare-Meal-Hypervisor controls the hardware directly without relying upon the host OS.

  • It gives full control over the hardware and provides higher performance.

Question:- What is the flexibility available with Virtual-Machines ?

Answer → These days we can choose VMs of pretty much any size to fit our workloads from :-

  • General purpose VMs with just a few CPU-cores and a few GBs of memory.

Question:- What are some advantages of Virtual-Machines ?

Along with the aforementioned advantages, It’s easy to scale both vertically & horizontally to the VMs :-

Question:- What are some dis-advantages of using Virtual-Machines ?

Answer → Following are some dis-advantages working with Virtual-Machines ?

  • Noisy-Neighbour Problem → If our application co-locates with a resource-hog of a neighbour, our own application-performance could suffer. VMs running on the same Bare-Metal-Hardware, share the same physical CPU-cores.

Question:- Explain something about the Containers ?

  • A Container is a standalone and a lightweight package of an application with all its dependencies like Libraries, Frameworks and Runtime.

Question:- How is Containerisation different from Virtualisation ?

Answer → Following are the differences between the Containerisation & Virtualisation :-

  • Containerisation is considered to be a Lightweight version of Virtualisation.

Question:- What is Containerisation ?

Answer → On top of Container-Engine runs many Containers.

  • Each of Containers is its own Application-Environment isolated from each other.

Question:- Whether containers are scalable enough ?

Answer → Containers are Scalable and Portable.

  • These are light-weight and require less hardware-resources to run, as compared to VMs.

Question:- Why containers are faster ?

Answer → Since each container runs as a native process of the host Operating-System, they are much faster to start too. All these containers are even easier to deploy & maintain at a scale too.

Question:- Are containers secure enough ?

Answer → Containers are less secure. They share the same underlying Operating-System and isolation relies on the OS-level primitives. This means that, Containers are vulnerable to wider class of security-vulnerabilities at the Operating System level.

Question:- Is it possible to run containers inside the Virtual-Machines ?

Answer → Yes, It is very much possible to run containers inside the Virtual-Machines. The reason that we may want to do this is because : It offers better Security, by reducing the possible Attack-Surfaces.

That’s all in this blog. If you liked reading this, do clap on this page. We shall see you in next document.

--

--

Software Engineer for Big Data distributed systems

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store