SlideShare a Scribd company logo
1 of 77
Download to read offline
http://strikr.in/ CC BY NC-SA 4.0
Docker to Moby Project and back
saifi@acm.org
What changed ?
http://strikr.in/ CC BY NC-SA 4.0
Why this talk ?
â—Ź Docker architecture
â—Ź Understand the Container landscape
â—Ź Eco-system dynamics
â—Ź Cloud vendor losing leverage
â—Ź Moby in the game
â—Ź Game of Open Standard thrones
â—Ź Tactical Solutions approach
– Power user is the System builder
â—Ź
http://strikr.in/ CC BY NC-SA 4.0
Goal of this talk
â—Ź What should you do to succeed with containers
in a post-Docker world ?
http://strikr.in/ CC BY NC-SA 4.0
Application
container Services
Operating System
OS Services
container Runtime
container Engine
http://strikr.in/ CC BY NC-SA 4.0
Image credits: Docker Inc.
Docker flow centric view
http://strikr.in/ CC BY NC-SA 4.0
Docker API centric view
http://strikr.in/ CC BY NC-SA 4.0
Pull image from registry
docker pull index.docker.io/alpine:3.6
http://strikr.in/ CC BY NC-SA 4.0
Docker schematic
4
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
â—Ź Properties of cloud native systems
– Container Packaged
– Dynamically managed
– Micro-services oriented
http://strikr.in/ CC BY NC-SA 4.0
â—Ź Goals to Achieve
– Standardized interfaces between
subsystems.
– A standard systems architecture describing
the relationship between parts
– At least one standard reference
implementation of each sub-system.
– Extensible architecture that end users can
extend, replace or change behavior in
every layer of the stack for their purposes.
http://strikr.in/ CC BY NC-SA 4.0
â—Ź Container packaged
– Running applications and processes in
software containers as an isolated unit of
application deployment, and as a mechanism
to achieve high levels of resource isolation.
– Benefit
â—Ź Improves overall developer experience
â—Ź code and component reuse
â—Ź simplify operations for cloud native app
http://strikr.in/ CC BY NC-SA 4.0
â—Ź Dynamically managed
– actively scheduled and actively managed by
a central orchestrating process.
– Benefits
â—Ź Improve machine efficiency and resource
utilization
â—Ź Reduce the cost associated with
maintenance and operations
http://strikr.in/ CC BY NC-SA 4.0
â—Ź Micro-services oriented
– Loosely coupled with dependencies explicitly
described (ie. service end-points)
– Benefits
â—Ź Increase the overall agility and
maintainability of applications.
http://strikr.in/ CC BY NC-SA 4.0
Virtualization vs Containerization
â—Ź VM world
– Hypervisor
â—Ź Container world
– Container engine
http://strikr.in/ CC BY NC-SA 4.0
Solutions Approach
â—Ź Immutable
infrastructure is the
goal
â—Ź Containers First
â—Ź Data volume
containers
â—Ź Resilient Micro-
services
â—Ź Fine-tuned runtime to
support it
â—Ź Scripted automated
â—Ź Pipelines
â—Ź DevOps
– coInt
– coDep
– coMon
– coSec
– coCmp
Gold standard: It's your runtime with your artifact that you deploy to any 'cloud' vendor.
http://strikr.in/ CC BY NC-SA 4.0
containerD
http://strikr.in/ CC BY NC-SA 4.0
containerD
â—Ź Core container runtime
â—Ź The daemon that controls runC
http://strikr.in/ CC BY NC-SA 4.0
ContainerD
â—Ź Architecture
– designed to be embedded into a larger
system, rather than being used directly by
developers or end-users.
â—Ź daemon
– exposes gRPC API over a local UNIX socket.
http://strikr.in/ CC BY NC-SA 4.0
containerD
â—Ź API design
– low-level one designed for higher layers to
wrap and extend.
â—Ź CLI
– a barebone CLI (ctr) designed for
development and debugging purpose.
â—Ź interface with runC
– uses runC to run containers according to the
OCI specification.
http://strikr.in/ CC BY NC-SA 4.0
the promise of containerD 1.0
â—Ź Container execution and supervision
â—Ź Image distribution
â—Ź Network Interfaces Management
â—Ź Local storage
â—Ź Native plumbing level API
â—Ź Full OCI support, including the extended OCI
image specification
Windows – Linux parity
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
ContainerD with the ecosystem
http://strikr.in/ CC BY NC-SA 4.0
Container engine split
http://strikr.in/ CC BY NC-SA 4.0
runC
â—Ź universal runtime for OS Containers
â—Ź CLI tool for spawning and running containers
according to the OCI specification.
http://strikr.in/ CC BY NC-SA 4.0
runC
â—Ź a CLI tool for spawning and running containers
according to the OCI specification.
â—Ź runC
– Depends on runtime-spec repo
– Supports Linux platform only
– Must be built with Go 1.6+
– Executes build tags for features
– Linux kernel 4.3+
– Uses 'vndr' for dependency management
http://strikr.in/ CC BY NC-SA 4.0
RunC for container lifecycle
cd /mycontainer
runc create mycontainerid
# view the container is created and in the "created" state
runc list
# start the process inside the container
runc start mycontainerid
# after 5 seconds view that the container has exited and is now in the
stopped state
runc list
# now delete the container
runc delete mycontainerid
http://strikr.in/ CC BY NC-SA 4.0
Rootless containers
â—Ź runc has the ability to run containers without
root privileges. This is referred to as rootless
â—Ź some parameters need to be passed to runc in
order to run rootless containers.
â—Ź
http://strikr.in/ CC BY NC-SA 4.0
Rootless containers
â—Ź mkdir ~/mycontainer
â—Ź cd ~/mycontainer
â—Ź mkdir rootfs
â—Ź docker export $(docker create busybox) | tar -C
rootfs -xvf -
● runc spec –rootless
â—Ź runc --root /tmp/runc run mycontainerid
http://strikr.in/ CC BY NC-SA 4.0
moby
â—Ź Move away from monolithic docker
â—Ź an open framework to assemble specialized
container systems.
â—Ź
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
moby
â—Ź Tactical componentization
â—Ź Support ecosystem
http://strikr.in/ CC BY NC-SA 4.0
Container vs Distro building
http://strikr.in/ CC BY NC-SA 4.0
Moby as it stands today
â—Ź https://github.com/moby/moby/issues/32871
â—Ź Move the monolith
https://github.com/moby/moby/pull/33022
â—Ź Discussions at
https://forums.mobyproject.org/t/topic-find-a-good-an
â—Ź
http://strikr.in/ CC BY NC-SA 4.0
Moby code org .. issues
â—Ź we have the code of the legacy "docker engine"
(a monolith to be split out in multiple
components) at the root and it's very confusing.
â—Ź api
– cannot be moved yet, because it's used
externally
â—Ź client
– cannot be moved yet, because it's used
externally
http://strikr.in/ CC BY NC-SA 4.0
Moby code org
â—Ź Moby
– moby tool
â—Ź Monolith
– the code where "docker engine" lives, to be
split out and eventually will disappear
â—Ź Pkg
– cannot be moved yet, because it's used
externally
â—Ź Vendor
– vendoring
http://strikr.in/ CC BY NC-SA 4.0
Infrastructure changes
â—Ź OCI specs
â—Ź OCI Image spec
â—Ź OCI Runtime spec
â—Ź Storage
â—Ź Networking
â—Ź
http://strikr.in/ CC BY NC-SA 4.0
Docker needs a file system
http://strikr.in/ CC BY NC-SA 4.0
Security
http://strikr.in/ CC BY NC-SA 4.0
filesystem performance
http://strikr.in/ CC BY NC-SA 4.0
What is Device Mapper ?
http://strikr.in/ CC BY NC-SA 4.0
Device Mapper and LVM
http://strikr.in/ CC BY NC-SA 4.0
Device mapper and Userspace
http://strikr.in/ CC BY NC-SA 4.0
Device mapper thin provisioning
http://strikr.in/ CC BY NC-SA 4.0
How docker uses thin pool
http://strikr.in/ CC BY NC-SA 4.0
Docker images
http://strikr.in/ CC BY NC-SA 4.0
#15629
â—Ź Docker with devicemapper driver and dm.thinpooldev lead to
data loss
â—Ź https://github.com/moby/moby/issues/15629
â—Ź Steps to reproduce
– Create lvm thin pool using lvcreate or lvconvert
– Pass lvm thin pool for exclusive use by docker
– Run docker daemon with devicemapper driver and
dm.thinpooldev
– Import volume to the docker or create new container
– Try to extend or make any operation on lvm thin pool using
lvm tools like lvextend thin data
â—Ź Issue: Only one entity can create thin devices in pool. Either
lvm or docker.
http://strikr.in/ CC BY NC-SA 4.0
Solution
â—Ź configure direct-lvm mode for production
â—Ź https://docs.docker.com/v1.10/engine/userguide/stor
â—Ź Steps
http://strikr.in/ CC BY NC-SA 4.0
Networking
â—Ź Overlay networking
http://strikr.in/ CC BY NC-SA 4.0
Docker networking
http://strikr.in/ CC BY NC-SA 4.0
Container networking
â—Ź Two competing standards
– Container Network Model (CNM) – docker
– Container Network Interface (CNI) - CoreOS
â—Ź IPAM (IP address management) driver
– Offload network responsibility/assignment
– Avoid IP conflict and container routing issues
– Enable dynamic, fan-like IPAM approaches
– Operator visibility into container cloud
http://strikr.in/ CC BY NC-SA 4.0
CNI model
http://strikr.in/ CC BY NC-SA 4.0
CNM model
http://strikr.in/ CC BY NC-SA 4.0
CNM interfacing approach
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
Real network setup.
http://strikr.in/ CC BY NC-SA 4.0
Notary
â—Ź Based on The Update Framework (TUF)
â—Ź publishers can sign their content offline using
keys kept highly secure
â—Ź Software update systems are
– Application updaters
– Library package managers
– System package managers
â—Ź TUF is a spec and library for secure software
update systems
http://strikr.in/ CC BY NC-SA 4.0
Notary
http://strikr.in/ CC BY NC-SA 4.0
Multiple Docker kits
http://strikr.in/ CC BY NC-SA 4.0
SwarmKit
â—Ź Swarmkit modelled after containerD
– SwarmD
– SwarmCtl
â—Ź Protobuf3 with grpc over HTTP/2.0
â—Ź Swarmkit masters and Raft leaders are mutual
exclusion
â—Ź Master promotion /demotion can be done on
any node manually
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
Infrakit
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
VPNKit
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
DataKit
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
HyperKit
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
LinuxKit
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
http://strikr.in/ CC BY NC-SA 4.0
Container landscape
http://strikr.in/ CC BY NC-SA 4.0
Pause …

More Related Content

What's hot

State of Builder and Buildkit by Tonis Tiigi (Docker)
State of Builder and Buildkit by Tonis Tiigi (Docker)State of Builder and Buildkit by Tonis Tiigi (Docker)
State of Builder and Buildkit by Tonis Tiigi (Docker)Docker, Inc.
 
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...Linaro
 
S3 Group on Code Management - RDK Users Conference 2014
S3 Group on Code Management - RDK Users Conference 2014S3 Group on Code Management - RDK Users Conference 2014
S3 Group on Code Management - RDK Users Conference 2014S3 Group | TV Technology
 
Jfrog artifactory as private docker registry
Jfrog artifactory as private docker registryJfrog artifactory as private docker registry
Jfrog artifactory as private docker registryVipin Mandale
 
CNCF Projects Overview
CNCF Projects OverviewCNCF Projects Overview
CNCF Projects OverviewNeependra Khare
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Docker, Inc.
 
ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything Kynetics
 
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V International
 
CRI, OCI, and CRI-O
CRI, OCI, and CRI-OCRI, OCI, and CRI-O
CRI, OCI, and CRI-OChe-Chia Chang
 
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017 The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017 Xpand IT
 
Openshift: Build, deploy & manage open, standard containers
Openshift: Build, deploy & manage open, standard containersOpenshift: Build, deploy & manage open, standard containers
Openshift: Build, deploy & manage open, standard containersJonh Wendell
 
Extended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesExtended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesPhil Estes
 
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
OSDC 2018 | Monitoring Kubernetes at Scale by Monica SarbuOSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
OSDC 2018 | Monitoring Kubernetes at Scale by Monica SarbuNETWAYS
 
FOSDEM 2019: A containerd Project Update
FOSDEM 2019: A containerd Project UpdateFOSDEM 2019: A containerd Project Update
FOSDEM 2019: A containerd Project UpdatePhil Estes
 
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...Sakari Hoisko
 
Hybrid CI/CD with Kubernetes and Codefresh
Hybrid CI/CD with Kubernetes and CodefreshHybrid CI/CD with Kubernetes and Codefresh
Hybrid CI/CD with Kubernetes and CodefreshDevOps.com
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionPhil Estes
 
LlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and NotaryLlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and NotaryDocker, Inc.
 
Oslo Vancouver Project Update
Oslo Vancouver Project UpdateOslo Vancouver Project Update
Oslo Vancouver Project UpdateBen Nemec
 

What's hot (20)

Releasing a Distribution in the Age of DevOps.
Releasing a Distribution in the Age of DevOps. Releasing a Distribution in the Age of DevOps.
Releasing a Distribution in the Age of DevOps.
 
State of Builder and Buildkit by Tonis Tiigi (Docker)
State of Builder and Buildkit by Tonis Tiigi (Docker)State of Builder and Buildkit by Tonis Tiigi (Docker)
State of Builder and Buildkit by Tonis Tiigi (Docker)
 
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
 
S3 Group on Code Management - RDK Users Conference 2014
S3 Group on Code Management - RDK Users Conference 2014S3 Group on Code Management - RDK Users Conference 2014
S3 Group on Code Management - RDK Users Conference 2014
 
Jfrog artifactory as private docker registry
Jfrog artifactory as private docker registryJfrog artifactory as private docker registry
Jfrog artifactory as private docker registry
 
CNCF Projects Overview
CNCF Projects OverviewCNCF Projects Overview
CNCF Projects Overview
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)
 
ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything
 
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_gen
 
CRI, OCI, and CRI-O
CRI, OCI, and CRI-OCRI, OCI, and CRI-O
CRI, OCI, and CRI-O
 
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017 The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
 
Openshift: Build, deploy & manage open, standard containers
Openshift: Build, deploy & manage open, standard containersOpenshift: Build, deploy & manage open, standard containers
Openshift: Build, deploy & manage open, standard containers
 
Extended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesExtended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use cases
 
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
OSDC 2018 | Monitoring Kubernetes at Scale by Monica SarbuOSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
 
FOSDEM 2019: A containerd Project Update
FOSDEM 2019: A containerd Project UpdateFOSDEM 2019: A containerd Project Update
FOSDEM 2019: A containerd Project Update
 
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
 
Hybrid CI/CD with Kubernetes and Codefresh
Hybrid CI/CD with Kubernetes and CodefreshHybrid CI/CD with Kubernetes and Codefresh
Hybrid CI/CD with Kubernetes and Codefresh
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
LlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and NotaryLlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and Notary
 
Oslo Vancouver Project Update
Oslo Vancouver Project UpdateOslo Vancouver Project Update
Oslo Vancouver Project Update
 

Similar to from Docker to Moby and back. what changed ?

Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Radulescu Adina-Valentina
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6Jukka Zitting
 
Docker and IBM Integration Bus
Docker and IBM Integration BusDocker and IBM Integration Bus
Docker and IBM Integration BusGeza Geleji
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017Robert Parker
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersMichelle Holley
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersImesh Gunaratne
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersLakmal Warusawithana
 
IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018Robert Parker
 
Dockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesDockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesKontena, Inc.
 
Webinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDBWebinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDBMongoDB
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdfAbid Malik
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Odinot Stanislas
 
Hyperledger Composer architecture
Hyperledger Composer architectureHyperledger Composer architecture
Hyperledger Composer architectureSimon Stone
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?ArangoDB Database
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherNETWAYS
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewForgeRock
 
Advanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAdvanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAriel Moskovich
 
On-Demand Image Resizing Extended - External Meet-up
On-Demand Image Resizing Extended - External Meet-upOn-Demand Image Resizing Extended - External Meet-up
On-Demand Image Resizing Extended - External Meet-upJonathan Lee
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on ContainersAnton Whalley
 

Similar to from Docker to Moby and back. what changed ? (20)

Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
Docker and IBM Integration Bus
Docker and IBM Integration BusDocker and IBM Integration Bus
Docker and IBM Integration Bus
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
 
IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018IBM MQ in Containers - Think 2018
IBM MQ in Containers - Think 2018
 
Dockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best PracticesDockerizing Ruby Applications - The Best Practices
Dockerizing Ruby Applications - The Best Practices
 
Webinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDBWebinar: From Development to Production with Docker and MongoDB
Webinar: From Development to Production with Docker and MongoDB
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
 
Hyperledger Composer architecture
Hyperledger Composer architectureHyperledger Composer architecture
Hyperledger Composer architecture
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
Advanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAdvanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the Field
 
On-Demand Image Resizing Extended - External Meet-up
On-Demand Image Resizing Extended - External Meet-upOn-Demand Image Resizing Extended - External Meet-up
On-Demand Image Resizing Extended - External Meet-up
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
 

More from strikr .

Monitoring
MonitoringMonitoring
Monitoringstrikr .
 
OpenStack for Telco Cloud
OpenStack for Telco CloudOpenStack for Telco Cloud
OpenStack for Telco Cloudstrikr .
 
Oracle to PostgreSQL migration
Oracle to PostgreSQL migrationOracle to PostgreSQL migration
Oracle to PostgreSQL migrationstrikr .
 
DBOps
DBOpsDBOps
DBOpsstrikr .
 
Making Automation Work
Making Automation WorkMaking Automation Work
Making Automation Workstrikr .
 
Taking the Containers First Approach
Taking the Containers First ApproachTaking the Containers First Approach
Taking the Containers First Approachstrikr .
 
OCI Image Spec
OCI Image SpecOCI Image Spec
OCI Image Specstrikr .
 
OCI Runtime Spec
OCI Runtime SpecOCI Runtime Spec
OCI Runtime Specstrikr .
 
Reflection in Go
Reflection in GoReflection in Go
Reflection in Gostrikr .
 
Go 1.8 'new' networking features
Go 1.8 'new' networking featuresGo 1.8 'new' networking features
Go 1.8 'new' networking featuresstrikr .
 

More from strikr . (10)

Monitoring
MonitoringMonitoring
Monitoring
 
OpenStack for Telco Cloud
OpenStack for Telco CloudOpenStack for Telco Cloud
OpenStack for Telco Cloud
 
Oracle to PostgreSQL migration
Oracle to PostgreSQL migrationOracle to PostgreSQL migration
Oracle to PostgreSQL migration
 
DBOps
DBOpsDBOps
DBOps
 
Making Automation Work
Making Automation WorkMaking Automation Work
Making Automation Work
 
Taking the Containers First Approach
Taking the Containers First ApproachTaking the Containers First Approach
Taking the Containers First Approach
 
OCI Image Spec
OCI Image SpecOCI Image Spec
OCI Image Spec
 
OCI Runtime Spec
OCI Runtime SpecOCI Runtime Spec
OCI Runtime Spec
 
Reflection in Go
Reflection in GoReflection in Go
Reflection in Go
 
Go 1.8 'new' networking features
Go 1.8 'new' networking featuresGo 1.8 'new' networking features
Go 1.8 'new' networking features
 

Recently uploaded

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 

Recently uploaded (20)

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 

from Docker to Moby and back. what changed ?

  • 1. http://strikr.in/ CC BY NC-SA 4.0 Docker to Moby Project and back saifi@acm.org What changed ?
  • 2. http://strikr.in/ CC BY NC-SA 4.0 Why this talk ? â—Ź Docker architecture â—Ź Understand the Container landscape â—Ź Eco-system dynamics â—Ź Cloud vendor losing leverage â—Ź Moby in the game â—Ź Game of Open Standard thrones â—Ź Tactical Solutions approach – Power user is the System builder â—Ź
  • 3. http://strikr.in/ CC BY NC-SA 4.0 Goal of this talk â—Ź What should you do to succeed with containers in a post-Docker world ?
  • 4. http://strikr.in/ CC BY NC-SA 4.0 Application container Services Operating System OS Services container Runtime container Engine
  • 5. http://strikr.in/ CC BY NC-SA 4.0 Image credits: Docker Inc. Docker flow centric view
  • 6. http://strikr.in/ CC BY NC-SA 4.0 Docker API centric view
  • 7. http://strikr.in/ CC BY NC-SA 4.0 Pull image from registry docker pull index.docker.io/alpine:3.6
  • 8. http://strikr.in/ CC BY NC-SA 4.0 Docker schematic 4
  • 11. http://strikr.in/ CC BY NC-SA 4.0 â—Ź Properties of cloud native systems – Container Packaged – Dynamically managed – Micro-services oriented
  • 12. http://strikr.in/ CC BY NC-SA 4.0 â—Ź Goals to Achieve – Standardized interfaces between subsystems. – A standard systems architecture describing the relationship between parts – At least one standard reference implementation of each sub-system. – Extensible architecture that end users can extend, replace or change behavior in every layer of the stack for their purposes.
  • 13. http://strikr.in/ CC BY NC-SA 4.0 â—Ź Container packaged – Running applications and processes in software containers as an isolated unit of application deployment, and as a mechanism to achieve high levels of resource isolation. – Benefit â—Ź Improves overall developer experience â—Ź code and component reuse â—Ź simplify operations for cloud native app
  • 14. http://strikr.in/ CC BY NC-SA 4.0 â—Ź Dynamically managed – actively scheduled and actively managed by a central orchestrating process. – Benefits â—Ź Improve machine efficiency and resource utilization â—Ź Reduce the cost associated with maintenance and operations
  • 15. http://strikr.in/ CC BY NC-SA 4.0 â—Ź Micro-services oriented – Loosely coupled with dependencies explicitly described (ie. service end-points) – Benefits â—Ź Increase the overall agility and maintainability of applications.
  • 16. http://strikr.in/ CC BY NC-SA 4.0 Virtualization vs Containerization â—Ź VM world – Hypervisor â—Ź Container world – Container engine
  • 17. http://strikr.in/ CC BY NC-SA 4.0 Solutions Approach â—Ź Immutable infrastructure is the goal â—Ź Containers First â—Ź Data volume containers â—Ź Resilient Micro- services â—Ź Fine-tuned runtime to support it â—Ź Scripted automated â—Ź Pipelines â—Ź DevOps – coInt – coDep – coMon – coSec – coCmp Gold standard: It's your runtime with your artifact that you deploy to any 'cloud' vendor.
  • 18. http://strikr.in/ CC BY NC-SA 4.0 containerD
  • 19. http://strikr.in/ CC BY NC-SA 4.0 containerD â—Ź Core container runtime â—Ź The daemon that controls runC
  • 20. http://strikr.in/ CC BY NC-SA 4.0 ContainerD â—Ź Architecture – designed to be embedded into a larger system, rather than being used directly by developers or end-users. â—Ź daemon – exposes gRPC API over a local UNIX socket.
  • 21. http://strikr.in/ CC BY NC-SA 4.0 containerD â—Ź API design – low-level one designed for higher layers to wrap and extend. â—Ź CLI – a barebone CLI (ctr) designed for development and debugging purpose. â—Ź interface with runC – uses runC to run containers according to the OCI specification.
  • 22. http://strikr.in/ CC BY NC-SA 4.0 the promise of containerD 1.0 â—Ź Container execution and supervision â—Ź Image distribution â—Ź Network Interfaces Management â—Ź Local storage â—Ź Native plumbing level API â—Ź Full OCI support, including the extended OCI image specification Windows – Linux parity
  • 24. http://strikr.in/ CC BY NC-SA 4.0 ContainerD with the ecosystem
  • 25. http://strikr.in/ CC BY NC-SA 4.0 Container engine split
  • 26. http://strikr.in/ CC BY NC-SA 4.0 runC â—Ź universal runtime for OS Containers â—Ź CLI tool for spawning and running containers according to the OCI specification.
  • 27. http://strikr.in/ CC BY NC-SA 4.0 runC â—Ź a CLI tool for spawning and running containers according to the OCI specification. â—Ź runC – Depends on runtime-spec repo – Supports Linux platform only – Must be built with Go 1.6+ – Executes build tags for features – Linux kernel 4.3+ – Uses 'vndr' for dependency management
  • 28. http://strikr.in/ CC BY NC-SA 4.0 RunC for container lifecycle cd /mycontainer runc create mycontainerid # view the container is created and in the "created" state runc list # start the process inside the container runc start mycontainerid # after 5 seconds view that the container has exited and is now in the stopped state runc list # now delete the container runc delete mycontainerid
  • 29. http://strikr.in/ CC BY NC-SA 4.0 Rootless containers â—Ź runc has the ability to run containers without root privileges. This is referred to as rootless â—Ź some parameters need to be passed to runc in order to run rootless containers. â—Ź
  • 30. http://strikr.in/ CC BY NC-SA 4.0 Rootless containers â—Ź mkdir ~/mycontainer â—Ź cd ~/mycontainer â—Ź mkdir rootfs â—Ź docker export $(docker create busybox) | tar -C rootfs -xvf - â—Ź runc spec –rootless â—Ź runc --root /tmp/runc run mycontainerid
  • 31. http://strikr.in/ CC BY NC-SA 4.0 moby â—Ź Move away from monolithic docker â—Ź an open framework to assemble specialized container systems. â—Ź
  • 33. http://strikr.in/ CC BY NC-SA 4.0 moby â—Ź Tactical componentization â—Ź Support ecosystem
  • 34. http://strikr.in/ CC BY NC-SA 4.0 Container vs Distro building
  • 35. http://strikr.in/ CC BY NC-SA 4.0 Moby as it stands today â—Ź https://github.com/moby/moby/issues/32871 â—Ź Move the monolith https://github.com/moby/moby/pull/33022 â—Ź Discussions at https://forums.mobyproject.org/t/topic-find-a-good-an â—Ź
  • 36. http://strikr.in/ CC BY NC-SA 4.0 Moby code org .. issues â—Ź we have the code of the legacy "docker engine" (a monolith to be split out in multiple components) at the root and it's very confusing. â—Ź api – cannot be moved yet, because it's used externally â—Ź client – cannot be moved yet, because it's used externally
  • 37. http://strikr.in/ CC BY NC-SA 4.0 Moby code org â—Ź Moby – moby tool â—Ź Monolith – the code where "docker engine" lives, to be split out and eventually will disappear â—Ź Pkg – cannot be moved yet, because it's used externally â—Ź Vendor – vendoring
  • 38. http://strikr.in/ CC BY NC-SA 4.0 Infrastructure changes â—Ź OCI specs â—Ź OCI Image spec â—Ź OCI Runtime spec â—Ź Storage â—Ź Networking â—Ź
  • 39. http://strikr.in/ CC BY NC-SA 4.0 Docker needs a file system
  • 40. http://strikr.in/ CC BY NC-SA 4.0 Security
  • 41. http://strikr.in/ CC BY NC-SA 4.0 filesystem performance
  • 42. http://strikr.in/ CC BY NC-SA 4.0 What is Device Mapper ?
  • 43. http://strikr.in/ CC BY NC-SA 4.0 Device Mapper and LVM
  • 44. http://strikr.in/ CC BY NC-SA 4.0 Device mapper and Userspace
  • 45. http://strikr.in/ CC BY NC-SA 4.0 Device mapper thin provisioning
  • 46. http://strikr.in/ CC BY NC-SA 4.0 How docker uses thin pool
  • 47. http://strikr.in/ CC BY NC-SA 4.0 Docker images
  • 48. http://strikr.in/ CC BY NC-SA 4.0 #15629 â—Ź Docker with devicemapper driver and dm.thinpooldev lead to data loss â—Ź https://github.com/moby/moby/issues/15629 â—Ź Steps to reproduce – Create lvm thin pool using lvcreate or lvconvert – Pass lvm thin pool for exclusive use by docker – Run docker daemon with devicemapper driver and dm.thinpooldev – Import volume to the docker or create new container – Try to extend or make any operation on lvm thin pool using lvm tools like lvextend thin data â—Ź Issue: Only one entity can create thin devices in pool. Either lvm or docker.
  • 49. http://strikr.in/ CC BY NC-SA 4.0 Solution â—Ź configure direct-lvm mode for production â—Ź https://docs.docker.com/v1.10/engine/userguide/stor â—Ź Steps
  • 50. http://strikr.in/ CC BY NC-SA 4.0 Networking â—Ź Overlay networking
  • 51. http://strikr.in/ CC BY NC-SA 4.0 Docker networking
  • 52. http://strikr.in/ CC BY NC-SA 4.0 Container networking â—Ź Two competing standards – Container Network Model (CNM) – docker – Container Network Interface (CNI) - CoreOS â—Ź IPAM (IP address management) driver – Offload network responsibility/assignment – Avoid IP conflict and container routing issues – Enable dynamic, fan-like IPAM approaches – Operator visibility into container cloud
  • 53. http://strikr.in/ CC BY NC-SA 4.0 CNI model
  • 54. http://strikr.in/ CC BY NC-SA 4.0 CNM model
  • 55. http://strikr.in/ CC BY NC-SA 4.0 CNM interfacing approach
  • 57. http://strikr.in/ CC BY NC-SA 4.0 Real network setup.
  • 58. http://strikr.in/ CC BY NC-SA 4.0 Notary â—Ź Based on The Update Framework (TUF) â—Ź publishers can sign their content offline using keys kept highly secure â—Ź Software update systems are – Application updaters – Library package managers – System package managers â—Ź TUF is a spec and library for secure software update systems
  • 59. http://strikr.in/ CC BY NC-SA 4.0 Notary
  • 60. http://strikr.in/ CC BY NC-SA 4.0 Multiple Docker kits
  • 61. http://strikr.in/ CC BY NC-SA 4.0 SwarmKit â—Ź Swarmkit modelled after containerD – SwarmD – SwarmCtl â—Ź Protobuf3 with grpc over HTTP/2.0 â—Ź Swarmkit masters and Raft leaders are mutual exclusion â—Ź Master promotion /demotion can be done on any node manually
  • 63. http://strikr.in/ CC BY NC-SA 4.0 Infrakit
  • 66. http://strikr.in/ CC BY NC-SA 4.0 VPNKit
  • 68. http://strikr.in/ CC BY NC-SA 4.0 DataKit
  • 70. http://strikr.in/ CC BY NC-SA 4.0 HyperKit
  • 72. http://strikr.in/ CC BY NC-SA 4.0 LinuxKit
  • 76. http://strikr.in/ CC BY NC-SA 4.0 Container landscape
  • 77. http://strikr.in/ CC BY NC-SA 4.0 Pause …