Imagine you are interviewing some guy for an IT role and she says that he doesn’t get that of “going to the cloud because everybody knows there are no datacenters in the sky”.
Everybody knows that cloud in cloud computing is just a name.
However, it’s surprising how many people have a similar idea. You chat with someone in IT about “serverless” and she says something like “Serverless doesn’t make any sense. Code has to run on a server”.
Quite common opinion
I understand technology changes a lot. Sometimes names are not very transparent. And we cannot chase the latest buzzword. Many companies/organisations were still dealing with virtualisation when the cloud came. Then without pause, containers seemed to be the hottest thing.
“I don’t have time for ‘serverless’, whatever that mean”.So here it comes a three minutes read on the topic.
What is serverless?
There is no easy definition of serverless.
But you’re busy, so I’ll cut to the chase.
You develop functions1. Small independent pieces of code.
We are not talking about static pages or mobile only or single page applications. You develop code for the back-end.
Yes, your code is going to run on servers. But you’re not going to install or configure those servers. For you, it will be as if there are no servers.
Your code is going to run on servers. But you don’t see themIn fact, your functions are going to run inside containers, that probably will run on servers. But you don’t care about the servers, nor containers.
You deploy functions.
Then, why the buzz?
We’ve been deploying packaged applications for 15 years or more. And now that we have containers, we deploy containers without problems.
Why develop in terms of functions? Why the buzz?
For three reasons:
- With serverless you have “virtually” unlimited scalability. You no longer have to decide how many servers you are going to dedicate to something. Your provider creates as many “function instances” as you need, and destroy them when they are not needed.
- With serverless, you pay per use. Real use. Not the server up and idle. You pay per code being executed.
- With serverless you are encouraged to think small and independent.
My program is not ‘hello world’!!!
Yes, I hear you screaming.
“If I only create functions, how the hell am I suppose to do something useful? ’”You know how to create applications, maybe even microservices. How are you supposed to create a full application from functions?
There are multiple options.
But you should know serverless works well in both edge cases:
- API endpoint that operates on parameters, query the database and return content. Specially well with other offerings.
- Event driven or message driven applications for big data.
I don’t want to be trapped in AWS
You don’t have to.
There is even an Apache project called Openwhisk (based on code from IBM)
OK, this may be interesting. What now?
Serverless is still evolving. You may want to wait.
It is going to be huge. You may want to do some side project. Play.
If you liked this entry, you may also like Switch off your servers.
In this post, Function as a Service (FaaS) and Serverless are synonyms. I know there is some disccussion. Not in this post ↩︎
First published here