Servers & Virtual Machines

Anirudh Rajmohan
4 min readMay 17, 2020

--

Servers are the blood cells of the modern internet. They are the engines driving everything that’s digital today. As such, it would be informational to know what servers are how they operate in datacenters across the globe.

What are servers?

Servers are basically computers. Just like your PC or laptop at home, these servers also possess physical components such as a RAM, processor(chipset) and disk drives for storage.

The only difference is that servers are meant for commercial use and are powerful enough to handle large amounts of data and be accessible by thousands of users at a time.

A server rack containing multiple servers stacked vertically

What is the difference between cloud servers and on-premise servers?

Nothing.

Traditionally, any company or person requiring to host their website or application needed to buy these servers(sold by companies like Dell etc), have them installed within their offices, pay for the utilities(electricity, cooling) required for these servers. Additionally, they had to employ people who ran routine maintenance of these servers, security to guard the datacenter facilities hosting these servers and what not. Such a datacenter that was owned and operated by a company themselves is called as an on-prem datacenter.

The cost of running on-prem datacenters is very high. And it is time-consuming. It could take weeks for the servers to be shipped, another few weeks to set them up and get them working.

Only the biggies like Microsoft, Oracle etc. could afford to buy and maintain servers at will. But in today’s age of rapid development, it was important for newly established startups to compete against the biggies and become the next big thing in terms of computing power. Think Amazon, Facebook, Instagram etc.

Enter cloud services where you could rent these servers.

Cloud service providers such as Amazon’s AWS, Microsoft Azure etc. provided the ability for smaller firms or individuals to rent these servers. And customers only paid for the configuration they chose and for the timethat they used these servers — right to the minute. This move widely democratized the IT industry.

Startups back then like Facebook, Instagram, Netflix etc. could now compete against the biggies and provide the IT firepower that was required without having to wait for weeks to set the servers up. And they could focus on the business that mattered the most. Netflix could focus more on providing better content than on maintaining servers on a busy Saturday night.

Even bigger companies like Walmart, FedEx, Discover, Ford etc with established on-prem servers could save money on their fleet of servers by minimizing their datacenter footprint and rent the variable amount of servers that are required based on the demand.

If anything, the advent of the cloud made servers more important commodities and mass manufacturing and operations by cloud service providers made them more affordable than ever before.

What are virtual machines?

Virtual machines are logical divisions of the servers.

VMs, as they are called existed much before the advent of the cloud and were widely used by anyone who were using servers of any kind.

However, the advent of cloud services makes some basic knowledge of virtual machines more essential.

Take a standard server with a certain amount of memory(RAM), processors and storage disk drives.

A server with RAM, processor and disk drive.

Now, imagine that this server happens to be a server of a cloud service provider such as AWS and is ready to be rented.

Let’s assume Nike is one customer of AWS that wants to rent a server.
However, more often than not, customers wanting to rent servers might not need the full computing capacity of these servers. They might only want partial computing power of these servers for their daily needs. Even if required, they might feel that renting partial computing power on two different physical servers might be a better option than renting a single physical server in its entirety to provide some redundancy against failures such as electrical malfunction etc.

A representation of an AWS server partitioned into 2 VMs — one each for Nike and Adidas as AWS customers.

From a cloud service provider’s perspective, it would be beneficial for AWS to rent only the desired amount of computing power to each server rather than waste unused server capacity to go waste. AWS can always rent the unused capacity to another of its customer who seeks it — say Adidas.

There is an overall cost benefit to both the customers O— both Nike and Adidas only pay for the exact configuration of computing power — memory, storage and processing power they have chosen and cloud providers on the other hand optimize their fleet of servers so that no server, or part of a server goes unrented.

Virtual Machines are what enable such division of a physical server into logical partitions. The technology enabling such VMs to be partitioned are called Hypervizors.

Popular VM software in the market are VMWare ESX, VMWare Fusion, Oracle VM Virtual Box and Hyper-V Manager.

Why are VMs important?

All modern servers are VMs in reality.

Irrespective of whether a server is on-prem or part of a cloud, all servers are configured as VMs.

It is important to understand this reality and design IT applications and plan the nature of deployments based on the underlying VM distribution among available servers. Cloud providers charge customers based on the hardware configuration of VM chosen(similar to how you choose your laptop based on RAM, Memory, Disk space etc) so understanding VMs become important for the average cloud user as well.

--

--