Servers & the Cloud

Corinne Ruckstuhl
Decoding Tech
Published in
5 min readApr 10, 2022

When it comes to technology, there are many concepts that are difficult to grasp, such as algorithms, operating systems, or software architecture. In our blog series Decoding Tech, we’ve talked about these concepts in an easy-to-understand manner to encourage you to understand these concepts. Today, we’ll look into another one: Servers & the Cloud. Even though that might sound scary, in reality, the concept is simpler than you’d expect.

Servers

Let’s start with a basic understanding of servers. A server is a computer program or a device that provides resources, data, or services to another computer program and its user over a network.

Theoretically, whenever computers share resources with client machines they are considered servers. There are many different types of servers, examples include web servers, mail servers, and virtual servers (we’re gonna talk more about some of the examples later).

The device that makes a request to a server and receives a response from it is called a client. A client could be your personal computer, a laptop, or a smartphone.

Most servers have a one-to-many relationship with clients, meaning that a single server can communicate and provide resources to multiple clients at the same time. Also, when a system can provide resources and use them from another system at the same time, this system could be both server and client at the same time.

So you see, a client is requesting something from a server, whereas the server is sharing resources, data, and services. A server could either be designed to perform a single task, or it could be developed to provide several resources or services at one time.

Traditionally, serves were stored in-house; meaning a company had its own physical data centers where servers were hosted. In-house servers are considered to be very secure as no data is leaving your own network.

However, they are also hard to set up and maintain and are not considered to be very scalable. With a new technology called virtualization, this changed rapidly and most servers are now virtual. Virtualization is a process whereby software is used to create an abstraction layer over computer hardware that allows the hardware elements of a single computer to be divided into multiple virtual computers.

A data warehouse with server stacks. © Canva

There are two main virtualization technologies: hypervisor-based and container-based. Let’s explore them together!

Hypervisor-based Virtualization

Different from a physical server that represents both hardware and software, hypervisor-based virtualization only represents a software-based environment. It emulates the processes of an actual computer and its operating system, and thus represents the virtualization of the computing resources of a physical computer.

Hypervisor-based virtualizations, also called virtual servers, are based on a hypervisor that is responsible for creating and running virtual machines. Once installed, the hypervisor can create virtual servers with their own virtual compute resources. Because hypervisor-based virtualization emulates the operating system, you can use it to deploy a different operating system to your home laptop.

You can try it out yourself! If you are using a Windows-based or a MacOs-based laptop but would like to try out a Linux operating system, check out VMware. You can download the distribution and let it run on your computer, thus having two operating systems on your laptop! How cool is that? 😍

Another benefit of using virtual servers instead of physical servers is that it provides you with much more flexibility. You can choose between different operating systems, with different resources, or even with different performance characteristics. Also, virtual servers can be installed and set up in less than 5 minutes. This is crucial for fast-growing businesses that need servers to constantly adapt to an ever-increasing number of customers.

Container-based virtualization

Only recently, another technology of virtualization gained popularity: container-based virtualization. Containers are a lighter-weight, more agile way of handling virtualization. Instead of a hypervisor that emulates an entire machine including an operating system, a container doesn’t need such a hypervisor. Rather than spinning up an entire virtual machine, containerization packages together everything you need for running an application. This container includes all the code with all its dependencies and also the operating system itself. Containers are deployed within seconds and use very few resources — thus making them very convenient and high performative.

Now you know about different types of servers and virtualization. But what has that to do with the cloud? Just another buzzword? Let’s explore!

Cloud

The famous term “cloud” refers to the internet-based provision of storage, computing power, and software. Thus, when your application is “in the cloud”, it means that it is stored somewhere on a server that is hosted in a remote data center.

Cloud servers can be hosted all over the world — this works all thanks to the technology of virtualization. Famous cloud providers are Google Cloud Platform, Microsoft Azure, and Amazon Web Services.

Such cloud providers provide companies with the possibility to rent a virtualized server from their data center, thus making it obsolete to have your own data center in the cellar of your business. Cloud computing includes different service models that differentiate themselves in the services that you rent remotely.

  • Infrastructure as a Service: IaaS allows business to put their IT infrastructure in the cloud. This includes computing service, network service, or storage service. Mostly, having your infrastructure rented from experts instead of providing it on your own, is the first step in their journey to move to a cloud. Such IaaS are Amazon Web Services or Google Compute Engine.
  • Platform as a Service: PaaS is an intermediate level where you use libraries and frameworks provided by the cloud provider to implement your software. Examples of PaaS are Windows Azure, Heroku, or Google App Engine.
  • Software as a Service: SaaS is software accessed online. It’s a software product that runs on the cloud and is accessed by users through the web or mobile app. Examples of SaaS include Dropbox, Salesforce, and Google Workspace.
Image courtesy of RedHat

We hope this short introduction to what servers are and what the cloud is helped you to get a better understanding of the topic. Of course, there is much more to learn about data storage and the cloud, so let’s keep on learning!

Are you as excited as we are about the possibilities of the cloud? Reach out to us in the comments. 😎

Resources

Join us!
We are a diverse & inclusive tech community with a common goal — to empower women across industries & inspire them through learning and networking opportunities. Join us in our mission for gender equality in the tech industry in Switzerland.

--

--

Corinne Ruckstuhl
Decoding Tech

Product @Locatee // Diversity & Inclusion with GirlsInTechSwitzerland