Learn how to use AWS frameworks to deploy a serverless application. The hands-on exercises in this course progress from simpler to more complex topics. You will use AWS documentation throughout the course to develop authentic methods for learning and problem solving outside of the classroom.
Day 1
Module 0: Introduction
- Introduction to the application you will create
- Access to course resources (Student Guide, Lab Guide and online course supplement)
Module 1: Serverless mindset
- Best practices for creating modern serverless applications
- Event-driven design
- AWS services that support event-driven serverless applications
Module 2: API-driven development and synchronous event sources
- Features of standard request/response API-based web applications
- How Amazon API Gateway fits into serverless applications
- Exercise to try out: Setting up an HTTP API endpoint that is integrated with a Lambda function
- High-level comparison of API types (REST/HTTP, WebSocket, GraphQL)
Module 3: Introduction to authentication, authorization and access control
- Authentication vs. authorization
- Options for authentication for APIs with API Gateway
- Amazon Cognito in serverless applications
- Amazon Cognito user pools vs. federated identities
Module 4: Serverless deployment frameworks
- Overview of imperative vs. declarative programming for infrastructure as code
- Comparison of the frameworks CloudFormation, AWS CDK, Amplify and AWS SAM
- Functions of AWS SAM and the AWS SAM CLI for local emulation and tests
Module 5: Using Amazon EventBridge and Amazon SNS to decouple components
- Development considerations when using asynchronous event sources
- Functions and use cases of Amazon EventBridge
- Trying out the exercise: Creating a user-defined EventBridge bus and a rule
- Comparison of use cases for Amazon Simple Notification Service (Amazon SNS) vs. EventBridge
- Exercise to try out: Configure an Amazon SNS theme with filtering
Module 6: Event-driven development with queues and streams
- Development considerations when using polling event sources to trigger lambda functions
- Distinctions between queues and streams as event sources for Lambda
- Selection of suitable configurations when using Amazon Simple Queue Service (Amazon SQS) or Amazon Kinesis Data Streams as an event source for Lambda
- Exercise to try out: Configuring an Amazon SQS queue with a dead letter queue as lambda event source
Practical exercises
- Practical exercise 1: Deploying a simple serverless application
- Practical exercise 2: Message fan-out with Amazon EventBridge
Day 2
Module 7: Writing good lambda functions
- How the lambda life cycle influences your function code
- Best practices for your Lambda functions
- Configuring a function
- Function code, versions and alias names
- Trying out the exercise: Configuring and testing a lambda function
- Lambda error handling
- Handling of partial failures with queues and streams
Module 8: Step functions for orchestration
- AWS step functions in serverless architectures
- Trying out and practicing: Step Functions states
- The callback pattern
- Standard vs. express workflows
- Direct integrations of step functions
- Exercise to try out: Troubleshooting a standard Step Functions workflow
Module 9: Observability and monitoring
- The three pillars of observability
- Amazon CloudWatch Logs and Logs Insights
- Effective writing of log files
- Trying out the exercise: Interpreting logs
- Use of AWS X-Ray for observability
- Exercise to try out: Activating X-Ray and interpreting X-Ray traces
- CloudWatch metrics and embedded metrics format
- Exercise to try out: Metrics and alarms
- Exercise to try out: ServiceLens
Practical exercises
- Practical exercise 3: Workflow orchestration with AWS Step Functions
- Practical exercise 4: Observability and monitoring
Day 3
Module 10: Security of serverless applications
- Proven security procedures for serverless applications
- Applying security at all levels
- API gateway and application security
- Lambda and application safety
- Protection of data in your serverless data stores
- Auditing and traceability
Module 11: Handling scaling in serverless applications
- Scaling considerations for serverless applications
- Use of API Gateway to manage scaling
- Scaling of the lambda simultaneity
- How different event sources are scaled with Lambda
Module 12: Automating the provisioning pipeline
- The importance of CI/CD for serverless applications
- Tools in a serverless pipeline
- AWS SAM functions for serverless deployments
- Best practices for automation
- Follow-up of the course
Practical exercises
- Practical exercise 5: Securing serverless applications
- Practical exercise 6: Serverless CI/CD on AWS