Have you ever wondered what exactly happens in the background when you click that "Send" button in your email? What happens when you interact app on your phone? Or what goes on in the background when you buy something on a website? Servers are responsible for handling all of these day-to-day actions.
You may have also heard the word "cloud" used in phrases more and more regularly in recent days (i.e. cloud infrastructure, cloud provider, iCloud, etc). The word "cloud" nowadays can be almost used interchangeably with the word "server."
Back in the day, servers were installed locally in people's homes or on the premises of a particular business. In fact, physical servers are still used by companies that require heavy data security or need constant uptime. "The cloud" simply refers to servers that are hosted elsewhere (instead of your local hard drive or physical servers in your building).
The dictionary definition of a server is a "computer or computer program which manages access to a centralized resource or service in a network." But what does this mean is layman terms? In this blog, we are going to unpack what a server is, describe the different kinds of servers, and highlight some of the major server providers out there.
Think about it like this. A server is basically a physical machine that provides services on behalf of "clients." Clients in this particular case is any device that may be used to connect to or access information on the server, such as a desktop, laptop, mobile phone, tablet, etc. The server is the centralized machine where multiple clients can connect to via the internet to request a particular service. The service could range anywhere from pulling up a web page to downloading a file to sending an email.
Starting with the first type of service, web servers are used to "host" website and applications. Host in this context means providing a space for a website or app where people can access it via the internet. Web servers contain all of the websites's HTML and CSS code as well as all of the website's data.
Database servers are used to store data on the "backend" that are then retrieved by devices on the "frontend." This is done using queries to a database such as SQL (read about what database you should use here). A query is performed almost every time you tap a button on a mobile app. For this reason, database servers run behind every single web app and mobile app that we use.
Email servers facilitate and enable the sending and receiving of emails. Emails are then accessed through a web browser, a mobile app, or an email client such as Polymail or Superhuman. There are countless other types of servers out there that perform various services. Large tech companies like Facebook or Google even sometimes use a separate server for different features because there's so much traffic going through their applications at any given time.
Real Life Application
Now that we've gone through the basics of how servers work. Let's apply our learned knowledge from the previous section to a real life, tangible example.
So you type a website URL into your browser (let's say Amazon.com) and hit enter. That request travels via the internet and hits the respective web server that Amazon is hosted on. The web server then takes the requested service (in this case, all of the data on the homepage of Amazon.com) and sends it back to your Your screen now displays the homepage of Amazon.
Continuing with the example above, let's say that in your previous visit to the site, you had saved 3 items to your cart, and you now want to view those 3 items. You click on the cart icon at the top right hand corner. A database server takes your request and performs a query to fetch your shopping cart data from the database and display on the frontend - the device that you are shopping on. Since Amazon is a massive company with tons of traffic going through its website, a separate dedicated server is most likely used to store data from people's shopping carts.
Different Types of Servers
In the tech industry, there are 3 different types of servers you can purchase or rent out. The 3 different types are shared servers, virtual private servers, and dedicated servers. Explaining the full technicalities of how they work would be little too difficult to understand, so I'm going to use a real estate analogy below that will hopefully be easier to follow.
A shared server is like living in a 4 bedroom house, but you only rent out one of the rooms. The other three rooms are rented to the other three tenants. Each room has its own separate lease. This is analogous to the shared server. When you rent a shared server, you are literally sharing the space with other people and businesses. This is slightly risky because if there's a fire in the house, it affects all tenants in the house. Similarly, if another person's website crashes the server, all of the other websites on that shared server crashes as well.
Virtual Private Servers (VPS)
Now imagine living in an apartment building, and the unit you are living in takes up the entire floor of the building. Each unit in the apartment building is structured the same way with a different tenant on each floor. This is analogous to the VPS, and the most common type of server provided by cloud services such as AWS, Google Cloud, or Microsoft Azure.
This option is much far safer than a shared server because a crash on a neighboring virtual private server does not necessarily cause the crash of your server. However, if the entire server loses power, all the virtual private servers within will still go down.
Finally we have dedicated servers. Now instead of renting one floor of an apartment building, you own the entire apartment building. This is by far the safest and the most secure option. However, it also the most expensive because normally you'd have the pay for the upkeep of your dedicated servers and sometimes even purchase the physical servers yourself. This type of server is not needed unless your business is at a significant scale.
Main Cloud Server Providers/Conclusion
If you're looking for a simple server solution as a small business owner or as a young entrepreneur, the three main cloud providers are AWS, Google Cloud, and Microsoft Azure. At Aloa, we recommend AWS by default to all of our clients simply because it's cost efficient and reliable. Its smallest T2 Micro servers start at only about $5/month. Google Cloud and Microsoft Azure offer incredible cloud products as well. All three cloud providers offer amazing credits if you apply for their startup programs.
In conclusion, servers are ingrained with almost every facet of the tech world today. As our lives become more and more intertwined with technology, I think it's important to educate ourselves and understand the basics of how our world runs. We are just now getting into the age of application - where almost every business is become tech enabled in order to stay competitive. Servers aren't going away any time soon. It's time we learn about how they work!