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

A Paved Path to Production on Kubernetes

A Paved Path to Production on Kubernetes

Customers are looking forward to getting a new feature in our application. Developers implemented the feature and pushed the changes to a Git repository. How can we go from code commit to feature available in production on Kubernetes? How can we do that in a safe, secure, and reproducible way?

Following the principles of continuous delivery, I’ll show you how to design a paved path to production that provides a superior experience to developers while giving operators enough flexibility and control. Using Cartographer, we’ll choreograph our way from code commit to production deployment on Kubernetes and build a complete deployment pipeline (CI/CD).

Cartographer will rely on different cloud native technologies to implement the steps in the software supply chain. We’ll monitor Git repositories with Flux, containerize applications with Cloud Native Buildpacks and kpack, run automated tests with Tekton, scan codebases and images with Grype, configure workloads with Carvel, and deploy them with Knative.

The presentation focuses on open-source technologies and includes a hands-on demo that you can run in your Kubernetes environments and use as a foundation for your real-world supply chains.

Thomas Vitale

June 16, 2022
Tweet

More Decks by Thomas Vitale

Other Decks in Technology

Transcript

  1. Thomas Vitale
    GOTO Aarhus
    Jun 16th, 2022
    A Paved Path to Production
    On Kubernetes
    @vitalethomas

    View Slide

  2. Systematic
    • Software Architect at
    Systematic, Denmark.

    • Author of “Cloud Native Spring
    in Action” (Manning).

    • Spring Security and Spring
    Cloud contributor.
    Thomas Vitale
    thomasvitale.com @vitalethomas

    View Slide

  3. Value
    thomasvitale.com @vitalethomas
    thomasvitale.com @vitalethomas

    View Slide

  4. Delivering Value
    From idea to production
    Developer
    App Repo Production
    Idea
    ?

    View Slide

  5. Continuous
    Delivery
    thomasvitale.com @vitalethomas
    thomasvitale.com @vitalethomas

    View Slide

  6. Path to Production
    Requirements
    Fast Resilient Scale
    Safe Secure
    thomasvitale.com @vitalethomas

    View Slide

  7. CI/CD Pipeline - Imperative
    Orchestration of tasks
    Checkout

    source code
    Package as
    container image
    Deploy to
    Kubernetes
    Orchestrator

    View Slide

  8. Delivering Value
    From code to production
    Developer
    App Repo Production
    Application


    Operator
    Security


    Expert
    Platform


    Engineer

    View Slide

  9. Paved Path to Production
    thomasvitale.com @vitalethomas
    thomasvitale.com @vitalethomas
    Golden Path to Production
    Paved Road to Production

    View Slide

  10. Developer Platform
    thomasvitale.com @vitalethomas
    thomasvitale.com @vitalethomas
    Application Platform
    Developer Control Plane

    View Slide

  11. backstage.io

    View Slide

  12. CI/CD Pipeline - Reactive/Declarative
    Choreography of events
    Checkout

    source code
    Package as
    container image
    Deploy to
    Kubernetes
    Choreographer

    View Slide

  13. Reactive CI/CD Pipelines
    The Bene
    fi
    ts
    Declarative
    pipelines
    Separation of
    concerns
    Kubernetes
    interoperability
    Reusable

    pipelines
    Supply chain
    security
    thomasvitale.com @vitalethomas

    View Slide

  14. Deployment
    thomasvitale.com @vitalethomas

    View Slide

  15. Serverless Architectures
    Developers focus on code
    Focus on business logic
    Developer
    Platform
    Infrastructure

    Provisioning
    Workload

    Management
    Dynamic

    Scaling
    thomasvitale.com @vitalethomas

    View Slide

  16. Knative Serving
    Serverless Experience on Kubernetes
    Developer-friendly

    abstractions
    From image to URL
    Autoscaling

    Scaling to zero
    Progressive

    Rollouts
    Request-driven

    Event-driven
    Cloud agnostic
    thomasvitale.com @vitalethomas

    View Slide

  17. Demo
    thomasvitale.com @vitalethomas
    Knative Serving - From image to URL
    thomasvitale.com @vitalethomas

    View Slide

  18. Configuration Management
    thomasvitale.com @vitalethomas

    View Slide

  19. Configuration Management
    On Kubernetes
    thomasvitale.com @vitalethomas

    View Slide

  20. https://carvel.dev

    View Slide

  21. Image Management
    thomasvitale.com @vitalethomas

    View Slide

  22. Image Management
    On Kubernetes
    thomasvitale.com @vitalethomas

    View Slide

  23. buildpacks.io

    View Slide

  24. Demo
    thomasvitale.com @vitalethomas
    kpack - Image management
    thomasvitale.com @vitalethomas

    View Slide

  25. Git Source
    thomasvitale.com @vitalethomas

    View Slide

  26. Git Source
    On Kubernetes
    thomasvitale.com @vitalethomas

    View Slide

  27. Demo
    thomasvitale.com @vitalethomas
    Flux - Git Source
    thomasvitale.com @vitalethomas

    View Slide

  28. Minimal CI/CD Pipeline
    Source -> image -> URL
    Deploy to
    Kubernetes
    Package as
    container image
    Checkout

    source code
    ?

    View Slide

  29. Cartographer
    thomasvitale.com @vitalethomas

    View Slide

  30. Kubernetes-native Choreographer
    Reactive, secure, and reusable supply chains
    thomasvitale.com @vitalethomas

    View Slide

  31. Minimal CI/CD Pipeline
    Source -> image -> URL
    Deploy to
    Kubernetes
    Package as
    container image
    Checkout

    source code

    View Slide

  32. cartographer.sh

    View Slide

  33. Demo
    thomasvitale.com @vitalethomas
    Cartographer - Supply chains
    thomasvitale.com @vitalethomas

    View Slide

  34. Testing
    thomasvitale.com @vitalethomas

    View Slide

  35. Imperative Workflows
    Testing and more
    thomasvitale.com @vitalethomas

    View Slide

  36. Demo
    thomasvitale.com @vitalethomas
    Tekton - Testing
    thomasvitale.com @vitalethomas

    View Slide

  37. Next?
    thomasvitale.com @vitalethomas

    View Slide

  38. Discount codes
    Manning
    • 35% discount code, valid for
    all products in all format

    • ctwgotoaar22


    • manning.com
    thomasvitale.com @vitalethomas

    View Slide

  39. Thomas Vitale
    GOTO Aarhus
    Jun 16th, 2022
    A Paved Path to Production
    On Kubernetes
    @vitalethomas

    View Slide