Hardware
Servers
A server is a computer that provides functionality to other devices, called clients. One of the key benefits of servers is that a single server can serve multiple clients simultaneously.
This is similar to how servers (wait staff) work in restaurants. One server is able to take the orders from many tables of customers (the clients), relaying the order information through to the bar and kitchen for them to prepare. This process is much more efficient than having each customer order their food and drinks directly from the bar and kitchen (and having worked in restaurants when I was younger, I would never recommend ordering from the kitchen during a dinner rush).
The computer servers we use today generally follow the Request-Response model, where a client sends a request to the server, the server then performs an action, and the server sends the result back to the client.
You can see a real-world example of request-response when you use your web browser to visit a web page. When you click a link, your computer (the client) sends a request to a server. The server responds to the request by sending over a response containing all the HTML, CSS and Javascript files your browser needs to render (turn into) a web page. When you click another link, the process repeats, as it does for other people viewing the website.
While early computers could be large enough to take up an entire level of a university computer science lab, most modern servers are much smaller and made with components similar to the kind you’d find in your home computer. If you have multiple servers, it’s common to mount them in racks, which helps you store and provide power to them more efficiently.
Data Center
A data center is a building dedicated to holding computer systems, usually for telecommunications, networking or storage. Storing the servers and systems together makes it easier for companies to manage and maintain the hardware, and can also have benefits in areas like security and energy use.
It’s sometimes easy to forget how large the tech world has become. While Meta may have been founded by Mark Zuckerberg and his friends in his Harvard dorm, the company has grown so large that they now have 18 data centers around the world to support products like Facebook, Instagram, WhatsApp and Oculus.
Virtualized Servers
Traditionally, server hardware and software were designed so a server would support one single application – a company’s mail server (handling their email) would be a separate physical device to the server that handles file storage, and so on.
While this separation has benefits (for example, it’s easier to find and fix a problem if you know it’s limited to a specific server), it means that many servers spend the majority of their time using only a tiny fraction of their processing power. And as networks increased in size, the increased need for servers meant the physical size they were taking up within companies and data centers was also increasing.
Server virtualisation _helps solve both of these issues. A _virtual server is an application that turns one physical server into multiple virtual machines. The software makes each virtual server operate as if it were a separate physical device. By running multiple virtual servers, we can make better use of a physical server’s hardware capabilities. Virtual machines also allow us to need less physical space than if we were operating separate physical servers.
Cloud Servers
Imagine you’re joining an early-stage internet startup in 1995. Your company would need to buy and manage multiple servers – a mail server for company email, web servers for the company website, and so on.
These servers would cost thousands of dollars to buy and require full-time systems engineers to be hired for set-up and ongoing system maintenance. The total cost could easily run into hundreds of thousands of dollars or more, making it out of reach for many companies. Thankfully times have changed!
A cloud server is a centralised server of virtual machines that can be accessed remotely over a network (like the internet), allowing multiple users spread across a wide area to share the server’s resources.
Large tech companies like Google, Amazon and Microsoft offer cloud computing services to businesses as an alternative to managing their own “on-premise” servers.
If we go back to our example above, while a startup in the 90s had to buy and manage physical servers, modern startups can simply “rent” virtual servers as needed, at a fraction of the cost. This decreased cost has been a huge benefit to the tech industry and has helped many small startups get off the ground where previously the server costs would have made it impossible.
We also rely on cloud servers for our personal computing needs. A real-world example is how you probably use Google Drive or Apple iCloud to store your photos, videos, notes and music, accessing them from anywhere using your phones, computers and tablets.