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

Wiring Cloud Native Applications for local development

Salaboy
November 06, 2023

Wiring Cloud Native Applications for local development

For more information: https://www.salaboy.com

Salaboy

November 06, 2023
Tweet

More Decks by Salaboy

Other Decks in Technology

Transcript

  1. Wiring Cloud Native
    Applications for Local
    Development
    AppDeveloperCon 2023 - KubeCon NA

    View full-size slide

  2. How many
    developers
    do we have in the room?

    View full-size slide

  3. Production
    always wins.

    View full-size slide

  4. Production
    always wins.
    Developers pay
    for it.

    View full-size slide

  5. @Salaboy - Mauricio Salatino
    - OSS Engineer at https://diagrid.io
    - Dapr contributor
    - Knative Steering Committee Member
    - Knative Functions co-lead
    - CNCF Ambassador since last week

    View full-size slide

  6. Demo Pizza App in 1 minute
    function pizza() {
    }();

    View full-size slide

  7. Unfamiliar tools

    View full-size slide

  8. Unfamiliar tools
    K8s complexity

    View full-size slide

  9. Unfamiliar tools
    K8s complexity
    Environment parity

    View full-size slide

  10. For this presentation we wondered:
    How can we enable developers with an
    experience that removes all the
    complexity required by our production
    environment?
    How can we enable
    developer experience
    without complexity
    of production?

    View full-size slide

  11. Developers ❤ APIs

    View full-size slide

  12. Provides Application-level APIs to solve
    common cloud-native challenges

    View full-size slide

  13. Dapr Building Blocks

    View full-size slide

  14. How would this work
    for local development?
    🤔
    How does it work in
    local development
    environment?

    View full-size slide

  15. Testcontainers
    How many people have heard about
    Testcontainers?

    View full-size slide

  16. Testcontainers do:
    - Enable developers to test using containers
    for the dependencies of their
    applications/services

    View full-size slide

  17. - Core Testcontainers responsibilities:
    - Configuration
    - Lifecycle
    - Wiring the app to containers

    View full-size slide

  18. - Core Testcontainers responsibilities:
    - Configuration
    - Lifecycle
    - Wiring the app to containers

    View full-size slide

  19. - Core Testcontainers responsibilities:
    - Configuration
    - Lifecycle
    - Wiring the app to containers

    View full-size slide

  20. How does the local development
    experience looks for Dapr using
    Testcontainers?

    View full-size slide

  21. Quick show code and start app

    View full-size slide

  22. We gained
    ● Consistent APIs across environments
    ● Built-in testing experience, no new tools
    ● Platform teams can provide configurations
    for a wide range of environments, across
    cloud providers and for on-prem
    deployments
    Consistent APIs
    Testing experience

    View full-size slide

  23. We gained
    ● Consistent APIs across environments
    ● Built-in testing experience, no new tools
    ● Platform teams can provide configurations
    for a wide range of environments, across
    cloud providers and for on-prem
    deployments
    Platform-wide
    configuration wired in
    di erent environments

    View full-size slide

  24. Resources
    Resources / Links
    ● www.atomicjar.com/2023/08/local-development-of-go-applications-
    with-testcontainers
    ● dapr.io
    ● testcontainers.com
    ● github.com/salaboy/pizza

    View full-size slide