Developing serverless solutions on AWS
Your applications need to benefit from AWS without sacrificing technical control. Connect cloud services and development logic to structure their integration. Develop a framework for designing coherent solutions and preparing for their operation.
- Duration
- 3 days 21 hours
- Code
- AWS17FR Code
Presentation
Serverless development on AWS offers exceptional flexibility and scalability but requires mastery of specific practices. This 3-day course is designed for developers, introducing and providing hands-on experience with the best approaches to building robust serverless applications.
This intermediate-level programme guides you through a series of hands-on labs, progressing from simpler to more complex topics. You will explore event-driven design, API-driven development, orchestration with Step Functions and serverless application security. The course also covers scaling and automating the deployment pipeline (CI/CD) with AWS tools.
By the end of the course, you will be able to apply design and security best practices to serverless applications, build solutions connecting different AWS services and automate their deployment. You will also identify key scaling considerations and create effective CI/CD workflows. This expertise will help you address serverless development challenges and innovate on AWS.
Objectives
By the end of this AWS serverless course, you will be able to:
- Design serverless applications by applying event-driven best practices with appropriate AWS services;
- assess the challenges and trade-offs of transitioning to serverless development and propose recommendations suited to your development environment;
- build serverless solutions by connecting managed AWS services and accounting for their characteristics (service quotas, available integrations, invocation models, error handling and event payloads);
- compare available infrastructure as code options, including AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM) and AWS Cloud Development Kit (AWS CDK);
- optimise Lambda function development through best practices (error handling, logging, environment reuse, layers, immutability, idempotency, concurrency and memory configuration);
- incorporate observability and monitoring best practices into serverless applications;
- apply security best practices to serverless applications;
- identify key serverless application scaling considerations and associate each with the methods, tools or best practices to address it;
- use AWS SAM, AWS CDK and AWS developer tools to configure a CI/CD workflow and automate serverless application deployment;
- actively develop and maintain an inventory of serverless resources to support ongoing development and engagement with the serverless community.
Program
Module 1: Introduction
- Introduction to the application you will build during the course.
- Introduction to course resources: student guide, lab guide and online supplement.
Module 2: Thinking serverless
- Best practices for building modern serverless applications.
- Event-driven design.
- AWS services supporting event-driven serverless applications.
Module 3: Developing APIs and synchronous event sources
- Characteristics of standard web applications based on request/response APIs.
- The role of Amazon API Gateway in serverless applications.
- Comparing API types (REST/HTTP, WebSocket and GraphQL).
Practical exercises
- Configure an HTTP API endpoint integrated with a Lambda function.
Module 4: Introducing authentication, authorisation and access control
- Distinguishing authentication from authorisation.
- API authentication options using API Gateway.
- Integrating Amazon Cognito into serverless applications.
- Comparing Amazon Cognito user pools and federated identities.
Module 5: Exploring serverless deployment frameworks
- Imperative versus declarative programming for infrastructure as code.
- Comparing CloudFormation, AWS CDK, Amplify and AWS SAM frameworks.
- AWS SAM and AWS SAM CLI features for local emulation and testing.
Module 6: Using Amazon EventBridge and Amazon SNS to decouple components
- Development considerations when using asynchronous event sources.
- Amazon EventBridge features and use cases.
- Comparing Amazon Simple Notification Service (Amazon SNS) and EventBridge use cases.
Practical exercises
- Build a custom EventBridge bus and a rule.
- Configure an Amazon SNS topic with filtering.
Module 7: Developing event-driven applications with queues and streams
- Development considerations when using polling event sources to trigger Lambda functions.
- Differences between queues and streams as Lambda event sources.
- Selecting appropriate configurations when using Amazon Simple Queue Service (Amazon SQS) or Amazon Kinesis Data Streams as a Lambda event source.
Practical exercises
- Configure an Amazon SQS queue with a dead-letter queue as a Lambda event source.
- Deploy a simple serverless application.
- Implement message fan-out with Amazon EventBridge.
Module 8: Writing effective Lambda functions
- How the Lambda lifecycle affects function code.
- Best practices for Lambda functions.
- Function configuration.
- Managing function code, versions and aliases.
- Lambda error handling.
- Handling partial failures with queues and streams.
Practical exercises
- Configure and test a Lambda function.
Module 9: Orchestrating with Step Functions
- Using AWS Step Functions in serverless architectures.
- The callback pattern.
- Comparing Standard and Express workflows.
- Step Functions direct integrations.
Practical exercises
- Explore Step Functions states.
- Troubleshoot a Step Functions Standard workflow.
Module 10: Implementing observability and monitoring
- The three pillars of observability.
- Using Amazon CloudWatch Logs and Logs Insights.
- Writing effective logs.
- Using AWS X-Ray for observability.
- CloudWatch metrics and the embedded metric format.
Practical exercises
- Interpret logs.
- Enable X-Ray and interpret X-Ray traces.
- Configure metrics and alarms.
- Use ServiceLens.
Module 10: Securing serverless applications
- Security best practices for serverless applications.
- Applying security at every layer.
- API Gateway and application security.
- Lambda and application security.
- Protecting data in serverless data stores.
- Auditing and traceability.
Practical exercises
- Secure serverless applications.
Module 11: Managing scaling in serverless applications
- Scaling considerations for serverless applications.
- Using API Gateway to manage scaling.
- Scaling Lambda concurrency.
- How different event sources scale with Lambda.
Module 12: Automating the deployment pipeline
- The importance of CI/CD (continuous integration/continuous deployment) in serverless applications.
- Tools in a serverless pipeline.
- AWS SAM features for serverless deployments.
- Automation best practices.
Practical exercises
- Implement serverless CI/CD on AWS.
Audience
This course is intended for:
- Experienced developers already familiar with serverless concepts and with development experience in the AWS Cloud.
Prerequisites
This AWS course requires the following prerequisites:
- Basic knowledge of general AWS Cloud architecture;
- knowledge equivalent to that gained from the Developing on AWS course;
- knowledge equivalent to that gained from AWS Lambda Foundations and Amazon API Gateway for Serverless Applications training.
Teaching and assessment methods
- Initial skills assessment
- Training materials provided to participants
- Continuous assessment throughout the course
- End-of-course feedback questionnaire
- Combination of theory and practical application
- Attendance records
- Post-course follow-up evaluation
- Practical exercises
Course highlights
- Trainer expertise: benefit from recognised, AWS-certified trainers with in-depth knowledge of best practices for building serverless applications on AWS.
- Interactive hands-on learning: master serverless development tools and techniques through presentations, hands-on labs, demonstrations and group exercises. Deploy a serverless application through labs progressing from simple to complex to address real-world challenges.
- Key skills development: the course content helps you develop authentic approaches to learning and problem-solving beyond the classroom, using AWS documentation.
Dates and sessions
Choose the date and delivery format that suit you.
No upcoming sessions are currently available.
Session alerts
AWS is a registered trademark of Amazon.com, Inc. or its affiliates.
fr
en