Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CNAB: the missing link
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yves Brissaud
January 24, 2020
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CNAB: the missing link
Yves Brissaud
January 24, 2020
More Decks by Yves Brissaud
See All by Yves Brissaud
The Rise of Local CI Tooling. Thanks AI Coding Agents!
eunomie
0
41
Manifests, blobs et tags : les images de conteneurs enfin digest(es)
eunomie
0
160
Pour une autre idée de la CI, sur la machine du développeur, avec Dagger
eunomie
0
190
container_images.pdf
eunomie
0
230
(DockerCon 23) Container Images: Interactive Deep Dive
eunomie
0
710
(DockerCon 23) What's in my container? Docker scout CLI and CI to the rescue
eunomie
0
320
AlpesCraft 2022 : et si les micro services n'avaient rien à voir avec la technique ?
eunomie
1
310
DevoxxFR 2022 : et si les micro services n'avaient rien à voir avec la technique ?
eunomie
1
620
DevoxxFR 2021: Cloud Native Application Bundle
eunomie
0
140
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
残高管理から台帳サービスへの進化
artoy
1
200
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
570
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
170
Jetpack Compose Mechanisms
skydoves
3
810
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Transcript
CNAB The missing link Yves Brissaud @_crev_
Yves Brissaud Docker Engineering @_crev_
CNAB?
Cloud Native Application Bundle
Application "A program or piece of software designed to fulfil
a particular purpose” – Oxford English Dictionary "Program or set of programs to assist the user of a computer in the processing of a specific task.” – Translation from Larousse
Cloud Native pzf.fremantle.org/2010/05/cloud-native.html ➞ elasticity ➞ distributed infrastructure ❝ to
work well in a cloud environment on top of an infrastructure as a service
Cloud Native https://gotocph.com/2018/sessions/612 @holly_cummins Cloud Native: behind buzzwords, the cloud
() https://www.linkedin.com/pulse/cloud-native-sous-les-buzzwords-le-nuage-yves-brissaud/
Cloud Native Application • n services • vm • containers
• serverless functions • … • n databases • n managed services • … On elastic resources!
How to describe it? Single artifact
How to package? Share, provision, without dozens of tools
How to manage lifecycle? • Installation • Upgrade • Deletion
Cloud Native Application Bundle CNABs facilitate the bundling, installing and
managing of container-native apps – and their coupled services. ❝ A spec for packaging distributed apps.
CNAB’s Goals • Deploy complex applications easily • Cloud agnostic
• Secure • Handle a spread of use cases
None
https://xkcd.com/927/
Intel
Reuse what we have Containers ‣ Dockerfile ‣ OCI Image
‣ OCI Registry Definition Artifact Sharing Application ‣ ? ‣ OCI Image ‣ OCI Registry
App Definition: bundle.json • Metadata • name, version, description •
Invocation Image • Images • Parameters • Credentials • Custom actions
bundle.json
Invocation Image OCI image used to run actions (install, etc)
main entry point – run tool • install, upgrade, … + custom actions runtime metadata • helm charts, terraform files, etc Build instructions • Dockerfile, packer.json, etc Inside defined File System Layout
Tools
• Duffle: reference implementation of all features of the spec
• Porter: opinionated CNAB builder • Docker App: opinionated CNAB builder and installer • Pivotal Build Service: source code to OCI images using CNAB to deploy • Pivotal Function Service: build & run functions, apps, containers on kubernetes distributed as CNAB bundle • cnab-go, cnab-rs, cnab-to-oci, …
Spec + Tools = <3 $ porter build <bundle> $
cnab2to2oci push <bundle> $ docker app run <bundle> $ duffle uninstall <bundle>
Docker App https://github.com/docker/app/tree/master/examples/voting-app
Docker App (reuse what we have) docker-compose v3 file format
• easy to use • widely used • easy to migrate docker stack • swarm • kubernetes docker hub • standard • a lot of existing images
Specification Status
CNAB Core 1.0 ‣ bundle.json file ‣ Invocation image format
‣ Bundle runtime ‣ Bundle formats (thick/thin)
Drafts ‣ Registries ‣ Security ‣ Claims: record of CNAB
installation ‣ Dependencies
Missing? ‣ Inner loop - daily work, local development, debug
Docker App Migration from docker-compose to Docker App
cnab.io @cnab_spec github.com/cnabio #cnab on CNCF Slack github.com/docker/app Docker Community
Slack @_crev_
Questions?
None