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
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
150
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
300
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
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
710
AWSに止められる覚悟してますか?
morizo_1984
2
510
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
130
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
110
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
910
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
150
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
Are APIs Still Relevant in the AI Era?
soyuka
0
420
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
4k
Embracing the Ebb and Flow
colly
88
5.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
The SEO identity crisis: Don't let AI make you average
varn
0
580
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
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