Advanced Developing on AWS

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.

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.

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

Outline

This course covers the following concepts:

  • Interfacing with AWS Services
  • Deconstructing a monolithic architecture
  • Migrating to the cloud
  • Creating an infrastructure
  • Declare and isolate dependencies
  • Storing configuration in the cloud
  • Establish a build, release, run model
  • Creating the codebase
  • Deploying an application
  • Evolution of architecture
  • Design patterns
  • I/O explosion and preventing it
  • Microservices