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

Cloud Native Development Design Patterns

Cloud Native Development Design Patterns

Tomoya Amachi

May 20, 2020
Tweet

More Decks by Tomoya Amachi

Other Decks in Technology

Transcript

  1. Copyright Ⓒ 2019 GOODWITH LLC All Rights Reserved.
    Tomoya Amachi
    (@tomoyamachi)

    View full-size slide

  2. Who am I?
    SECTION 0

    View full-size slide





  3. View full-size slide

  4. https://github.com/goodwithtech/dockertags

    View full-size slide

  5. Introduction
    SECTION 1

    View full-size slide

  6. Others
    Kubernetes
    We will use
    Multi-services
    Monolithic
    My applications are
    Master
    I am a cloud native Beginner
    I want to develop like a
    production environment Mirror
    accept another
    environment
    Dependency services are
    * if you use datasources
    shared with
    member
    on my own

    View full-size slide

  7. Others
    Kubernetes
    Multi-services
    Monolithic
    Master Beginner
    Mirror
    accept another
    environment
    shared with
    member
    on my own

    View full-size slide

  8. Comparing Popular
    Products
    SECTION 2

    View full-size slide

  9. ➔ No need to learn about Kubernetes, using Docker API
    ➔ Easy to understand for beginners (less configurations)
    ➔ It is not suited for production
    https://docs.docker.com/compose/
    Others
    Kubernetes
    Multi-services
    Monolithic
    Master Beginner
    Mirror
    accept another
    environment
    shared with
    member
    on my own

    View full-size slide

  10. ➔ Local process proxy to remote Kubernetes
    ➔ Developers do not need to know about containers
    ➔ Must be careful not to override another developer’s
    service
    https://www.telepresence.io/
    Others
    Kubernetes
    Multi-services
    Monolithic
    Master Beginner
    Mirror
    accept another
    environment
    shared with
    member
    on my own

    View full-size slide

  11. ➔ Rebuild images and deploy to (your) Kubernetes cluster
    ➔ Slow process if a container image is big
    ➔ If you want to use a remote cluster, built images should
    be sent to an image registry
    https://skaffold.dev/
    Others
    Kubernetes
    Multi-services
    Monolithic
    Master Beginner
    Mirror
    accept
    another
    environment
    shared with
    member
    on my own

    View full-size slide

  12. ➔ Necessary to be able to write Tiltfile, like shell script
    ➔ Send changed files to containers, then run script in
    containers
    ➔ Rich UI and be able to check errors in multi-service easily
    https://tilt.dev/
    Others
    Kubernetes
    Multi-services
    Monolithic
    Master Beginner
    Mirror
    accept another
    environment
    shared with
    member
    on my own

    View full-size slide

  13. Conclusion
    We can choose our development style.

    View full-size slide