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
 
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
 
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 .
 
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

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
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
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 

Recently uploaded (20)

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
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
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 

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 …