Course Overview
The Advanced Developing on AWS course uses the real-world scenario of taking a legacy, on-premises monolithic application and refactoring it into a serverless microservices architecture. This three-day advanced course covers advanced development topics such as architecting for a cloud-native environment; deconstructing on-premises, legacy applications and repackaging them into cloud-based, cloud native architectures; and applying the tenets of the Twelve-Factor Application methodology.
Who should attend
Experienced software developers who are already familiar with AWS services
Certifications
This course is part of the following Certifications:
Prerequisites
We recommend that attendees of this course have the following prerequisites:
- In-depth knowledge of at least one high-level programming language
- Working knowledge of core AWS services and public cloud implementation
- Completion of the Developing on AWS (AWSD) course, and then a minimum of 6 months of application of those concepts in a real world environment.
Course Objectives
In this course, you will learn how to:
- Analyze a monolithic application architecture to determine logical or programmatic break points where the application can be broken up across different AWS services.
- Apply Twelve-Factor Application manifesto concepts and steps while migrating from a monolithic architecture.
- Recommend the appropriate AWS services to develop a microservices based cloud native application.
- Use the AWS API, CLI, and SDKs to monitor and manage AWS services.
- Migrate a monolithic application to a microservices application using the 6 Rs of migration.
- Explain the SysOps and DevOps interdependencies necessary to deploy a microservices application in AWS.
Follow On Courses
Outline: Advanced Developing on AWS (ADV-DEV)
Day 1
Module 1: The cloud journey
- Common off-cloud architecture
- Introduction to Cloud Air
- Monolithic architecture
- Migration to the cloud
- Guardrails
- The six R’s of migration
- The Twelve-Factor Application Methodology
- Architectural styles and patterns
- Overview of AWS Services
- Interfacing with AWS Services
- Authentication
- Infrastructure as code and Elastic Beanstalk
- Demonstration: Walk through creating base infrastructure with AWS CloudFormation in the AWS console
- Hands-on lab 1: Deploy your monolith application using AWS Elastic Beanstalk
Module 2: Gaining Agility
- DevOps
- CI/CD
- Application configuration
- Secrets management
- CI/CD Services in AWS
- Demonstration: Demo AWS Secrets Manager
Day 2
Module 5: Monolith to MicroServices
- Microservices
- Serverless
- A look at Cloud Air
- Microservices using Lambda and API Gateway
- SAM
- Strangling the Monolith
- Hands-on lab: Using AWS Lambda to develop microservices
Module 6: Polyglot Persistence & Distributed Complexity
- Polyglot persistence
- DynamoDB best practices
- Distributed complexity
- Step functions
Day 3
Module 5: Resilience and Scale
- Decentralized data stores
- Amazon SQS
- Amazon SNS
- Amazon Kinesis Streams
- AWS IoT Message Broker
- Serverless event bus
- Event sourcing and CQRS
- Designing for resilience in the cloud
- Hands-on lab: Exploring the AWS messaging option
Module 6: Security and Observability
- Serverless Compute with AWS Lambda
- Authentication with Amazon Cognito
- Debugging and traceability
- Hands-on lab: Developing microservices on AWS
- Hands-on lab 8: Automating deployments with Cloud Formation