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

Building Modern Application with Containers

Building Modern Application with Containers

Containers are a powerful way for developers to package and deploy their applications. They are lightweight and provide a consistent, portable software environment for applications to easily run and scale anywhere. However, deploying our containers still creates another layer of complexity, and that's where Amazon ECS can help you. Amazon ECS makes it easy to use containers as a building block for your applications by eliminating the need for you to install, operate, and scale your cluster management infrastructure.
In this talk packed with demos, I'll show you how we can easily deploy, release and run containerized applications using Amazon ECS, integration with Amazon ECR, and using AWS Copilot to streamline the process.

Donnie Prakoso

February 10, 2022
Tweet

More Decks by Donnie Prakoso

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its Affiliates.
    Developer Advocate, ASEAN
    Amazon Web Services
    Building Modern Application
    with Containers
    Donnie Prakoso
    Developer Edition @donnieprakoso
    donnieprakoso
    go.donnie.id/youtube
    donnieprakoso

    View full-size slide

  2. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Donnie Prakoso, MSc
    Senior Developer Advocate, ASEAN
    • 17+ years in software development and system operations
    • Banking industry, telco to startups
    • From software developer to R&D manager to CTO
    • I talk a lot about microservices and machine learning
    • Self-proclaimed Barista and Café Racer enthusiasts
    donnieprakoso
    go.donnie.id/youtube
    @donnieprakoso
    donnieprakoso

    View full-size slide

  3. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    • Understand the goal of building with modern approach
    • Understand the overall essential container services on AWS
    • How to use AWS Copilot to deploy your application
    • How to deploy another service with AWS Copilot
    • How to integrate services
    Key Takeaways

    View full-size slide

  4. © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Modern Application.
    The combination of modern technologies, architectures, software
    delivery practices, and operational processes that lead teams to
    deliver value more quickly, frequently, consistently, and safely.

    View full-size slide

  5. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Goal of Modern Application
    Value
    for
    Customers
    Build better
    products
    Release
    features
    faster
    Experiment
    and
    Innovate
    more often
    Focus on
    business
    logic
    Decouple
    software
    systems

    View full-size slide

  6. © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Developers provision
    infrastructure on demand
    and deploy in minutes
    Software delivery is
    automated via continuous
    delivery pipelines
    Applications are fully
    instrumented for metric
    and log collection
    Organizations
    standardize on tools
    and best practices
    Security best practices
    are baked in to every
    application and service
    Developers wait days/weeks
    for infrastructure
    to be provisioned
    Tooling is
    inconsistent across
    teams and business units
    Software is manually
    deployed on an
    ad-hoc basis
    Security is
    configured ad-hoc for
    each application
    Developers lack
    visibility into applications
    running in production
    Challenge Solution
    From Challenges to Solutions

    View full-size slide

  7. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View full-size slide

  8. © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Code
    Code packages Operating
    system packages
    Runtime
    Applications aren’t just code, they have dependencies

    View full-size slide

  9. © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Code
    Code packages Operating
    system packages
    Container image
    Runtime
    Containers turn applications into one deployable artifact

    View full-size slide

  10. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Local Laptop Staging / QA Production On-Prem
    Four environments, same container

    View full-size slide

  11. © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Running containers in production is hard
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS
    Server
    Guest OS

    View full-size slide

  12. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    AWS Container Services Landscape
    Management
    Deployment, scheduling, scaling, and
    management of containerized applications
    Hosting
    Where the containers run
    Image Registry
    Container image repository

    View full-size slide

  13. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Simplicity + Serverless = 🚀

    View full-size slide

  14. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Introducing AWS Copilot CLI
    • How do I deploy applications?
    • How to check the applications?
    • How do I add a service & integrate
    with AWS services?
    • How can I test without affecting
    productions?
    • How do I release applications?
    • How about cleaning up?
    • ...and more!
    ✅ Solve all of these challenges

    View full-size slide

  15. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    DEMO
    Deploy API with AWS Copilot
    You will learn how to :
    1. Install AWS Copilot
    2. Initialize your first app
    3. Create environment
    4. Deploy your API

    View full-size slide

  16. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Diagram Architecture

    View full-size slide

  17. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    DEMO
    Deploy Web and Integrate with API
    You will learn how to :
    1. Create and deploy a new service
    2. Change HTTP path routing
    3. Synchronous communication using service discovery

    View full-size slide

  18. © 2021, Amazon Web Services, Inc. or its Affiliates.
    © 2021, Amazon Web Services, Inc. or its Affiliates.
    @donnieprakoso donnieprakoso go.donnie.id/youtube donnieprakoso
    Diagram Architecture

    View full-size slide

  19. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    www.copilot.rocks
    🤘

    View full-size slide

  20. © 2021, Amazon Web Services, Inc. or its Affiliates.
    Q&A Time!
    Donnie Prakoso @donnieprakoso donnieprakoso
    Developer Advocate, ASEAN
    Amazon Web Services go.donnie.id/youtube donnieprakoso

    View full-size slide