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

Enabling Developers in a Multi-Cloud World :: GOTO Aarhus 2023

Enabling Developers in a Multi-Cloud World :: GOTO Aarhus 2023

for more information visit https://www.salaboy.com

Salaboy

May 22, 2023
Tweet

More Decks by Salaboy

Other Decks in Technology

Transcript

  1. ENABLING DEVELOPERS IN
    A MULTI-CLOUD WORLD
    A KUBERNETES JOURNEY


    MAURICIO SALATINO @SALABOY


    GOTO AARHUS, DENMARK 2023

    View Slide

  2. ENABLING DEVELOPERS IN
    A MULTI-CLOUD WORLD
    A KUBERNETES JOURNEY


    MAURICIO SALATINO @SALABOY


    GOTO AARHUS, DENMARK 2023

    View Slide

  3. • The not-so-easy Kubernetes Journey


    • The rise of Platforms on top of Kubernetes


    • We are just starting to enable Developers


    AGENDA

    View Slide

  4. @SALABOY
    MAURICIO SALATINO / WWW.SALABOY.COM

    View Slide

  5. PLATFORMS ON K8S
    CODE: SALATINO40

    View Slide

  6. WHERE DOES THE
    JOURNEY STARTS?


    🎬

    View Slide

  7. KUBERNETES

    View Slide

  8. #1 LEARNING
    🤔
    YAMLs
    Containers

    View Slide

  9. #2 MORE THAN ONE

    View Slide

  10. #3 OWNERSHIP
    Production
    Staging/QA
    Dev Envs

    View Slide

  11. #4 TOOLING
    🤯

    View Slide

  12. #5 MULTI-TENANCY
    🤔
    🤔
    🤔
    🤔
    🤔
    🤔 🤔

    View Slide

  13. #6 COSTS
    🤔💸💰

    View Slide

  14. THE PLATFORM
    ENGINEERING BUZZ


    🤔

    View Slide

  15. PLATFORM TEAM
    👷🔧


    🪓👷
    Devs
    Infra SREs
    Data
    Scientists
    {
    }

    View Slide

  16. LET’S BUILD A
    PLATFORM
    My


    Platform
    Platform
    APIs
    Self Service
    Golden
    Paths
    Cross-Cutting Concerns

    View Slide

  17. TAG APP DELIVERY WHITE PAPER
    https://tag-app-delivery.cncf.io/whitepapers/platforms/

    View Slide

  18. Platform
    Tools
    EXAMPLE PLATFORM
    Platform
    APIs
    🤓
    Hey Platform,


    Can I have a new
    Dev Env? Prettry
    Please

    View Slide

  19. Platform
    Tools
    EXAMPLE PLATFORM
    Platform
    APIs
    🤓
    Sure, give me a
    second!

    View Slide

  20. EXAMPLE PLATFORM
    Platform
    🤓❤
    Here you go!
    Env Tools
    Your App

    View Slide

  21. CROSSPLANE +
    VCLUSTER

    View Slide

  22. DEMO #1


    🙏 🙏 🙏

    View Slide

  23. Platform
    APIs
    🤓
    Environment
    Resource
    My Platform

    View Slide

  24. Platform
    APIs
    Environment
    Resource
    My Platform
    My Env

    View Slide

  25. 🤓 My Environment
    My Application

    View Slide

  26. WHAT ABOUT
    DEVELOPERS?


    🤓💻

    View Slide

  27. • The importance of experimentation


    • De
    f
    ining the platform boundaries (platform capabilities)


    WHAT DO DEVELOPER NEED?

    View Slide

  28. KNATIVE

    View Slide

  29. ->

    View Slide

  30. RUN MY CONTAINER
    apiVersion: serving.knative.dev/v1


    kind: Service


    metadata:


    name: helloworld-cobol


    spec:


    template:


    spec:


    containers:


    - image: cobol-app


    env:


    - name: TARGET


    value: “cobol-app Sample v1"


    View Slide

  31. CAAS
    - image: cobol-app


    env:


    - name: TARGET


    value: “cobol-app Sample v1"


    View Slide

  32. ADVANCED TRAFFIC
    MANAGEMENT
    Application V1
    Application V2
    🤓💻
    Application V3

    View Slide

  33. ADVANCED TRAFFIC
    MANAGEMENT
    Application V1
    Application V2
    🤓💻
    Application V3
    80%
    20%
    TAG

    View Slide

  34. SCALE DOWN TO
    ZERO
    Application V1
    🤓💻

    View Slide

  35. DEMO #2


    🙏 🙏 🙏

    View Slide

  36. 🤓 Frontend v1.0
    Frontend v1.1
    `red` tag
    100%

    View Slide

  37. PLATFORM CAPABILITIES
    App APIs
    Exchanging
    Messages/
    Events
    Storing and
    Reading Data
    Observability
    Resiliency
    Dynamic
    Scaling
    Release
    Strategies
    Feature Flags
    Work
    f
    lows Traf
    f
    ic
    Management
    Tools
    Capabilities
    App
    App

    View Slide

  38. https://www.aviransplace.com/post/platform-as-a-runtime-paar-beyond-platform-engineering

    View Slide

  39. View Slide

  40. ->

    View Slide

  41. View Slide

  42. PATTERNS AND BEST
    PRACTICES ENCODED
    Application A
    Storing
    and
    Reading
    Data
    Application B
    Application C
    Statestore

    View Slide

  43. PATTERNS AND BEST
    PRACTICES ENCODED
    Application A
    Exchanging
    Messages/
    Events
    Application B
    Application C
    PubSub

    View Slide

  44. PATTERNS AND BEST
    PRACTICES ENCODED
    Application A
    Application C
    ServiceInvocation
    ResiliencyPolicies

    View Slide

  45. View Slide

  46. App A 1.5.0 (Java) App B 3.4.0 (Go)
    Abstractions / Frameworks Abstractions / Frameworks
    Dapr Sidecar Dapr Sidecar
    Local HTTP/GRPC Local HTTP/GRPC
    Dapr StateStore Component
    Dapr PubSub Component Dapr Resiliency Policies

    View Slide

  47. Read App
    Write App Subscribe App
    Frontend App
    Dapr StateStore Component
    Dapr PubSub Component Dapr Resiliency Policies
    Dapr Service Discovery

    View Slide

  48. DEMO #3


    🙏 🙏 🙏

    View Slide

  49. Read App
    Write App
    Subscribe App
    Frontend App
    🤓 App Devs
    👷
    Platform Team
    Platform
    APIs
    👨🚒
    Operations
    Platform
    Capabilities

    View Slide

  50. • Kubernetes is not so easy, we need a platform engineering
    approach to it


    • Tools like `vcluster` and Crossplane can help to provision and
    con
    f
    igure cost ef
    f
    icient tools to enable our developers


    • Tools like Dapr and Knative can provide platform capabilties to
    make our developers more ef
    f
    icient
    SUM UP

    View Slide

  51. THANKS!
    @SALABOY / HTTPS://WWW.SALABOY.COM


    View Slide

  52. THANKS!
    @SALABOY / HTTPS://WWW.SALABOY.COM


    View Slide

  53. PLATFORMS ON K8S
    CODE: SALATINO40

    View Slide