2024-03-29Hünkar Döner

What is Serverless Architecture?

ServerlessCloudAWS Lambda
W

What is Serverless?

Serverless computing is a model where the cloud provider (AWS, Azure, Google Cloud) fully manages the server infrastructure, allowing developers to focus solely on code. "Serverless" doesn't mean no servers; it means server management is not your responsibility.

Core Components

  1. FaaS (Function as a Service): Event-driven small pieces of code. e.g., AWS Lambda, Azure Functions.
  2. BaaS (Backend as a Service): Backend services like database and authentication provided as managed services. e.g., Firebase, Amazon Cognito.

Advantages

  • No Server Management: You don't deal with OS updates or security patches.
  • Auto-scaling: Resources scale up automatically with traffic and consume nothing when there is no traffic.
  • Pay-as-you-go: You don't pay for idle time. You only pay for the duration your code runs (in milliseconds).

Disadvantages

  • Cold Start: There might be a latency when the function is triggered after being idle for a long time.
  • Vendor Lock-in: Risk of being dependent on a specific cloud provider.
  • Debugging Difficulty: Debugging in a distributed environment can be challenging.

Serverless is a revolutionary approach, especially for microservices architectures and event-driven applications.