]> njoseph.me Git - blog.git/blame - content/posts/demystifying-the-term-serverless.md
Migrated blog from Ikiwiki
[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
12
13<img src="https://cdn-images-1.medium.com/max/1000/1*JQwYsJYUjKLWCf8r4iEueQ.jpeg" width=800/>
14*Server, the physical hardware*
15
16When people think of servers, they imagine a big machine or a large stack of them making humming noises and furiously serving millions of requests.
17
18A server can also mean a computer program that is continuously running, listening for client requests and serving them. Think Apache, Nginx or Tomcat.
19
20![Apache HTTP server, the software](https://cdn-images-1.medium.com/max/2000/1*ANRQ-WLCLs5yM13GKGBtPg.png)
21*Apache HTTP server, the software*
22
23When 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.
24
25The 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.
26
27### What is FaaS then?
28
29*Serverless *(not running server programs) is the goal* *and* Function as a Service* (FaaS) should be considered one of its implementations.
30
31### Are microservices and P2P applications serverless too?
32
33Not really.
34A lot of microservices use HTTP for communication and thus have a server component in them.
35A 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.
36
37Now 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.