Advanced Developing on AWS

Price

$2,550.00 (AUD) $2,550.00 (NZD) $2,550.00 (SGD)

Duration

3 Days

Modality

Live Online

Course code

AWS-ADV-DEV

logo

Course Overview

The Advanced Developing on AWS course uses the real-world scenario of taking a legacy, on premise 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-premise, legacy applications and repackaging them into cloud-based, cloud native architectures; and applying the tenets of the 12 factor application methodology. 

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


Target 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 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 course, and then a minimum of 6 months of application of those concepts in a real-world environment. 


Target 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 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 course, and then a minimum of 6 months of application of those concepts in a real-world environment. 


Module 1

The Cloud Journey 

  • Level setting / recap of some core fundamentals, such as
    • AWS Global Infrastructure
    • Authentication
    • SDK usage
  • Architectural styles and patterns
  • Introduction to our monolithic application, Cloud Air and introduce our compelling event project timeline
  • Migration to AWS and design guardrails
  • Factor app and considerations for AWS
  • Using AWS Elastic Beanstalk to meet our compelling event / Rehost (Lift and Shift 

Module 2

Gaining Agillity

  • DevOps – from a developer’s perspective
  • Build / Release / Run
  • Continuous Integration / Continuous Delivery / Continuous Deployment
  • Separating configuration from code
  • Secrets Management
  • CodeCommit, CodeBuild, CodeDeploy, CodePipeline & CodeStar

Module 3

Monolith to Microservices

  • Learning the characteristics of Microservices
  • Domain-Driven Design and bounded context
  • Microservices organization and structure
  • Evolution of architecture
  • Serverless mindset
  • Peeling the onion: identifying candidate microservices in our monolithic codebases
  • Building Microservices using Lambda & API Gateway
  • CloudFormation
  • Testing and debugging using SAM CLI
  • AWS Cloud Development Kit (CDK).

Module 4

Polyglot Persistence and Distributed Complexity

  • Polyglot persistence for Microservices
  • DynamoDB and scaling for heavy read and write workloads
  • Decentralized Data Stores
  • Transaction integrity in a distributed system
  • CAP Theorem
  • Tracking transactions through distributed microservices
  • Preventing I/O Explosion
  • Coordination and visibility of Microservices in AWS
  • AWS Step Functions

Module 5

Resilience and Scale in AWS

  • Command Query Responsibility Segregation (CQRS)
  • Event Sourcing
  • Smart endpoints and dumb pipes
  • Amazon Kinesis Streams
  • AWS IoT Publish/Subscribe
  • AWS IoT Message Broker
  • Synchronous Decoupling
  • Asynchronous Decoupling
  • Amazon SQS and Amazon SNS
  • Consumption vs Journal models
  • Serverless Event Bus
  • Designing for failure
  • Circuit Breaker Patterns
  • Caching
  • Idempotency

Module 6

Security and Observability

  • Authentication with Amazon Cognito
  • API Authorization, throttling, quotas and tracking
  • Debugging and Traceability using AWS X-Ray

Class Schedule