COURSE OBJECTIVE:
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
TARGET AUDIENCE:
This course is intended for Developers who have some familiarity with serverless and experience with development in the AWS Cloud
COURSE PREREQUISITES:
We recommend that attendees of this course have:
• 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 CONTENT:
Day 1
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 Day 1
• Hands-On Lab 1: Deploying a Simple Serverless Application
• Hands-On Lab 2: Message Fan-Out with Amazon EventBridge
Day 2
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 Day 2
• Hands-On Lab 3: Workflow Orchestration Using AWS Step Functions
• Hands-On Lab 4: Observability and Monitoring
Day 3
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 Day 3
• Hands-On Lab 5: Securing Serverless Applications
• Hands-On Lab 6: Serverless CI/CD on AWS
FOLLOW ON COURSES:
Not available. Please contact.