SlideShare a Scribd company logo
Docker & Its Ecosystem
H-Layer 18.04 - www.hlayer.io
Docker, Kube, RunC, Moby & The Ecosystem
Aymen El Amri -
@eon01
Founder eralabs.io
Founder @DevOpsLinks
Author @PainlessDocker
The Ecosystem
Containers
History of Containers
● Chroot Jail
● FreeBSD Jails
● Linux-VServer
● Solaris Containers
● OpenVZ
● Process Containers
● LXC
● Warden
● LMCTFY
● Docker
● RKT
Chroot Jail
- The Chroot Jail, is one the first
containerization technologies (1979).
- It allows to isolate a process and its
children from the rest of the OS by
changing their root directory
- Security: A root process can easily exit the
chroot. Chroot was never intended as a
security mechanism
FreeBSD Jail
- A FreeBSD-specific implementation
- More secure than the Chroot Jail.
- A virtualization solution more advanced
than the simple chroot
- It lets you run multiple Linux
distributions on a single distribution
- Linux VServer / VPS
Linux-VServer
Oracle Solaris Containers
- An implementation of Linux-Vserver for
X86 and SPARC processors
- SPARC is a RISC (reduced instruction set
computing) architecture developed by
Sun Microsystems.
OpenVZ
- Similar to Solaris Containers
- Enables a physical baremetal server to
run multiple isolated operating systems →
containers.
- It is used by hosting companies to isolate
VPS.
CGroups - Process Containers
- It is a process isolator developed by
Google (CGroups)
- Docker is based on CGroups
LXC - Linux Containers
- Uses CGroups
- No need for Kernel patch
- Used to be used by Docker
LMCTFY
- Google developed the CGroups, which
was used by LXC
- Run applications in isolated environments
on the same Kernel and without patching
it
- Google: A leader in the container industry
- Everything, absolutely everything, runs
on containers at Google
- There are more than 2 billion containers
running on Google infrastructure every
week
Docker
- Most popular
- Developer friendly
RKT
- Developed by CoreOS
- Standards / Security
- Bought by Redhat
Containers : 1979 -> 2013
Containers vs VMs
Architecture
Docker Tools
2013 - Docker & LXC
- Docker se base sur LXC.
- Sponosrisé par Canonical
- A partir de la version 0.9 en 2014, Docker a cessé d’utiliser LXC et a
développé Libcontainer
2014 - Libcontainer
- L’interface de Docker pour accéder aux
Linux Facilities
2014 - Libcontainer
- Cgroups, Namespaces, Capabilities ..etc
Let’s Create a Container Using Namespaces & Cgroups
Let’s Create a Container Using Namespaces & Cgroups
Let’s Create a Container Using Namespaces & Cgroups
Let’s Create a Container Using Namespaces & Cgroups
The Container
Let’s Create a Container Using Namespaces & Cgroups
The Host Machine
2015 - RunC
- Leverage Libcontainer without without
going through the Docker Engine
- Standardization of the world of
containers.
- Other vendors can implement their own
version of containers
- The abstraction of the communication
between Docker and the runtime
Let’s Create a Container Without Using Docker
The Host Machine
Let’s Create a Container Without Using Docker
The Host Machine
Let’s Create a Container Without Using Docker
The Host Machine
Let’s Create a Container Without Using Docker
The Host Machine
Let’s Create a Container Without Using Docker
The Host Machine
2016 - Containerd
- Uses RunC to manage and supervise
containers (lifecycle)
- Exposes containers functionalities over
gRPC (vs Docker who exposes images,
volumes, networks, builds, etc.)
- Refactory → Containerd is a community
Open Source project
Architecture
- Monolithic → Components
1. Docker Engine creates the images and
pass it to containerd
2. Containerd calls containerd-shim
3. Containerd-shim call runC to run the
container
4. Containerd-shim allows the runtime to
be released once the container starts to
spin
2017 - Containers Go Mainstream
- Docker est devenu mainstream
- Plusieurs vendors: Mac, Linux, Windows,
AWS, GCP ..etc
- La création de l’OCI (Open Container
Initiative)
- Des nouveaux modèles de développement
et de production
The Moby Project
- A project to organize and modularize the
development of Docker
- It is an ecosystem of development and
production
- No change for the regular users
The Moby Project
Containerd
- Industry-standard core container
runtime
- Manage the container’s lifecycle
LinuxKit
- A tool for creating lightweight and secure
operating systems for containers
InfraKit
- Distributed / self-healing infrastructures
- Procedural vs Declarative
- Desired State
SwarmKit
- A toolbox for orchestrating distributed
systems at any scale.
- It includes primitives for node discovery,
RAFT-based consensus, and task
scheduling.
Orchestration
Orchestration
Orchestration
Orchestration is a Must
Kubernetes
- Developed by Google
- Google has been running production
workloads in containers for over 15 years
- Using K8S: Github, Ebay, Wikimedia ..
Kubernetes in the Cloud
- Amazon Elastic Container Service for
Kubernetes (EKS)
- Redhat Openshift
- Google Container Engine (GKE)
- Azure Container Service (AKS)
Kubernetes Community
- Organisation en SIG (Special Interest
Groups)
- Google, Redhat, CoreOs, Alibaba,
Microsoft, Samsung, Huawei, Canonical,
IBM, Fujitsu ..etc
Redhat & Kuberentes
Aymen El Amri
www.bit.ly/hldocker
Twitter: @eon01
Email: aymen@eralabs.io
Join eralabs.:
www.eralabs.io
Connect Deeper
Images via: sysadmincasts.com, docker.com, jimmysong.io

More Related Content

What's hot

Linux Container Technology 101
Linux Container Technology 101Linux Container Technology 101
Linux Container Technology 101
inside-BigData.com
 
How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)
Pavel Snajdr
 
Understanding LXC & Docker
Understanding LXC & DockerUnderstanding LXC & Docker
Understanding LXC & Docker
Comprinno Technologies
 
OpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and DockerOpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and Docker
Kirill Kolyshkin
 
Rkt Container Engine
Rkt Container EngineRkt Container Engine
Rkt Container Engine
Thuc Le Dong
 
Openvz - a quick introduction
Openvz - a quick introductionOpenvz - a quick introduction
Openvz - a quick introduction
Olle E Johansson
 
Backend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker IntroductionBackend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker Introduction
Kyunghun Jeon
 
Container Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingContainer Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're Going
Phil Estes
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
Akihiro Suda
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux Containers
Kirill Kolyshkin
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Layne Peng
 
Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302
Boden Russell
 
Lxc- Introduction
Lxc- IntroductionLxc- Introduction
Lxc- Introduction
Luís Eduardo
 
Lxc – next gen virtualization for cloud intro (cloudexpo)
Lxc – next gen virtualization for cloud   intro (cloudexpo)Lxc – next gen virtualization for cloud   intro (cloudexpo)
Lxc – next gen virtualization for cloud intro (cloudexpo)
Boden Russell
 
Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019
Allen Vailliencourt
 
LXC
LXCLXC
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Boden Russell
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
dotCloud
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
Akihiro Suda
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerAtul Prajapati
 

What's hot (20)

Linux Container Technology 101
Linux Container Technology 101Linux Container Technology 101
Linux Container Technology 101
 
How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)
 
Understanding LXC & Docker
Understanding LXC & DockerUnderstanding LXC & Docker
Understanding LXC & Docker
 
OpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and DockerOpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and Docker
 
Rkt Container Engine
Rkt Container EngineRkt Container Engine
Rkt Container Engine
 
Openvz - a quick introduction
Openvz - a quick introductionOpenvz - a quick introduction
Openvz - a quick introduction
 
Backend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker IntroductionBackend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker Introduction
 
Container Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingContainer Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're Going
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux Containers
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302
 
Lxc- Introduction
Lxc- IntroductionLxc- Introduction
Lxc- Introduction
 
Lxc – next gen virtualization for cloud intro (cloudexpo)
Lxc – next gen virtualization for cloud   intro (cloudexpo)Lxc – next gen virtualization for cloud   intro (cloudexpo)
Lxc – next gen virtualization for cloud intro (cloudexpo)
 
Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019Upstate DevOps - Containers 101 - March 28, 2019
Upstate DevOps - Containers 101 - March 28, 2019
 
LXC
LXCLXC
LXC
 
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 

Similar to HLayer / Docker and its ecosystem

Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
Patrick Chanezon
 
Docker Presentation
Docker PresentationDocker Presentation
Docker Presentation
Adhoura Academy
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar
 
Understanding the container landscape and it associated projects
Understanding the container landscape and it associated projectsUnderstanding the container landscape and it associated projects
Understanding the container landscape and it associated projects
Anthony Chow
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
Henryk Konsek
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
Phil Estes
 
Docker Dojo
Docker DojoDocker Dojo
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
Nguyen Van Vuong
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
Fabio Fumarola
 
Container Runtimes: Comparing and Contrasting Today's Engines
Container Runtimes: Comparing and Contrasting Today's EnginesContainer Runtimes: Comparing and Contrasting Today's Engines
Container Runtimes: Comparing and Contrasting Today's Engines
Phil Estes
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
WSO2
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
Yusuf Hadiwinata Sutandar
 
Docker meetup-20-apr-17-openshit
Docker meetup-20-apr-17-openshitDocker meetup-20-apr-17-openshit
Docker meetup-20-apr-17-openshit
Yusuf Hadiwinata Sutandar
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
BRKSDN-2115
BRKSDN-2115 BRKSDN-2115
BRKSDN-2115
Rohit Agarwalla
 
An introduction to contianers and Docker for PHP developers
An introduction to contianers and Docker for PHP developersAn introduction to contianers and Docker for PHP developers
An introduction to contianers and Docker for PHP developers
Robert McFrazier
 
Containers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
Shreyas MM
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
 

Similar to HLayer / Docker and its ecosystem (20)

Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Docker Presentation
Docker PresentationDocker Presentation
Docker Presentation
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Understanding the container landscape and it associated projects
Understanding the container landscape and it associated projectsUnderstanding the container landscape and it associated projects
Understanding the container landscape and it associated projects
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
Docker Dojo
Docker DojoDocker Dojo
Docker Dojo
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
Container Runtimes: Comparing and Contrasting Today's Engines
Container Runtimes: Comparing and Contrasting Today's EnginesContainer Runtimes: Comparing and Contrasting Today's Engines
Container Runtimes: Comparing and Contrasting Today's Engines
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Docker meetup-20-apr-17-openshit
Docker meetup-20-apr-17-openshitDocker meetup-20-apr-17-openshit
Docker meetup-20-apr-17-openshit
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
BRKSDN-2115
BRKSDN-2115 BRKSDN-2115
BRKSDN-2115
 
An introduction to contianers and Docker for PHP developers
An introduction to contianers and Docker for PHP developersAn introduction to contianers and Docker for PHP developers
An introduction to contianers and Docker for PHP developers
 
Containers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 

More from Aymen EL Amri

HLayer / DevOps REX
HLayer / DevOps REXHLayer / DevOps REX
HLayer / DevOps REX
Aymen EL Amri
 
HLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesHLayer / Cloud Native Best Practices
HLayer / Cloud Native Best Practices
Aymen EL Amri
 
HLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CDHLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CD
Aymen EL Amri
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
Aymen EL Amri
 
The Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps ProfessionalThe Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps Professional
Aymen EL Amri
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
Aymen EL Amri
 
SaltStack For DevOps, Free Sample
SaltStack For DevOps, Free SampleSaltStack For DevOps, Free Sample
SaltStack For DevOps, Free Sample
Aymen EL Amri
 

More from Aymen EL Amri (7)

HLayer / DevOps REX
HLayer / DevOps REXHLayer / DevOps REX
HLayer / DevOps REX
 
HLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesHLayer / Cloud Native Best Practices
HLayer / Cloud Native Best Practices
 
HLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CDHLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CD
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
 
The Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps ProfessionalThe Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps Professional
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
 
SaltStack For DevOps, Free Sample
SaltStack For DevOps, Free SampleSaltStack For DevOps, Free Sample
SaltStack For DevOps, Free Sample
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

HLayer / Docker and its ecosystem

  • 1. Docker & Its Ecosystem H-Layer 18.04 - www.hlayer.io Docker, Kube, RunC, Moby & The Ecosystem
  • 2. Aymen El Amri - @eon01 Founder eralabs.io Founder @DevOpsLinks Author @PainlessDocker
  • 5. History of Containers ● Chroot Jail ● FreeBSD Jails ● Linux-VServer ● Solaris Containers ● OpenVZ ● Process Containers ● LXC ● Warden ● LMCTFY ● Docker ● RKT
  • 6. Chroot Jail - The Chroot Jail, is one the first containerization technologies (1979). - It allows to isolate a process and its children from the rest of the OS by changing their root directory - Security: A root process can easily exit the chroot. Chroot was never intended as a security mechanism
  • 7. FreeBSD Jail - A FreeBSD-specific implementation - More secure than the Chroot Jail.
  • 8. - A virtualization solution more advanced than the simple chroot - It lets you run multiple Linux distributions on a single distribution - Linux VServer / VPS Linux-VServer
  • 9. Oracle Solaris Containers - An implementation of Linux-Vserver for X86 and SPARC processors - SPARC is a RISC (reduced instruction set computing) architecture developed by Sun Microsystems.
  • 10. OpenVZ - Similar to Solaris Containers - Enables a physical baremetal server to run multiple isolated operating systems → containers. - It is used by hosting companies to isolate VPS.
  • 11. CGroups - Process Containers - It is a process isolator developed by Google (CGroups) - Docker is based on CGroups
  • 12. LXC - Linux Containers - Uses CGroups - No need for Kernel patch - Used to be used by Docker
  • 13. LMCTFY - Google developed the CGroups, which was used by LXC - Run applications in isolated environments on the same Kernel and without patching it - Google: A leader in the container industry - Everything, absolutely everything, runs on containers at Google - There are more than 2 billion containers running on Google infrastructure every week
  • 14. Docker - Most popular - Developer friendly
  • 15. RKT - Developed by CoreOS - Standards / Security - Bought by Redhat
  • 16. Containers : 1979 -> 2013
  • 20. 2013 - Docker & LXC - Docker se base sur LXC. - Sponosrisé par Canonical - A partir de la version 0.9 en 2014, Docker a cessé d’utiliser LXC et a développé Libcontainer
  • 21. 2014 - Libcontainer - L’interface de Docker pour accéder aux Linux Facilities
  • 22. 2014 - Libcontainer - Cgroups, Namespaces, Capabilities ..etc
  • 23. Let’s Create a Container Using Namespaces & Cgroups
  • 24. Let’s Create a Container Using Namespaces & Cgroups
  • 25. Let’s Create a Container Using Namespaces & Cgroups
  • 26. Let’s Create a Container Using Namespaces & Cgroups The Container
  • 27. Let’s Create a Container Using Namespaces & Cgroups The Host Machine
  • 28. 2015 - RunC - Leverage Libcontainer without without going through the Docker Engine - Standardization of the world of containers. - Other vendors can implement their own version of containers - The abstraction of the communication between Docker and the runtime
  • 29. Let’s Create a Container Without Using Docker The Host Machine
  • 30. Let’s Create a Container Without Using Docker The Host Machine
  • 31. Let’s Create a Container Without Using Docker The Host Machine
  • 32. Let’s Create a Container Without Using Docker The Host Machine
  • 33. Let’s Create a Container Without Using Docker The Host Machine
  • 34. 2016 - Containerd - Uses RunC to manage and supervise containers (lifecycle) - Exposes containers functionalities over gRPC (vs Docker who exposes images, volumes, networks, builds, etc.) - Refactory → Containerd is a community Open Source project
  • 35. Architecture - Monolithic → Components 1. Docker Engine creates the images and pass it to containerd 2. Containerd calls containerd-shim 3. Containerd-shim call runC to run the container 4. Containerd-shim allows the runtime to be released once the container starts to spin
  • 36. 2017 - Containers Go Mainstream - Docker est devenu mainstream - Plusieurs vendors: Mac, Linux, Windows, AWS, GCP ..etc - La création de l’OCI (Open Container Initiative) - Des nouveaux modèles de développement et de production
  • 37. The Moby Project - A project to organize and modularize the development of Docker - It is an ecosystem of development and production - No change for the regular users
  • 38.
  • 39.
  • 40.
  • 41.
  • 43. Containerd - Industry-standard core container runtime - Manage the container’s lifecycle
  • 44. LinuxKit - A tool for creating lightweight and secure operating systems for containers
  • 45. InfraKit - Distributed / self-healing infrastructures - Procedural vs Declarative - Desired State
  • 46. SwarmKit - A toolbox for orchestrating distributed systems at any scale. - It includes primitives for node discovery, RAFT-based consensus, and task scheduling.
  • 51. Kubernetes - Developed by Google - Google has been running production workloads in containers for over 15 years - Using K8S: Github, Ebay, Wikimedia ..
  • 52. Kubernetes in the Cloud - Amazon Elastic Container Service for Kubernetes (EKS) - Redhat Openshift - Google Container Engine (GKE) - Azure Container Service (AKS)
  • 53. Kubernetes Community - Organisation en SIG (Special Interest Groups) - Google, Redhat, CoreOs, Alibaba, Microsoft, Samsung, Huawei, Canonical, IBM, Fujitsu ..etc
  • 55. Aymen El Amri www.bit.ly/hldocker Twitter: @eon01 Email: aymen@eralabs.io Join eralabs.: www.eralabs.io Connect Deeper Images via: sysadmincasts.com, docker.com, jimmysong.io