Duration
3 Days
18 CPD hours
This course is intended for
Developers who have some familiarity with serverless and experience with development in the AWS Cloud
Overview
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
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.
Introduction
Introduction to the application you will build
Access to course resources (Student Guide, Lab Guide, and Online Course Supplement)
Thinking Serverless
Best practices for building modern serverless applications
Event-driven design
AWS services that support event-driven serverless applications
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)
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
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
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
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
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
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
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
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
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
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
Additional course details:
Nexus Humans AWS Developing Serverless Solutions on AWS training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward.
This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts.
Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success.
While we feel this is the best course for the AWS Developing Serverless Solutions on AWS course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you.
Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.