Advanced Developing on AWS with AWS Jam (ADVDEV-AAJ)

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 four-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. 


The final day is an AWS Jam, a gamified event, with teams competing to score points by completing a series of challenges according to established best practices based on concepts covered in the course. You get to experience a wide range of AWS services in a series of real-world scenarios that represent common

operational and troubleshooting tasks. The end result is developing, enhancing, and validating your skillsets in the AWS Cloud through real-world problem solving, exploring new services, features, and understanding how they interoperate.

  • Course level: Advanced
  • Duration: 4 days 


Activities

This course includes presentations, group exercises, hands-on labs, and team-based gamified challenge.


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
  • Work in a team environment to solve real AWS use-case challenges in an AWS Jam


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


Day 4

AWS Jam

  • Participate in team based challenges in a real AWS environment
  • Compete with your colleagues in a gamified, hands-on learning experience
  • Apply your learning from the course on various AWS services