What Does It Mean To Have A Serverless Website?
To explain exactly what a serverless website is, we first need to revisit a little history.
If you wanted to host a website fifteen years ago, you would have had to either host the website on your home computer or rent a dedicated server.
Websites on Dedicated Servers
A dedicated server is basically a computer in a server warehouse that you don't share with anyone. This computer server is yours as long as you pay for it. It's priced based on the quality of the hardware you choose to put inside it. For example, you'll pay a higher monthly fee for more RAM or disk space.
After choosing your specs and getting it turned on, you spend a considerable amount of time setting up firewalls and network policies; and installing all the software needed to run your website.
As your website traffic grows, your dedicated server uses more and more computing power. If the traffic is enough that the specs you chose for your server can no longer cut it, you need to upgrade to a larger machine. A lot of times this means having to set up the server from scratch again. It's a pain.
Well, 2006 rolled around and with it came the cloud! Cloud computing providers solved the upgrade problem. Instead of having your own server, the cloud allows you to pay for a slice of a much more powerful computer. A slice that can grow or shrink based on what you need in that moment.
With the cloud, users are only charged for the actual computing resources they use each month, as opposed to dedicated servers which charge a flat rate based on chosen specs. This change made hosting a lot more affordable for low-end users, and scaling a lot easier.
The cloud didn't solve everything, though. Even with a cloud-hosted website, you still need to spend time managing and updating the host OS.
Next, in 2014, serverless came around and just got rid of the OS!
Well, let me clarify. Serverless may not be the best term because there are definitely still servers out there in warehouses running an operating system that code lives on.
But the developers no longer have to think about the server or operating system at all.
The backend can now be hosted in a fully managed service that takes care of everything from a system administration standpoint. This allows developers to focus purely on the code and not worry about the environment on which it runs, which in turn allows us to set up and provision new websites and applications faster than ever!