Blog post

DevOps Zero to Hero Workshop

By Samantha Allen 08 Oct 2018


This 2-day workshop enables IT professionals to start actively using AWS.

The focus is to gain hands on experience with AWS through practice. The workshop will focus on building 4 different apps from the ground up and deploying them to Amazon Web Services. These apps will be cloud native and have minimal code and make full use of AWS services including EC2, EBS, ELB, ECS, Fargate, EKS, VPC, Lambda, S3, DynamoDB, Route53, IAM, RDS, CloudFormation, CloudFront, SQS and SNS.

The workshop is not about teaching coding, we will use ready made code snips and we’ll customise it to achieve the outcome required. Basic scripting experience would be helpful but coding is not a prerequisite.

The ideal student is an IT a professional who has minimal or no experience with AWS and wants to be cloud native and transition to a cloud architect or devops role.

Group discussion and white boarding, demonstrations and actual lab work are central to this workshop providing best value of time in class. There is deliberately very minimal slide presentation to maximise hands on and group discussion time. As such there is not a course manual, but instead a set of worksheets to guide the student through the lab exercises and to provide basic reference on each AWS service we use; its purpose, basic instruction on its use, including console, web and API.

MODULES

MODULE 1 - DEPLOY A 2-TIER APPLICATION TO EC2 

In module 1 we will create an environment in an AWS account to run a 2 tier web application. We will start with a basic deployment and discuss as a group how to make the application perform better and scale. This will examine EC2 instance type choices, Elastic Block Storage options and caching and offload options such as CloudFront and S3 for static content hosting. We will start with database in EC2 and migrate it to AWS Relational Database Services (RDS) to see the difference in AWS-managed database services.

MODULE 2 - DEPLOY A NOSQL BASED APPLICATION USING TEMPLATE AUTOMATION

In this module we will deploy an application using an infrastructure-as-code template. We will first create the template using CloudFormation designer, then make manual modifications to it and deploy our application. The application we will deploy in this module is comprised of EC2 instances for front end and a NoSQL database backend using DynamoDB. Once our application is deployed and working, we will update our CloudFormation template and be able automate the update of our application stack. During discuss of DynamoDB we plan and implement changes to our application to ensure best possible performance from DynamoDB.

MODULE 3 - CONTAINERISATION

In this module, we will redeploy our application using managed container orchestration with AWS Elastic Container Service (ECS). We will repackage our application for a Docker container image, deploy to registry and then consume with ECS. We will first use EC2 launch type, then migrate to Fargate launch type to eliminate the EC2 component. We will then compare and discuss alternate container strategy including running container runtime in EC2 instances and demonstrate consuming managed Kubernetes using Elastic Kuberentes Service (EKS).

MODULE 4 - SERVERLESS ARCHITECTURES

In this module, we will build a true serverless application making use of the AWS building blocks. We will start by building a RESTful API with API Gateway and connect it to an existing web service. We will then build a backend with Lambda functions using S3 and DynamoDB as datastores. The Lambda functions will be decoupled and buffered from one another using Simple Queuing Service (SQS). We will then add in event driven notifications using Simple Notification Service (SNS).

TO VIEW OUR FULL AWS COURSE PORTFOLIO PLEASE CLICK HERE