Developing Serverless Solutions on AWS

Cost $2025

Course Code
AWS-DSS

Duration
3 days

Format
Live Virtual Class

Who Can Benefit

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.

This course is intended for:

  • Experienced developers who are new to serverless but not to AWS or the cloud paradigm

Skills Gained

In this course, you will learn to:

  • Outline an approach to developing a serverless application for your own use case using the three-phase serverless development lifecycle
  • 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 limits, available integrations, execution 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
  • Match best practices and AWS services to the top 10 Open Web Application Security Project (OWASP) considerations for 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 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

We recommend that attendees of this course have:

  • Familiarity with the basics of AWS Cloud architecture
  • An understanding of developing applications on AWS

 

Course Details

Day 1

Module 0: Welcome and Introduction

  • Introduction to the application we will build
  • Knowledge pre-check
  • The serverless platform
  • The serverless development lifecycle

Module 1: Thinking Serverless

  • Monoliths vs. microservices
  • Defining serverless applications
  • Group exercise: Choose function boundaries and data sources
  • Event-driven 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
  • Hands-on exercise: Set up an HTTP API endpoint integrated with a Lambda function
  • Hands-on exercise: Configure a usage plan in API Gateway
  • High-level comparison of API types (REST, WebSocket, HTTP, GraphQL)
  • Using direct integrations between API Gateway and other services

Module 3: Event-Driven Development Using Polling (Queue or Stream) Event Sources

  • Development considerations when using polling event sources to trigger Lambda functions
  • Distinctions between queues and streams as event sources for Lambda
  • Selecting appropriate configurations (queue type, batch size, visibility timeout) when using Amazon Simple Queue Service (Amazon SQS) as an event source for Lambda
  • Hands-on exercise: Configure an SQS queue with a dead-letter queue as a Lambda event source

Module 4: Using EventBridge and Amazon SNS to Decouple Components

  • Development considerations when using asynchronous event sources
  • Features and use cases of Amazon EventBridge
  • Hands-on exercise: Build a customer EventBridge rule
  • Comparison of use cases for Amazon Simple Notification Service (Amazon SNS) vs. EventBridge
  • Group exercise: Adding Amazon SNS and/or EventBridge into an architecture
  • Hands-on exercise: Configure an SNS topic with filtering

Module 5: Authentication, Authorization, and Access Control

  • Common scenarios for using Amazon Cognito in serverless applications
  • Amazon Cognito user pools vs. federated identities
  • Options for authenticating to APIs using API Gateway
  • Hands-on exercise: Configure a REST API with an AWS Identity and Access Management (IAM) authorizer
  • Integrating with an existing identity provider (IdP)
  • Hands-on exercise: Choose a Lambda authorizer blueprint to support integrating with an existing IdP

Module 6: Serverless Deployment Frameworks

  • Overview of imperative vs. declarative programming for infrastructure as code
  • Comparison of AWS CloudFormation, AWS CDK, Amplify, and AWS SAM frameworks
  • Features and limitations of AWS SAM and the AWS SAM CLI for local emulation and testing
  • Hands-on exercise: Use AWS SAM and the AWS SAM CLI to locally test and update a serverless application
  • Hands-On Lab 1: Build and Deploy a Simple Serverless Application
  • Hands-On Lab 2: Update and Deploy a Serverless Application to Use Asynchronous Messaging Services

Day 2

Module 7: Writing Good Lambda Functions

  • Best practices for function code and configuration
  • How the Lambda lifecycle influences your function code
  • Execution roles and resource policies
  • Hands-on exercise: Configure and test a Lambda function
  • Hands-on exercise: Use a Lambda layer to bundle your SDK
  • Hands-on exercise: Update the function version and add an alias
  • Hands-on exercise: Configure an OnFailure destination for your function

Module 8: Error Handling and Observability

  • Distinguish between traditional monitoring and observability
  • Lambda execution models and error handling
  • Writing effective log files
  • Hands-on exercise: Interpreting logs
  • Using AWS X-Ray for observability
  • Hands-on exercise: Enable X-Ray and interpret X-Ray traces
  • Handling partial failures with queues and streams

Module 9: Monitoring

  • Types of monitoring that are most important in serverless applications
  • Amazon CloudWatch metrics built into services
  • Custom metrics and metric math
  • Hands-on exercise: Use available metrics to monitor services
  • Hands-on exercise: Use CloudWatch Logs Insights to uncover application issues

Module 10: Step Functions for Failure Handling and Orchestration

  • AWS Step Functions in serverless architectures
  • Group exercise: Moving code into Step Function tasks
  • Step Functions for error handling and retries
  • The callback pattern
  • Using direct integrations between Step Functions and other services
  • Express vs. Standard Workflows
  • Hands-on exercise: Create, execute, and monitor a state machine in Step Functions
  • Hands-On Lab 3: Failure Management, Monitoring, and Observability
  • Hands-On Lab 4: Step Functions for Orchestration

Day 3

Module 11: Application Security

  • How serverless fits in the shared responsibility model
  • Why and how to VPC-enable a function
  • OWASP considerations for serverless applications
  • Services for protecting data in transit and at rest
  • Hands-on exercise: Use AWS CloudTrail and AWS Config to monitor and manage applications

Module 12: Handling Scale in Serverless Applications

  • How burst behavior impacts application design
  • Using provisioned concurrency to optimize performance
  • Performing cold start analysis and selecting appropriate concurrency settings
  • Hands-on exercise: Use Lambda Power Tuning to select optimal memory settings
  • Hands-on exercise: Analyzing Lambda performance with CloudWatch Logs Insights queries
  • Interpreting errors that indicate scaling issues
  • Group exercise: Analyzing Amazon Kinesis data stream performance and adjusting options to address
  • Identifying and addressing throttling issues in API Gateway and Amazon SQS
  • Demo: Using streams for real-time monitoring

Module 13: Automating the Deployment Pipeline

  • Options for safe and rapid deployment including traffic shifting, linear, canary, and blue/green deployments
  • Deployment options in AWS SAM templates
  • Serverless automated CI/CD pipeline
  • Hands-on exercise: Deploy a Lambda function with traffic shifting
  • Hands-on exercise: Deploy an AWS SAM template with safe deployment instructions
  • Hands-On Lab 5: Security and Scale
  • Hands-On Lab 6: Automated Deployments

Wrap-Up

  • Review
  • Knowledge post-check

Enroll for Developing Serverless Solutions on AWS

Developing Serverless Solutions on AWS

$2,025.00

Clear
SKU: AWS-DSS Category:

Additional information

Schedules

Dec 7 2021 – Dec 9 2021 (3 days) 12:00PM – 8:00PM US-Eastern

Reviews

There are no reviews yet.

Be the first to review “Developing Serverless Solutions on AWS”

Your email address will not be published. Required fields are marked *

No products were found matching your selection.

Follow-on Courses

Browse the suggested follow-on courses below and continue your training journey. We offer training in various learning formats, from instructor-led to virtual, so you can choose what works best for you. Get started by selecting a course to learn more.

No products were found matching your selection.

TOP
0