SlideShare a Scribd company logo
1 of 20
Download to read offline
WASM and Docker
Antonis Kalipetis
@akalipetis
Docker Athens | #DockerAth
👋 I’m Antonis
* Software Engineer at Platform.sh
* DevOps with LOGIC
* Docker Captain
* One half of mikrikouventa.fm
* Python lover and Go developer
* Docker and Containers aficionado
* Everything that comes to my hands becomes a container
🎯 Goals for the day
* Better understand WASM
* See how WASM plays with Docker
* Explore the future of containers and WASM
What is WASM?
* WASM stands for WebAssembly
* WASM is a binary instruction format for a stack-based
virtual machine
* It was initially meant as a way to ship code in the web
browser, other than JS
🤨 What is WASM?
* An efficient and fast way to compile and package
applications written in a variety of languages
* A way to run those application into sandboxed
environments, either in the browser or elsewhere
* An application format that can run in the same way between
different environments, from edge servers to your browser
and inside other applications
💡 What is WASM today?
* WASM is currently supported by all major web browsers,
including Chrome, Firefox, and Safari
* The standard is owned by W3C
* Originally created to provide near-native speed code
execution in the browser
🕸 The Web in WebAssembly
* Figma was written in WASM
* CloudFlare workers run WASM
* There was also WASM in Marathon’s latest Compensation
Report
📸 WASM highlights
WASM
And
Docker
🐳 Docker Desktop and WASM
Docker Engine
containerd-shim
runc
Container process
containerd-shim
runc
Container process
containerd-wasm
-shim
wasmedge
Wasm Module
DEMO TIME!
* We built a Docker image using a Dockerfile, where the
application was compiled from Rust code ⚙ into WASM
* The .wasm application was copied to a SCRATCH image
* WASM and normal containers were started, using the same
network
🧵 What did just happen there?
* Boundaries are very constraint by design
* WASI is being developed to provide a standardized
interface for interacting with system resources
* containerd has support for running different types of WASI
interfaces
https://github.com/containerd/runwasi
🏺 How are the applications contained?
* Very fast startup time (ms)
* Single application for all
architectures/OSes
* Restrictive on the type of code
you can run
* Fast startup time
* One image for each
architecture/OS
* Run everything a Linux machine
can run
🥊 WASM vs Containers
* Manage large amounts of WASM containers
* Run untrusted code with very specific boundaries
* Easily install plugins to CLIs or other desktop
applications
🔮 What could the future look like?
* OCI images are a great packaging format
* containerd is a great tool for managing workloads
* There are multiple orchestrators orchestrating workloads
that run with containerd
❓ Docker, containers and WASM a few months in
Connect the dots…
Questions?
Thanks!
Antonis Kalipetis
@akalipetis

More Related Content

What's hot

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 

What's hot (20)

Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
Understanding container security
Understanding container securityUnderstanding container security
Understanding container security
 
Docker Deep Dive Understanding Docker Engine Docker for DevOps
Docker Deep Dive Understanding Docker Engine Docker for DevOpsDocker Deep Dive Understanding Docker Engine Docker for DevOps
Docker Deep Dive Understanding Docker Engine Docker for DevOps
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Testing with Spring, AOT, GraalVM, and JUnit 5 - Spring I/O 2023
Testing with Spring, AOT, GraalVM, and JUnit 5 - Spring I/O 2023Testing with Spring, AOT, GraalVM, and JUnit 5 - Spring I/O 2023
Testing with Spring, AOT, GraalVM, and JUnit 5 - Spring I/O 2023
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
DevOps Taiwan Monitor Tools 大亂鬥 - Prometheus
DevOps Taiwan Monitor Tools 大亂鬥 - PrometheusDevOps Taiwan Monitor Tools 大亂鬥 - Prometheus
DevOps Taiwan Monitor Tools 大亂鬥 - Prometheus
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
 

Similar to Docker and WASM

Similar to Docker and WASM (20)

Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Docker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notesDocker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notes
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Docker container
Docker containerDocker container
Docker container
 
Docker Workshop
Docker WorkshopDocker Workshop
Docker Workshop
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Dockerize WordPress on Mac/Windows
Dockerize WordPress on Mac/WindowsDockerize WordPress on Mac/Windows
Dockerize WordPress on Mac/Windows
 
Everything you need to know about Docker
Everything you need to know about DockerEverything you need to know about Docker
Everything you need to know about Docker
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Web assembly with go
Web assembly with goWeb assembly with go
Web assembly with go
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Informix on Docker Hub
Informix on Docker HubInformix on Docker Hub
Informix on Docker Hub
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 

More from Antonis Kalipetis

EESTEC Android Workshops - Recap
 EESTEC Android Workshops - Recap EESTEC Android Workshops - Recap
EESTEC Android Workshops - Recap
Antonis Kalipetis
 
EESTEC Android Workshops - 103 The Internet and JSON
 EESTEC Android Workshops - 103 The Internet and JSON EESTEC Android Workshops - 103 The Internet and JSON
EESTEC Android Workshops - 103 The Internet and JSON
Antonis Kalipetis
 

More from Antonis Kalipetis (7)

EESTEC Android Workshop 4
EESTEC Android Workshop 4EESTEC Android Workshop 4
EESTEC Android Workshop 4
 
EESTEC Android Workshop 3
EESTEC Android Workshop 3EESTEC Android Workshop 3
EESTEC Android Workshop 3
 
EESTEC Android Workshop 2
EESTEC Android Workshop 2EESTEC Android Workshop 2
EESTEC Android Workshop 2
 
EESTEC Android Workshop 1
EESTEC Android Workshop 1EESTEC Android Workshop 1
EESTEC Android Workshop 1
 
EESTEC Android Workshops - Recap
 EESTEC Android Workshops - Recap EESTEC Android Workshops - Recap
EESTEC Android Workshops - Recap
 
EESTEC Android Workshops - 103 The Internet and JSON
 EESTEC Android Workshops - 103 The Internet and JSON EESTEC Android Workshops - 103 The Internet and JSON
EESTEC Android Workshops - 103 The Internet and JSON
 
EESTEC Android Workshops - 101 Java, OOP and Introduction to Android
EESTEC Android Workshops - 101 Java, OOP and Introduction to AndroidEESTEC Android Workshops - 101 Java, OOP and Introduction to Android
EESTEC Android Workshops - 101 Java, OOP and Introduction to Android
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Docker and WASM

  • 1. WASM and Docker Antonis Kalipetis @akalipetis Docker Athens | #DockerAth
  • 2. 👋 I’m Antonis * Software Engineer at Platform.sh * DevOps with LOGIC * Docker Captain * One half of mikrikouventa.fm * Python lover and Go developer * Docker and Containers aficionado * Everything that comes to my hands becomes a container
  • 3. 🎯 Goals for the day * Better understand WASM * See how WASM plays with Docker * Explore the future of containers and WASM
  • 4.
  • 6. * WASM stands for WebAssembly * WASM is a binary instruction format for a stack-based virtual machine * It was initially meant as a way to ship code in the web browser, other than JS 🤨 What is WASM?
  • 7. * An efficient and fast way to compile and package applications written in a variety of languages * A way to run those application into sandboxed environments, either in the browser or elsewhere * An application format that can run in the same way between different environments, from edge servers to your browser and inside other applications 💡 What is WASM today?
  • 8. * WASM is currently supported by all major web browsers, including Chrome, Firefox, and Safari * The standard is owned by W3C * Originally created to provide near-native speed code execution in the browser 🕸 The Web in WebAssembly
  • 9. * Figma was written in WASM * CloudFlare workers run WASM * There was also WASM in Marathon’s latest Compensation Report 📸 WASM highlights
  • 11. 🐳 Docker Desktop and WASM Docker Engine containerd-shim runc Container process containerd-shim runc Container process containerd-wasm -shim wasmedge Wasm Module
  • 13. * We built a Docker image using a Dockerfile, where the application was compiled from Rust code ⚙ into WASM * The .wasm application was copied to a SCRATCH image * WASM and normal containers were started, using the same network 🧵 What did just happen there?
  • 14. * Boundaries are very constraint by design * WASI is being developed to provide a standardized interface for interacting with system resources * containerd has support for running different types of WASI interfaces https://github.com/containerd/runwasi 🏺 How are the applications contained?
  • 15. * Very fast startup time (ms) * Single application for all architectures/OSes * Restrictive on the type of code you can run * Fast startup time * One image for each architecture/OS * Run everything a Linux machine can run 🥊 WASM vs Containers
  • 16. * Manage large amounts of WASM containers * Run untrusted code with very specific boundaries * Easily install plugins to CLIs or other desktop applications 🔮 What could the future look like?
  • 17. * OCI images are a great packaging format * containerd is a great tool for managing workloads * There are multiple orchestrators orchestrating workloads that run with containerd ❓ Docker, containers and WASM a few months in