This course gives developers exposure to and practice with best practices for building serverless applications using AWS Lambda and other services in the AWS serverless platform. You will use AWS frameworks to deploy a serverless application in hands-on labs that progress from simpler to more complex topics. You will use AWS documentation throughout the course to develop authentic methods for learning and problem-solving beyond the classroom.


* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

In this course, you will learn to:

Apply event-driven best practices to a serverless application design using appropriate AWS services
Identify the challenges and trade-offs of transitioning to serverless development, and make recommendations that suit your development organization and environment
Build serverless applications using patterns that connect AWS-managed services together, and account for service characteristics, including service quotas, available integrations, invocation model, error handling, and event source payload
Compare and contrast available options for writing infrastructure as code, including AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM), and AWS Cloud Development Kit (AWS CDK)
Apply best practices to writing Lambda functions inclusive of error handling, logging, environment re-use, using layers, statelessness, idempotency, and configuring concurrency and memory
Apply best practices for building observability and monitoring into your serverless application
Apply security best practices to serverless applications
Identify key scaling considerations in a serverless application, and match each consideration to the methods, tools, or best practices to manage it
Use AWS SAM, AWS CDK, and AWS developer tools to configure a CI/CD workflow, and automate deployment of a serverless application
Create and actively maintain a list of serverless resources that will assist in your ongoing serverless development and engagement with the serverless community

  • Introduction

  • Introduction to the application you will build
    Access to course resources (Student Guide, Lab Guide, and Online Course Supplement)

  • Thinking Serverless

  • Best practices for building modern serverless applications
    Event-driven design
    AWS services that support event-driven serverless applications

  • API-Driven Development and Synchronous Event Sources

  • Characteristics of standard request/response API-based web applications
    How Amazon API Gateway fits into serverless applications
    Try-it-out exercise- Set up an HTTP API endpoint integrated with a Lambda function
    High-level comparison of API types (REST/HTTP, WebSocket, GraphQL)

  • Introduction to Authentication, Authorization, and Access Control

  • Authentication vs. Authorization
    Options for authenticating to APIs using API Gateway
    Amazon Cognito in serverless applications
    Amazon Cognito user pools vs. federated identities

  • Serverless Deployment Frameworks

  • Overview of imperative vs. declarative programming for infrastructure as code
    Comparison of CloudFormation, AWS CDK, Amplify, and AWS SAM frameworks
    Features of AWS SAM and the AWS SAM CLI for local emulation and testing

  • Using Amazon EventBridge and Amazon SNS to Decouple Components

  • Development considerations when using asynchronous event sources
    Features and use cases of Amazon EventBridge
    Try-it-out exercise- Build a custom EventBridge bus and rule
    Comparison of use cases for Amazon Simple Notification Service (Amazon SNS) vs. EventBridge
    Try-it-out exercise- Configure an Amazon SNS topic with filtering

  • Event-Driven Development Using Queues and Streams

  • Development considerations when using polling event sources to trigger Lambda functions
    Distinctions between queues and streams as event sources for Lambda
    Selecting appropriate configurations when using Amazon Simple Queue Service (Amazon SQS) or Amazon Kinesis Data Streams as an event source for Lambda
    Try-it-out exercise- Configure an Amazon SQS queue with a dead-letter queue as a Lambda event source

  • Writing Good Lambda Functions

  • How the Lambda lifecycle influences your function code
    Best practices for your Lambda functions
    Configuring a function
    Function code, versions and aliases
    Try-it-out exercise- Configure and test a Lambda function
    Lambda error handling
    Handling partial failures with queues and streams

  • Step Functions for Orchestration

  • AWS Step Functions in serverless architectures
    Try-it-out exercise- Step Functions states
    The callback pattern
    Standard vs. Express Workflows
    Step Functions direct integrations
    Try-it-out exercise- Troubleshooting a Standard Step Functions workflow

  • Observability and Monitoring

  • The three pillars of observability
    Amazon CloudWatch Logs and Logs Insights
    Writing effective log files
    Try-it-out exercise- Interpreting logs
    Using AWS X-Ray for observability
    Try-it-out exercise- Enable X-Ray and interpret X-Ray traces
    CloudWatch metrics and embedded metrics format
    Try-it-out exercise- Metrics and alarms
    Try-it-out exercise- ServiceLens

  • Serverless Application Security

  • Security best practices for serverless applications
    Applying security at all layers
    API Gateway and application security
    Lambda and application security
    Protecting data in your serverless data stores
    Auditing and traceability

  • Handling Scale in Serverless Applications

  • Scaling considerations for serverless applications
    Using API Gateway to manage scale
    Lambda concurrency scaling
    How different event sources scale with Lambda

  • Automating the Deployment Pipeline

  • The importance of CI/CD in serverless applications
    Tools in a serverless pipeline
    AWS SAM features for serverless deployments
    Best practices for automation
    Course wrap-up


Developers who have some familiarity with serverless and experience with development in the AWS Cloud will benefit from this course.




While there are no prerequisites for this course, please ensure you have the right level of experience to be successful in this training.


Length: 3.0 days (24 hours)


Not Your Location? Change

Course Schedule:

Schedule select
12:00 PM ET -
8:00 PM ET
Filling Fast
Schedule select
9:00 AM ET -
5:00 PM ET
Filling Fast
Schedule select
9:00 AM ET -
5:00 PM ET
Filling Fast
Schedule select
9:00 AM ET -
5:00 PM ET
Filling Fast