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
150
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
39
Manifests, blobs et tags : les images de conteneurs enfin digest(es)
eunomie
0
140
Pour une autre idée de la CI, sur la machine du développeur, avec Dagger
eunomie
0
180
container_images.pdf
eunomie
0
220
(DockerCon 23) Container Images: Interactive Deep Dive
eunomie
0
700
(DockerCon 23) What's in my container? Docker scout CLI and CI to the rescue
eunomie
0
310
AlpesCraft 2022 : et si les micro services n'avaient rien à voir avec la technique ?
eunomie
1
300
DevoxxFR 2022 : et si les micro services n'avaient rien à voir avec la technique ?
eunomie
1
610
DevoxxFR 2021: Cloud Native Application Bundle
eunomie
0
140
Other Decks in Programming
See All in Programming
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
210
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.1k
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
iOSDC2026登壇資料.pdf
riofujimon
0
160
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
620
Security issues being discussed on Web Platforms
petamoriken
0
940
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
6
1.9k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
0
150
一人だけ、Kiroが静止する日
hideg
0
110
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
240
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
650
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Raft: Consensus for Rubyists
vanstee
142
7.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
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