What is Serverless Computing

What is serverless? Let’s get started with what serverless is not. If you want to publish your web application all over the world, you need to make your application accessible from the internet. so your application runs on a server and users send http requests to your server. 

Before serverless computing you need to configure the server on your own. If your application is running on prem servers, you need to handle everything about your infrastructure.  If you’re using the cloud, you’re in luck, but there’s still a lot of stuff to manage.  You can check out the AWS Shared Responsibility Model to stimulate what you must handle.

In serverless computing, you don’t need to reach servers and configure them. You can create applications with minimum effort. Let’s look at the AWS Shared Responsibility Model for AWS Lambda (Lambda is a serverless computing service of AWS)

shared responsibility model for AWS Lambda (serverless computing service)
Shared responsibility model for AWS Lambda[1][2]

As you see in the model, there are few responsibilities above the line. All you need to run your code is configure access management, select your memory and cpu resource and write your code. These responsibilities are not about servers directly. So your application has a server or servers, these servers could be big or small. you don’t have to think about it. There are servers but you don’t need to know about them. You can focus on your application’s code and business logic. 

Advantages of Serverless

  • There is no operational cost for servers: You don’t need to maintenance servers
  • Create your application quickly: You can focus on your application’s domain features. If you are using serverless database, computing service, etc; you don’t need to spend a lot of time for maintaining these components
  • Pay as you use: You pay for only when the application is running. On the other hand, you have to pay for all resources even if you don’t use them.

Disadvantages of Serverless

  • Vendor Lock: You have to follow the rules set by the cloud provider. Since these rules are different in other providers, it may be difficult to switch between providers.[2]
  • Unexpected charges: Yes, users pay as they use but this might be disadvantages sometimes. For example if you have an endpoint and there is an DDoS attack, You may encounter very high fees
  • Cold start: some platforms start processing slowly for the first request. Although this may not affect you much depending on the type of your application, some users may encounter high response times
  • Can’t customize server: If your application needs customization on operating system or something, you can’t do this.[3]

References

  1. https://docs.aws.amazon.com/whitepapers/latest/security-overview-aws-lambda/the-shared-responsibility-model.html
  2. https://www.alibabacloud.com/blog/the-past-present-and-future-of-serverless-computing_596879
  3. https://www.cloudflare.com/learning/serverless/why-use-serverless/
  4. https://hevodata.com/blog/serverless-architecture-aws-lambda/


Posted

in

,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *