Modern Application Development Workshop
This is a workshop to get developers started on AWS using the cloud native primitives. This workshop is designed as a self paced lab which incrementally increases in expertise
We will build a simple web app based on microservices using the 12 factor methodology, deploy it on the cloud and try some debug steps.
We will do this workshop in a pair programming mode. So find a buddy.
Pre-requisite
The modules build on each other and are intended to be executed linearly.
Basics
Serverless application
Level | Module | Description |
---|---|---|
Basic | Writing your first AWS Lambda Function on AWS Cloud9 | Add a new service using SAM Local to a serverless application which was created by from AWS CodeStar |
Basic | Deploying Your Function using AWS SAM and AWS CodeDeploy | Deploy Function to Cloud using AWS developer Tools. |
Basic | Debugging and Monitoring your function | Debug and monitor your application using Cloud9, CodeStar and xRay and Cloudwatch |
Basic | Build a Continuous Deployment Pipeline | Using AWS CodeCommit, AWS CodePipeline, and AWS CodeBuild, create a continuous deployment pipeline to automatically deploy changes to our application |
Intermediate | Deploying Deep Learning Functions on Lambda | Predict labels along with their probablities for an image using a pre-trained model with Apache MXNet deployed on AWS Lambda |
Containerized application
Fargate
Level | Module | Description |
---|---|---|
Basic | Getting Started with Amazon ECS using AWS Fargate | Create a new Amazon ECS cluster using the AWS Management Console. At the end of this module, we’ll have a new ECS cluster and supporting infrastructure such as a VPC and subnets and a small Hello World application running |
Basic | Create a Docker Image Repository | Create a new Docker registry repository for workshop images in Amazon ECR. |
Basic | Build and Push a Docker Image | Fork a sample application from GitHub which uses an Amazon DynamoDB table to store notable quotations and build it as a Docker container image and push it to your new Docker image repository. |
Basic | Create a Service | Fork a sample application from GitHub which uses an Amazon DynamoDB table to store notable quotations and build it as a Docker container image and push it to your new Docker image repository. |
Intermediate | Build a Continuous Deployment Pipeline | Using AWS CodeCommit, AWS CodePipeline, and AWS CodeBuild, create a continuous deployment pipeline to automatically deploy changes to our application |
ECS
Level | Module | Description |
---|---|---|
Basic | Deploy Java spring PetClining microservice app on ECS | We will be using AWS CodeCommit, AWS CodePipeline, AWS CodeBuild to demonstrate continuous delivery of a Java Spring Boot microservices. We will be using the Spring PetClinic project. |
Intermediate | Containers - Blue-Green Deployment | Execute a canary deployment for Amazon EC2 Container Service. In order to provide an automated and safe method of migrating traffic from a blue deployment to a green one, this solution leverages Route53 weights to adjust the traffic flow from one ECS service to another. |
Intermediate | Deploying Deep Learning Functions on ECS | Create an automated workflow that will provision, configure and orchestrate a pipeline triggering deployment of any changes to your AI model or application code. |
Kubernetes
Level | Module | Description |
---|---|---|
Basic | Deploy a sample application on Kubernetes using AWS CodeSuite Tools | The CodeSuite Continuous Deployment reference architecture demonstrates how to achieve continuous deployment of an application to a Kubernetes cluster using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild and AWS Lambda. We will use a sample puython application. |
Other
Level | Module | Description |
---|---|---|
Advanced | Cross Regions/Cross Account Pipeline | Build an automated cross-region code deployment solution using AWS CodePipeline, AWS CodeDeploy , and AWS Lambda |
License
This repository contains multiple directories, each individually licensed. Please see the LICENSE file in each directory.