Advanced Developing on AWS
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.
What you will learn
- 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
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 classroom training, and then a minimum of 6 months of application of those concepts in a real world environment
Target audience
- Experienced software developers who are already familiar with AWS services.
Training Program
6 modules to master the fundamentals
Topics covered
- →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
Activities
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
Topics covered
- →DevOps
- →CI/CD
- →Application configuration
- →Secrets management
- →CI/CD Services in AWS
Activities
Demonstration: Demo AWS Secrets Manager
Topics covered
- →Microservices
- →Serverless
- →A look at Cloud Air
- →Microservices using Lambda and API Gateway
- →SAM
- →Strangling the Monolith
Activities
Hands-on lab: Using AWS Lambda to develop microservices
Topics covered
- →Polyglot persistence
- →DynamoDB best practices
- →Distributed complexity
- →Step functions
Topics covered
- →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
Activities
Hands-on lab: Exploring the AWS messaging options
Topics covered
- →Serverless Compute with AWS Lambda
- →Authentication with Amazon Cognito
- →Debugging and traceability
Activities
Hands-on lab: Developing microservices on AWS
Hands-on lab 8: Automating deployments with Cloud Formation
Quality Process
SFEIR Institute's commitment: an excellence approach to ensure the quality and success of all our training programs. Learn more about our quality approach
- Lectures / Theoretical Slides — Presentation of concepts using visual aids (PowerPoint, PDF).
- Technical Demonstration (Demos) — The instructor performs a task or procedure while students observe.
- Guided Labs — Guided practical exercises on software, hardware, or technical environments.
The achievement of training objectives is evaluated at multiple levels to ensure quality:
- Continuous Knowledge Assessment : Verification of knowledge throughout the training via participatory methods (quizzes, practical exercises, case studies) under instructor supervision.
- Progress Measurement : Comparative self-assessment system including an initial diagnostic to determine the starting level, followed by a final evaluation to validate skills development.
- Quality Evaluation : End-of-session satisfaction questionnaire to measure the relevance and effectiveness of the training as perceived by participants.
Train multiple employees
- Volume discounts (multiple seats)
- Private or custom session
- On-site or remote