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.
Course Objectives
In this course, you will learn how 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
Intended Audience
This course is intended for:
- Developers who have some familiarity with serverless and experience with development in the AWS Cloud
Prerequisites
We recommend that attendees of this course have the following prerequisites:
- Familiarity with the basics of AWS Cloud architecture
- An understanding of developing applications on AWS equivalent to completing the Developing on AWS classroom training
- Knowledge equivalent to completing the following serverless digital trainings: AWS Lambda Foundations and Amazon API Gateway for Serverless Applications
Course Outline
Module 1: Thinking Serverless
Module 2: API-Driven Development and Synchronous Event Sources
Module 3: Introduction to Authentication, Authorization, and Access Control
Module 4: Serverless Deployment Frameworks
Module 5: Using Amazon EventBridge and Amazon SNS to Decouple Components
Module 6: Event-Driven Development Using Queues and Streams
Module 7: Writing Good Lambda Functions
Module 8: Step Functions for Orchestration
Module 9: Observability and Monitoring
Module 10: Serverless Application Security
Module 11: Handling Scale in Serverless Applications
Module 12: Automating the Deployment Pipeline