Developing Serverless Solutions on AWS (AWSDEVSS) - Outline

Detailed Course Outline

Module 0: Introduction
  • Introduction to the application you will build
  • Access to course resources (Student Guide, Lab Guide, and Online Course Supplement)
Module 1: Thinking Serverless
  • Best practices for building modern serverless applications
  • Event-driven design
  • AWS services that support event-driven serverless applications
Module 2: 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)
Module 3: 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
Module 4: 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
Module 5: 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
Module 6: 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
Hands-On Labs
  • Hands-On Lab 1: Deploying a Simple Serverless Application
  • Hands-On Lab 2: Message Fan-Out with Amazon EventBridge
Module 7: 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
Module 8: 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
Module 9: 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
Hands-On Labs
  • Hands-On Lab 3: Workflow Orchestration Using AWS Step Functions
  • Hands-On Lab 4: Observability and Monitoring
Module 10: 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
Module 11: 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
Module 12: 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
Hands-On Labs
  • Hands-On Lab 5: Securing Serverless Applications
  • Hands-On Lab 6: Serverless CI/CD on AWS