]> njoseph.me Git - blog.git/blame - content/posts/demystifying-the-term-serverless.md
Become independent of Medium 🎉
[blog.git] / content / posts / demystifying-the-term-serverless.md
CommitLineData
b1833cc7
JN
1---
2title: "Demystifying the term Serverless"
3date: 2018-07-15T17:40:09+05:30
4lastmod: 2018-07-15T17:40:09+05:30
5tags : [ "serverless", "devops" ]
6categories : [ "tech" ]
7layout: post
8type: "post"
9highlight: false
10---
11
a37c7a26 12![A server rack](/blog/server-hardware.jpeg)
b1833cc7
JN
13*Server, the physical hardware*
14
15When people think of servers, they imagine a big machine or a large stack of them making humming noises and furiously serving millions of requests.
16
17A server can also mean a computer program that is continuously running, listening for client requests and serving them. Think Apache, Nginx or Tomcat.
18
a37c7a26 19![Apache HTTP Server logo](/blog/apache-logo.png)
b1833cc7
JN
20*Apache HTTP server, the software*
21
22When someone says that they have gone *serverless*, what they actually mean is that they are no longer running a software program listening to requests. There should still be a physical computer of some sort serving the requests of the clients.
23
24The premise of serverless is that you don’t have to keep a computer program called a server continuously running to serve your clients’ requests. When a request comes in, a small program (maybe a single function) gets invoked, serves the request and terminates.
25
26### What is FaaS then?
27
28*Serverless *(not running server programs) is the goal* *and* Function as a Service* (FaaS) should be considered one of its implementations.
29
30### Are microservices and P2P applications serverless too?
31
32Not really.
33A lot of microservices use HTTP for communication and thus have a server component in them.
34A P2P application (e.g. Syncthing, BitTorrent) acts as both the client and the server and hence doesn’t need a server decoupled from the client.
35
36Now that you know what serverless actually means, it’s time to learn more about it. I recommend starting with this [blog post](https://martinfowler.com/bliki/Serverless.html) by Badri Janakiraman.