amazon-archives / aws-developer-workshop

This is a self paced workshop to get started on Serverless or Container development using AWS Developer Tools.
Apache License 2.0
9 stars 4 forks source link

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

  1. Setup AWS account
  2. SetUp Development Environment

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.