Slide 1

Slide 1 text

Community AWS Community Infrastructure as Code and CI/CD in Practice with AWS CDK

Slide 2

Slide 2 text

AWS Community Key Takeaways Understand how DevOps enable you to improve development velocity by implementing Infrastructure as Code with AWS CDK and integration with CI/CD using CDK Pipelines.

Slide 3

Slide 3 text

AWS Community What We Are Going to Deploy Today

Slide 4

Slide 4 text

Let’s talk about DevOps

Slide 5

Slide 5 text

AWS Community What is DevOps? Culture Practices Tools

Slide 6

Slide 6 text

AWS Community Teams that adopt modern software practices are more agile and higher performing Source: 2019 DORA State of DevOps report Teams who automate software delivery with continuous delivery: D E P L O Y M E N T F R E Q U E N C Y Weekly–monthly Hourly–daily C H A N G E L E A D T I M E 1–6 months 1–7 days C H A N G E F A I L U R E R A T E 46–60% 0%–15%

Slide 7

Slide 7 text

AWS Community So why hasn’t everyone already moved to DevOps? Too difficult to get started Need to glue together too many services 1 2 3 4 Not enough centralized oversight Sift through all the vendors Lack internal expertise

Slide 8

Slide 8 text

Infrastructure as à is Code

Slide 9

Slide 9 text

AWS Community Treat Infrastructure The Same Way Developers Treat Codes 1. Make infrastructure changes repeatable and predictable 2. Release infrastructure changes using the same tools as code changes 3. Replicate production environment in a staging environment to enable continuous testing

Slide 10

Slide 10 text

AWS Community AWS CDK accelerates development teams In Preview Familiar Your language Just classes and methods Tool Support Compatible with testing frameworks you’re already using Abstraction Sane defaults Reusable classes

Slide 11

Slide 11 text

AWS Community Constructs levels CloudFormation resources L1 Purpose-built constructs L3+ AWS Constructs L2

Slide 12

Slide 12 text

AWS Community Workflow > cdk init Generate project > npm run build Build project > cdk synth Create templates and assets > cdk diff Check what will change > cdk deploy Push changes to the cloud

Slide 13

Slide 13 text

AWS Community Diagram Architecture

Slide 14

Slide 14 text

CI/CD foundations

Slide 15

Slide 15 text

AWS Community Release process stages Source Build Test Deployment • Integration testing with other systems • Load testing • UI testing • Security testing • Check-in source code such as .java files • Peer review new code • Compile code • Unit tests • Style checkers • Create container images and function deployment packages • Deploy to application environments • Monitor code in production to quickly detect errors

Slide 16

Slide 16 text

AWS Community Release process stages Source Build Test Deployment

Slide 17

Slide 17 text

AWS Community AWS CodePipeline • Continuous delivery service for fast and reliable application updates • Model and visualize your software release process • Builds, tests, and deploys your code every time there is a code change • Integrates with third-party tools and AWS

Slide 18

Slide 18 text

AWS Community AWS CodeBuild • Each build runs in a new Docker container for a consistent, immutable environment • Docker and AWS CLI are installed in every official CodeBuild image • Provide custom build environments suited to your needs through the use of Docker images

Slide 19

Slide 19 text

AWS Community Implement CI/CD with CDK Pipelines

Slide 20

Slide 20 text

AWS Community CI/CD on AWS

Slide 21

Slide 21 text

Community Download the PPT Code Repo + Demo AWS Community https://bit.ly/aws-community-asean-content