Introduction - What Is Serverless? - Serverless Architectures with AWS Lambda

Introduction - What Is Serverless?

Serverless most often refers to serverless applications. Serverless applications are ones that don't require you to provision or manage any servers. You can focus on your core product and business logic instead of responsibilities like operating system (OS) access control, OS patching, provisioning, right-sizing, scaling, and availability. By building your application on a serverless platform, the platform manages these responsibilities for you.

For service or platform to be considered serverless, it should provide the following capabilities:

  • No server management – You don’t have to provision or maintain any servers. There is no software or runtime to install, maintain, or administer.

  • Flexible scaling – You can scale your application automatically or by adjusting its capacity through toggling the units of consumption (for example, throughput, memory) rather than units of individual servers.

  • High availability – Serverless applications have built-in availability and fault tolerance. You don't need to architect for these capabilities because the services running the application provide them by default.

  • No idle capacity – You don't have to pay for idle capacity. There is no need to pre-provision or over-provision capacity for things like compute and storage. There is no charge when your code isn’t running.

The AWS Cloud provides many different services that can be components of a serverless application. These include capabilities for:

This whitepaper will focus on AWS Lambda, the compute layer of your serverless application where your code is executed, and the AWS developer tools and services that enable best practices when building and maintaining serverless applications with Lambda.