Serverless computing continues to increase in popularity. In this article, we are going to focus on answering seven popular questions about serverless technology.
Does serverless really work without servers?
There is no simple answer to this question, but there are servers behind serverless computing. Every time a serverless is called, cloud vendors allocate machine resources to process requests. After the processing is completed, the machine resource is set free. But if we consider serverless in the meaning of ‘no need to manage infrastructure’, it is serverless. There is no need to manage servers, process health checks, or update software on the servers. In a nutshell, serverless works on servers but manages servers for us, leaving more time to optimize code and develop innovative new features and functionality.
What is the difference between serverless and FaaS?
FaaS – function as a service – is a subset of serverless computing. FaaS is commonly mistaken as equal to serverless because FaaS is the most popular ‘child’ of the serverless family. Despite that, we cannot forget about other serverless resources such as storage, databases, or API gateways.
How is the price for the serverless quoted?
Serverless, unlike software as a service (SaaS), is quoted only for a number of requests, functions, uptime, and memory consumption. For example, if we want to create an API available all the time, we can use a compute engine or serverless. In the first case, we will pay for the whole time no matter if we use our API or not. However, in the second case we will only pay for API calls that were made. So, if our API processes only one call per month, we will pay only for that one call and no more. There is a great example of building cheaper solutions based on serverless. In 2016 two university students, Austin Wilshire and Bernd Hartzer, built an alternative to the Australian Bureau of Statistics website for a fraction of the price with better performance using serverless architecture – the full article is available in Daily Mail. As we can see, in many cases serverless can be cheaper than the classical approach.
Is serverless scalable?
Yes, serverless is scalable. In fact, most of the cloud providers scale serverless automatically in accordance with computer requirements. For example, in Google Cloud, cloud function will scale in response to the incoming peak of requests and scale down after requests are processed. There is also some degree of danger in such a solution. As we have read earlier, we must pay each and every function call, so if someone calls our function from many devices or uses bots, our function will scale up, and we may have to pay much more than we predicted.
Does FaaS support any programming language?
It depends. AWS Lambda, one of the most popular FaaS, supports custom runtime so any code written in any programming language can run there. On the other hand, the GCP cloud function provides support only for the whitelisted programming languages such as Node.js, Python, Go, Java, C#, Ruby, or PHP.
What is a cold start, and how can one protect from it?
Cold starts can be defined as the set-up time required to get a serverless application’s environment up and running when it is invoked for the first time within a defined period. To protect from such a behavior, we should keep our serverless functions warm. To achieve this, we can schedule cron jobs to call functions every few minutes.
Can serverless overwhelm a server-based solution?
We forecast that the serverless market share will grow rapidly but will not overwhelm server-based solutions. These two approaches have some imperfections, but by mixing them it is possible to wipe them out.
In this article, we have answered some of the most common questions about serverless. If you have any further questions feel free to contact us. Our team of serverless veterans will be more than happy to answer you.