Save 37% off PRO during our Black Friday Sale! »

Cloud Native Application Bundle - DevoxxFR 2021

Ba2198386e326d6e3ca57b2271d861e9?s=47 Yves Brissaud
October 01, 2021
16

Cloud Native Application Bundle - DevoxxFR 2021

Presentation (given in French) of Cloud Native Application Bundle – CNAB – and demos using Porter.

Ba2198386e326d6e3ca57b2271d861e9?s=128

Yves Brissaud

October 01, 2021
Tweet

Transcript

  1. #DevoxxFR Cloud Native Application Bundl e The missing link Yves

    Brissaud @_crev_ 1 github.com/eunomie/devoxxfr-2021 speakerdeck.com/eunomie/devoxxfr-2021-cloud-native-application-bundle
  2. Yves Brissaud 🐳 Docker 👷 Engineering (Docker Hub) 💬 @_crev_

    2
  3. 3 https://www.docker.com/career-openings

  4. #DevoxxFR 4 CNAB?

  5. #DevoxxFR 5 Cloud Nativ e Applicatio n Bundle

  6. Application 6 -Larousse « Program or set of programs to

    assist the user of a computer in the processing of a speci fi c task »
  7. Cloud Native 7

  8. Cloud Native 8 pzf.fremantle.org/2010/05/cloud-native.html « to work well in a

    cloud environment 
 on top of an infrastructure as a service » ➞ elasticit y ➞ distributed infrastructure
  9. Cloud Native 9 https://gotocph.com/2018/sessions/612 @holly_cummins

  10. Cloud Native 10 Idempotence

  11. Cloud Native 11 -Larousse « Idempotence means an operation will

    have the same result when applied one or multiple times »
  12. Cloud Native 12 Idempotence • Infrastructure ‣ AMI, ISO, OVF,

    … ‣ Packer
  13. Cloud Native Application 13

  14. Cloud Native Application 14 • n services • VMs, containers,

    serverless functions, etc • n databases • n managed services • … On top of elastic resources
  15. Cloud Native Application 15 ‣ Terraform ‣ Kubernetes fi les,

    kustomize, Helm ‣ Scripts bash ‣ …
  16. Cloud Native Application 16 Source 
 Code CI Service Image

    Deployment 
 instructions Infrastructure 
 as Code
  17. Cloud Native Application 17 Deployment: 1. Get source code in

    right version 2. Apply IaC 3. Apply deployment instructions 4. Download service images 5. …
  18. Cloud Native Application Bundle 18 Images IaC Deployment … Bundle

  19. 19 Cloud Native Application Bundle • Immutable • Inside a

    registry • Self contained ➡ o ff l ine
  20. 20 Cloud Native Application Bundle Idempotence • Immutable • Inside

    a registry • Self contained ➡ o ff l ine
  21. #DevoxxFR 21 📋 bundle 
 descriptor 📦 application 
 images

    📦 invocation 
 image 📦 📦
  22. Application Images 22 Containers you are already using! No change

    needed to build or distribute them
  23. Invocation Image 23 ✦ Contains all needed tools ✦ Con

    fi guration, templates, etc ✦ Install / upgrade / uninstall 📦 Cloud CLIs Helm Charts Helm CLI Terraform CLI IaC Code Invocation 
 image kubectl
  24. Bundle Descriptor 24 • bundle.json • List application and invocation

    images • Parameters • Credentials • Outputs
  25. Artefact fi nal 25 OCI Image

  26. CNAB 26 https://cnab.io/ Open speci fi cations: https://github.com/cnabio/cnab-spec 
 CNAB

    Core 1.2.0 
 CNAB Security 1.0.0
  27. Outils 27 cnab-go: CNAB Core implementation 
 https://github.com/cnabio/cnab-go cnab-to-oci: tool

    to convert bundles to OCI images 
 https://github.com/cnabio/cnab-to-oci du ffl e: cli to interact with bundles 
 https://du ffl e.sh porter: higher level tool to create and use bundles 
 https://github.com/getporter/porter 
 https://porter.sh
  28. Porter 28 Made by Deis Labs (microsoft) 
 https://deislabs.io The

    most user friendly
  29. Porter 29 ‣ porter.yaml 
 - higher level than bundle.json

    
 - mixins ‣ Create bundle.json, then the OCI image
  30. Demo Wordpress 30

  31. Wordpress 31 • Deploy wordpress and its database • Inside

    a con fi gurable kubernetes namespace • Using a helm chart
  32. Demo Airgap 32

  33. Airgap 33 • Embed Helm charts • Embed application images

  34. #DevoxxFR Resources • https://cnab.io • https://cnab.io/community-meetings • #cnab on https://slack.cncf.io

    • https://porter.sh • https://porter.sh/community 34
  35. #DevoxxFR Merci 🙏 35 Yves Brissaud @_crev_ github.com/eunomie/devoxxfr-2021 speakerdeck.com/eunomie/devoxxfr-2021-cloud-native-application-bundle