AWS DevOps Essentials
An Introductory Workshop on CI/CD Practices
In few hours, quickly learn how to effectively leverage various AWS services to improve developer productivity and reduce the overall time to market for new product capabilities. In this session, we will demonstrate a prescriptive approach to incrementally adopt and embrace some of the best practices around continuous integration & delivery using AWS Developer Tools and 3rd party solutions including, AWS CodeCommit (a managed source control service), AWS CodeBuild (a fully managed build service), Jenkins (an open source automated build server), CodePipeline (a fully managed continuous delivery service), and CodeDeploy (an automated application deployment service). We will also highlight some best practices and productivity tips that can help make your software release process fast, automated, and reliable.
See the diagram below for a depiction of the complete architecture.
Prerequisites
- IAM Permissions: Ensure your user has sufficient privileges in the AWS account of your choice. You must have permissions for the following services:
AWS Identity and Access Management
Amazon Simple Storage Service
AWS CodeCommit
AWS CodeBuild
AWS CloudFormation
AWS CodeDeploy
AWS CodePipeline
AWS Cloud9
Amazon EC2
Amazon SNS
Amazon CloudWatch Events
Important:
Preferred regions for lab
- North Virginia US-EAST-1
- Oregon US-WEST-2
If you want to your region choice for the lab. Kindly the select the region which has all four Code* services and Cloud9 service. You can find the region services list. Stick to the same region throughout all labs. Make sure you have not reached the VPC or Internet Gateway limits for that region. If you already have 5 VPCs/IGWs, delete at least one before you proceed or choose an alternate region.
Labs
This workshop is broken into multiple labs. You must complete each Lab before proceeding to the next.
- Lab 1 - Build project on the cloud
- Lab 2 - Automate deployment for testing
- Lab 3 - Setup CI/CD using AWS CodePipeline
- Lab 4 (Optional) - Using Lambda as Test Stage in CodePipeline
Clean up
- Visit CodePipeline console, select the created pipeline. Select the Edit and click Delete.
- Visit CodeDeploy console, select the created application. In the next page, click Delete Application.
- Visit CodeBuild console, select the created project. Select the Action and click Delete.
- Visit CodeCommit console, select the created repository. Go to setting and click Delete repository.
- Visit Lambda console, select the created function. Select the Action and click Delete.
- Visit Cloudformation console, select the created stacks. Select the Action and click Delete Stack.
- Visit Cloud9 console, select the created Environment. Select the Action and click Delete.
- Visit Simple Notification Service console, select Topics. Select the created topic. Select the Action and click Delete topics. Next select Subscriptions. Select the created subscription. Select the Action and click Delete subscriptions.
License
This library is licensed under the Apache 2.0 License.