The Internet is home to millions and millions of websites.
Some small, some large, some simple, some complex.
Pretty much all of them however, live on computers called "servers".
Some people who have websites choose to have their websites on their own servers.
The vast majority of website owners, however, choose to store their websites on servers far away for convenience, which can be accessed online.
If you want to run a website on a server, however, you'd need set everything up yourself:
- Choose an OS
- Update the package manager for the OS
- Install the programming language (eg. Node)
- Everything else that needs to be installed (eg. packages)
- Run the app
If this sounds needlessly complicated, especially for smaller projects, then you're not alone.
It's a painful task to install everything yourself and dealing with servers in general. Is there a better way?
Now imagine you have an app you want to put on a server.
Now imagine that, all you have to do is upload your code and it would just work. Wouldn't it be awesome?
Is such a thing even possible?
Yes it is.
In recent years, providers of servers have realised that setting up your own servers has become a bit of a pain so they have come up with their own versions of "serverless".
Suppose for example you have a Node app you need to push to a server.
With serverless, all you need to do is choose your programming language, upload your code and click Run.
This is it.
No, really. This is it.
The server configuration and other stuff is taken care of for you!
Hang on a minute, I hear you ask. Doesn't "server-less" basically mean "without servers"?
No. Let me explain.
Why is it called "Serverless"?
To help us understand why it's called "serverless", let's have a look at a similar common word: "wireless".
Why is it called wireless? Because in order to connect you don't need wires of course? But what about the wire the connects your router to the wall?
Or the series of cables lying on the bottom of the ocean connecting you everywhere?
Should it still be called "wireless"? YES! Because for day to day usage, you don't need to deal with cables!
This is EXACTLY why it's called "serverless".
You don't need to deal with servers for day to day usage. It's been taken care of it by the providers.
And this is how serverless works.
Let's see some providers now.
Dev, Explained (43 part series)
- Accessibility, explained.
- React, explained
- Should I use forEach() or map()?
- Should I use Flexbox or CSS Grid?
- Docker, explained.
- Unit testing, explained
- Git, explained.
- Typescript, explained.
- async/await, explained.
- The DOM, explained.
- Regular expressions, explained
- GraphQL, explained.
- Vue, explained.
- Svelte, explained.
- API, explained.
- Immediately Invoked Function Expressions (IIFE), explained.
- ARIA roles, explained.
- Test-driven Development, explained.
- ARIA live regions, explained.
- aria-label in accessibility, explained.
- Variables, explained.
- if statements, explained.
- Arrays, explained.
- Memoization, explained.
- For loops, explained.
- React Hooks, explained.
- Graph databases, explained.
- MongoDB, explained.
- Serverless, explained.
- HTML, explained.
- CSS, explained.
- Responsive design, explained.
- The CSS Box Model, explained.
- CSS Flexbox, explained.
- CSS Grid, explained.