Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

DevOps is the combination of cultural philosophies, practices, and tools to increase development velocity to deliver apps. In general, practicing DevOps enable organizations to better serve customers and compete effectively in the market.

Infrastructure as Code and release pipeline with CI/CD are two of best practices in DevOps, and considered the best entry for developers who just getting started with DevOps.

Join us in this session to understand how we can implement IaC and CI/CD using AWS Cloud Development Kit. We will show you a step-by-step demos to help you get started.

After this session, you will understand the overall concept of IaC and CI/CD, AWS services you need to use and developer tool for seamless integration with your development workflow.

Donnie Prakoso

June 13, 2022

More Decks by Donnie Prakoso

Other Decks in Technology


  1. 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.
  2. 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%
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. Community Download the PPT Code Repo + Demo AWS Community