Advanced Developing on AWS (ADVDEV)

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.

  • Course level: Advanced
  • Duration: 3 days


Activities

This course includes presentations, group exercises, and hands-on labs.


Course objectives

In this course, you will:

  • 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


Intended Audience

This course is intended for experienced software developers who are already familiar with AWS services.


Prerequisites

We recommend that attendees of this course have:

  • 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 
Show details


Course Outline

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 3: 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 4: 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 options

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