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
Tweet

More Decks by Donnie Prakoso

Other Decks in Technology

Transcript

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

    View full-size slide

  2. 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.

    View full-size slide

  3. AWS Community
    What We Are Going to Deploy Today

    View full-size slide

  4. Let’s talk about DevOps

    View full-size slide

  5. AWS Community
    What is DevOps?
    Culture
    Practices
    Tools

    View full-size slide

  6. 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%

    View full-size slide

  7. 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

    View full-size slide

  8. Infrastructure as à is Code

    View full-size slide

  9. 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

    View full-size slide

  10. 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

    View full-size slide

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

    View full-size slide

  12. 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

    View full-size slide

  13. AWS Community
    Diagram Architecture

    View full-size slide

  14. CI/CD foundations

    View full-size slide

  15. 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

    View full-size slide

  16. AWS Community
    Release process stages
    Source Build Test Deployment

    View full-size slide

  17. 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

    View full-size slide

  18. 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

    View full-size slide

  19. AWS Community
    Implement CI/CD with CDK Pipelines

    View full-size slide

  20. AWS Community
    CI/CD on AWS

    View full-size slide

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

    View full-size slide