SlideShare a Scribd company logo
The missing piece: when Docker networking
unleashes software architecture 2.0
A. Blind
DevOps coach
Société Générale
@adrienblind
L. Grangeau
Solutions architect
Finaxys
@laurentgrangeau
Agenda
2 - Starters
Docker networking
& volume features
discovered
3 - Dessert
Taste-an-app
1 - Apetizer
Back on current
Docker paradigms
3 - Main course
Application
architecture shifts
Back on current
docker paradigms
Back on Docker paradigms
‘’A universal, self-sufficient and standard artifact embedding an app
module, and its subsequent infrastructure configuration’’
Immutable
Versionned
Light
Portable
Disposable
Programatic
Social
Incremental
 It’s mainly focused on enclosing computing
capabilities: what about storage ? Network ?
Networking & volume
features discovered
Docker networking
Docker networking
Docker networking
The Container Network Model (CNM)
A docker container
Endpoint
A docker container
Endpoint
A docker container
EndpointEndpoint
Network sandbox Network sandbox Network sandbox
Front network Back network
Docker networking
$ docker network create mynetwork
5000dec7c180a63d87031de7e6bfcf2b25cf1e5daef6338f16fbd4
451210a938
$ docker network create –d overlay multihostnetwork
e6537b859359843bc02392245ab226070f79dbf87be2d492969c84
3f89fb6de6
Docker networking
$ docker network inspect mynetwork
[
{
"Name": "mynetwork",
"Id":
"5000dec7c180a63d87031de7e6bfcf2b25cf1e5daef6338f16fbd4451
210a938",
"Scope": "local",
"Driver": "bridge",
"IPAM": {
"Driver": "default",
"Config": [
{}
]
},
"Containers": {},
"Options": {}
}
]
Docker networking
Host Host Host Host
SDNs
SDN 1
SDN 2
SDN 3
Docker networking
Docker networking
Docker Compose evolved to embrace
new networking features
$ docker-compose --x-networking
--x-network-driver=overlay up
$ docker-compose up
Docker volumes
Docker volumes
aufs/overlayfs/btrfs
Docker volumes
Docker volumes
$ docker volume ls
DRIVER VOLUME NAME
local cf872ca21d27843f6b6319ac1a34390…
local f19f50251f48c64a6b33a5c637c2330…
$ docker volume inspect
cf872ca21d27843f6b6319ac1a34390dd38d94…
[
{
"Name": "cf872ca21d27843f6b6319ac1a34390dd38d94…",
"Driver": "local",
"Mountpoint":
"/mnt/sda1/var/lib/docker/volumes/[…]/_data"
}
]
Docker volumes
$ docker volume create –d volplugin --name pool/name
Cf872ca21d27843f6b6319ac1a34390dd38d94ed4649cd985456d5
23fb05d4cc
$ docker run –d –p 8080:8080 –v
pool/name:/var/jenkins_home jenkins
96aec6f4e45e050dfb4f75a1009e7f105bced5b406752e62d47061
5d07348b07
Take-away
Application
Compute
(Run containers)
Docker building blocks
Application
Compute
(Run containers)
Storage
(Volumes)
‘’Immutability of containers led to data
Externalization in separate objects’’
‘’Fine-grained granularity of containers led
to closely interconnect them’’
Application
Compute
(Run containers)
Storage
(Volumes)
Transport
(Network)
‘’The whole topology can now
be described’’
Application
Compute
(Run containers)
Storage
(Volumes)
Transport
(Network)
Topology
(Compose)
‘’Docker finally shifted to
object-oriented infra. architecture’’
Application
Compute
(Run containers)
Storage
(Volumes)
Transport
(Network)
Topology
(Compose)
CaaS platform (Swarm, Machine...)
Application
architecture shifts
Security paradigms shifts
Security paradigms shifts
Your IT opens up
• Externalization
• Cloud (IaaS/PaaS/SaaS)
Open up your IS
• B2B, services exposition
• Multi tenancy
More & more breaches appears in your Great Wall of China!
Security is an app feature, not just an outer infra. concern
Onboard security guys in your feature team  SecDevOps
Security paradigms shifts
The necessary porosity of your IS requires to stick
security closer to each application: sandbox your apps
and expose protected interfaces!
Network is part of application topology
Authentication & authorization is the key
Network paradigms shifts
VM
VM
VM
VM
VM
VM
VM
VM
VM
Internet
Internet
DMZ
Physical overview
Logical overview
Tenant
#1
Tenant
#2
LAN
LAN
DMZ1
DMZ2
Traditional networks
relies a lot on low layers
(L2, etc.)
Application topologies
are quite different from
physical ones
Network paradigms shifts
SDNs proposes network solutions embracing
cloud paradigms
Massively multi-tenant
Thousands tenants, massively scalable
Easy & fast (de)provisioning
Infra as code, API centric
Infrastructure agnostic
L3, does not stick with lower levels (physical designs, vlans & co)
Decouple infrastructure & tenants lifecycles
Cross technology, vendor agnostic
From Enterprise Services buses
to full-mesh topologies
ESB
Service Service Service
Service Service
>
ServiceService
Service
Service
Service
Micro services
Fine-grained, highly decoupled and
atomic purpose centric services
Designed
for failure
Multi-versioned
Scalable
Micro services
Stateless
Share-nothing
Immutable
Continuously
delivered
Distributed
Service
consumer
Service
provider
Registry
2. Find 1. Publish
3. Bind
Leverage on a Service registry to discover
where are services located
Micro services
Resilience & scalability: apps problem now!
Vertical > horizontal
Dumber infrastructure
Apps designed for failure & scalability
Data to be externalized
 Structured: MongoDB, Hadoop, Cassandra, Elastic Search...
 Binaries: object storage with Ceph, OpenStack Swift...
 Helpful patterns: stateless, share nothing, loose coupling...
 Infrastructure rationalization
 Low-cost, poor-SLA commodity
« Organizations which design systems... are constrained to
produce designs which are copies of the communication structures
of these organizations ». - M. Conway, 1968
Consider shifting your organization if you
wish to shift your architecture
Forget about the central architects myth of
organizing, integrating everything
Consider changing your organization to expect
changing the architecture!  promote feature teams
Organization
Docker suits perfectly new applications
challenges
Create docker networks to isolate applications
Docker container properties fits micro-services challenges
Resilience & scalability is mostly about multiplying containers
Expect to discuss roles shift in organization
Taste-an-app
Execution platform
Registry
Docker-machine
Docker-swarm
The registrator
discovers new
containers and
feeds the registry
Application design
Provider micro serviceConsumers
The python app module exposes a REST service searching
information in the MongoDB
The NGINX reverse proxy forward app. requests on one of the
python instance registered in Consul
Find
Application topology & runtime
The whole application topology is stored as:
docker-compose yaml file
docker-compose args (aka --x-networking & --x-network-driver)
You can scale up or down the python instances of the micro-
service using traditionnal docker-compose scale command
Network view
Only the load balancer VIP is exposed externally
A WAF instance could secure this entrypoint
SDN « myapp »
Host network
Provider micro serviceConsumers
Network view - advanced
Provider micro service
Consumers
SDN « front »
SDN « back »
Host network
Back
Middle
Front
‘’To enhance security
you may decouple
each application tier’’
Zoom on the registry usages
At infrastructure level, the registry is used by swarm
(internally) to be aware of the cluster’s participants
At container level, the registrator enable to registers
any container instances, grouped per type
At application level, the consumers asks the registry
where the micro-service (the NGINX front-end) is located
Noticed the three different usages of the registry ?
You may consider using different registries for each usage : for example an
internal registry for the micro service internal topology
Conclusions
Docker shifted from universal containers to
object-oriented infrastructure
Security is an app concern
Software is eating the world: application
architecture is the key, infrastructure is commodity
Thank you!
A. Blind
@adrienblind
adrien.blind@sgcib.com
L. Grangeau
@laurentgrangeau
laurent.grangeau@gmail.com

More Related Content

What's hot (20)

PDF
Practical Design Patterns in Docker Networking
Docker, Inc.
 
PPTX
Experiences with AWS immutable deploys and job processing
Docker, Inc.
 
PPTX
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
Docker, Inc.
 
PDF
Production Ready Containers from IBM and Docker
Docker, Inc.
 
PPTX
Enabling Production Grade Containerized Applications through Policy Based Inf...
Docker, Inc.
 
PDF
DockerCon EU 2015: Docker Networking Deep Dive
Docker, Inc.
 
PPTX
Docker Networking : 0 to 60mph slides
Docker, Inc.
 
PPTX
Docker Datacenter Overview and Production Setup Slides
Docker, Inc.
 
PDF
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
PDF
How to accelerate docker adoption with a simple and powerful user experience
Docker, Inc.
 
PDF
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Docker, Inc.
 
PDF
Deep Dive in Docker Overlay Networks - Laurent Bernaille - Architect, D2SI
Docker, Inc.
 
ODP
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Docker, Inc.
 
PDF
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Docker, Inc.
 
PDF
Docker London: Container Security
Phil Estes
 
PPTX
DockerCon EU 2015: Nesting Containers: Real Life Observations
Docker, Inc.
 
PPTX
DockerCon EU 2015: Cultural Revolution - How to Mange the Change Docker Brings
Docker, Inc.
 
PDF
Effective Data Pipelines with Docker & Jenkins - Brian Donaldson
Docker, Inc.
 
PDF
Docker Networking in Production at Visa - Sasi Kannappan, Visa and Mark Churc...
Docker, Inc.
 
PDF
Docker on Docker
Docker, Inc.
 
Practical Design Patterns in Docker Networking
Docker, Inc.
 
Experiences with AWS immutable deploys and job processing
Docker, Inc.
 
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
Docker, Inc.
 
Production Ready Containers from IBM and Docker
Docker, Inc.
 
Enabling Production Grade Containerized Applications through Policy Based Inf...
Docker, Inc.
 
DockerCon EU 2015: Docker Networking Deep Dive
Docker, Inc.
 
Docker Networking : 0 to 60mph slides
Docker, Inc.
 
Docker Datacenter Overview and Production Setup Slides
Docker, Inc.
 
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
How to accelerate docker adoption with a simple and powerful user experience
Docker, Inc.
 
Taking Docker from Local to Production at Intuit JanJaap Lahpor, Intuit and H...
Docker, Inc.
 
Deep Dive in Docker Overlay Networks - Laurent Bernaille - Architect, D2SI
Docker, Inc.
 
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Docker, Inc.
 
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Docker, Inc.
 
Docker London: Container Security
Phil Estes
 
DockerCon EU 2015: Nesting Containers: Real Life Observations
Docker, Inc.
 
DockerCon EU 2015: Cultural Revolution - How to Mange the Change Docker Brings
Docker, Inc.
 
Effective Data Pipelines with Docker & Jenkins - Brian Donaldson
Docker, Inc.
 
Docker Networking in Production at Visa - Sasi Kannappan, Visa and Mark Churc...
Docker, Inc.
 
Docker on Docker
Docker, Inc.
 

Viewers also liked (20)

PDF
Docker 101: Introduction to Docker
Docker, Inc.
 
PDF
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
PPTX
DockerCon EU 2015: Docker Monitoring
Docker, Inc.
 
PPTX
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
Docker, Inc.
 
PDF
Docker Compose by Aanand Prasad
Docker, Inc.
 
PDF
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Docker, Inc.
 
PPTX
Docker introduction
dotCloud
 
PPTX
Docker 101 - Nov 2016
Docker, Inc.
 
PPTX
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.
 
PDF
The Development Infrastructure of the TYPO3 Project
Steffen Gebert
 
PPTX
Restcomm in an oauth environment
telestax
 
PDF
Docker compose and swarm
Tanmay Mehra
 
PDF
Openshift v3-a-revolucao-dos-containers-3
Ricardo Martinelli de Oliveira
 
PPTX
Software Architecture Fundamentals Part-1-Architecture soft skills
Freddy Munandar
 
PDF
Red Hat Summit 2015 - Build an Enterprise Application in 60 Minutes with JBos...
Maggie Hu
 
PDF
Nebulaworks Docker Overview 09-22-2015
Chris Ciborowski
 
PPTX
Pycon Australia 2015: Docker + Python
Tim Butler
 
PDF
Think Like a Futurist: 5 Steps to Future-Proof Your Strategic Technology Plan
Cori Zuppo, PhD, SHRM-SCP, SPHR, GPHR
 
PDF
Making the Switch to Bare Metal and Open Networking
Cumulus Networks
 
PPTX
Docker compose
Oxalide
 
Docker 101: Introduction to Docker
Docker, Inc.
 
Docker Continuous Delivery Workshop
Jirayut Nimsaeng
 
DockerCon EU 2015: Docker Monitoring
Docker, Inc.
 
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
Docker, Inc.
 
Docker Compose by Aanand Prasad
Docker, Inc.
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Docker, Inc.
 
Docker introduction
dotCloud
 
Docker 101 - Nov 2016
Docker, Inc.
 
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.
 
The Development Infrastructure of the TYPO3 Project
Steffen Gebert
 
Restcomm in an oauth environment
telestax
 
Docker compose and swarm
Tanmay Mehra
 
Openshift v3-a-revolucao-dos-containers-3
Ricardo Martinelli de Oliveira
 
Software Architecture Fundamentals Part-1-Architecture soft skills
Freddy Munandar
 
Red Hat Summit 2015 - Build an Enterprise Application in 60 Minutes with JBos...
Maggie Hu
 
Nebulaworks Docker Overview 09-22-2015
Chris Ciborowski
 
Pycon Australia 2015: Docker + Python
Tim Butler
 
Think Like a Futurist: 5 Steps to Future-Proof Your Strategic Technology Plan
Cori Zuppo, PhD, SHRM-SCP, SPHR, GPHR
 
Making the Switch to Bare Metal and Open Networking
Cumulus Networks
 
Docker compose
Oxalide
 
Ad

Similar to DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft architecture 2.0 (20)

PPTX
The missing piece : when Docker networking and services finally unleashes so...
Adrien Blind
 
PPTX
DockerCon - The missing piece : when Docker networking unleashes software arc...
Laurent Grangeau
 
PDF
Cloud Computing as Innovation Hub - Mohammad Fairus Khalid
OpenNebula Project
 
PPTX
Deep-Dive on Container Networking Architectures - Frans van Rooyen - Dell EMC...
{code} by Dell EMC
 
PPTX
Network Design patters with Docker
Daniel Finneran
 
PDF
Docker microservices and the service mesh
Docker, Inc.
 
PDF
Who Needs Network Management in a Cloud Native Environment?
Eshed Gal-Or
 
PDF
Container Networking Deep Dive
Open Networking Summit
 
PPTX
State of the Container Ecosystem
Vinay Rao
 
PPTX
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Cynthia Thomas
 
PPTX
Unleash software architecture leveraging on docker
Adrien Blind
 
PDF
Container Landscape in 2019
Anusha Ragunathan
 
PDF
StackEngine Demo - Boston
Boyd Hemphill
 
PDF
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
PDF
Net Microservices Architecture For Containerized Net Applications V60 Updated...
uosefkurucu
 
PPTX
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
PDF
Building a smarter application stack - service discovery and wiring for Docker
Tomas Doran
 
PDF
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud
 
PDF
Building a Smarter Application Stack
Docker, Inc.
 
PPTX
Microservices & Container Networking - OSN Days, Singapore
Iyappa "Ayyaps" Swaminathan
 
The missing piece : when Docker networking and services finally unleashes so...
Adrien Blind
 
DockerCon - The missing piece : when Docker networking unleashes software arc...
Laurent Grangeau
 
Cloud Computing as Innovation Hub - Mohammad Fairus Khalid
OpenNebula Project
 
Deep-Dive on Container Networking Architectures - Frans van Rooyen - Dell EMC...
{code} by Dell EMC
 
Network Design patters with Docker
Daniel Finneran
 
Docker microservices and the service mesh
Docker, Inc.
 
Who Needs Network Management in a Cloud Native Environment?
Eshed Gal-Or
 
Container Networking Deep Dive
Open Networking Summit
 
State of the Container Ecosystem
Vinay Rao
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Cynthia Thomas
 
Unleash software architecture leveraging on docker
Adrien Blind
 
Container Landscape in 2019
Anusha Ragunathan
 
StackEngine Demo - Boston
Boyd Hemphill
 
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
Net Microservices Architecture For Containerized Net Applications V60 Updated...
uosefkurucu
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Building a smarter application stack - service discovery and wiring for Docker
Tomas Doran
 
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud
 
Building a Smarter Application Stack
Docker, Inc.
 
Microservices & Container Networking - OSN Days, Singapore
Iyappa "Ayyaps" Swaminathan
 
Ad

More from Docker, Inc. (20)

PDF
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.
 
PDF
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
PDF
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
PDF
Securing Your Containerized Applications with NGINX
Docker, Inc.
 
PDF
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.
 
PDF
Hands-on Helm
Docker, Inc.
 
PDF
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.
 
PDF
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.
 
PDF
Monitoring in a Microservices World
Docker, Inc.
 
PDF
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
PDF
Predicting Space Weather with Docker
Docker, Inc.
 
PDF
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
PDF
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
PDF
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.
 
PDF
Kubernetes at Datadog Scale
Docker, Inc.
 
PDF
Labels, Labels, Labels
Docker, Inc.
 
PDF
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.
 
PDF
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
PDF
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.
 
PDF
Developing with Docker for the Arm Architecture
Docker, Inc.
 
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.
 
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
Securing Your Containerized Applications with NGINX
Docker, Inc.
 
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.
 
Hands-on Helm
Docker, Inc.
 
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.
 
Monitoring in a Microservices World
Docker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
Predicting Space Weather with Docker
Docker, Inc.
 
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.
 
Kubernetes at Datadog Scale
Docker, Inc.
 
Labels, Labels, Labels
Docker, Inc.
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.
 
Developing with Docker for the Arm Architecture
Docker, Inc.
 

Recently uploaded (20)

PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Digital Circuits, important subject in CS
contactparinay1
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 

DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft architecture 2.0

  • 1. The missing piece: when Docker networking unleashes software architecture 2.0 A. Blind DevOps coach Société Générale @adrienblind L. Grangeau Solutions architect Finaxys @laurentgrangeau
  • 2. Agenda 2 - Starters Docker networking & volume features discovered 3 - Dessert Taste-an-app 1 - Apetizer Back on current Docker paradigms 3 - Main course Application architecture shifts
  • 4. Back on Docker paradigms ‘’A universal, self-sufficient and standard artifact embedding an app module, and its subsequent infrastructure configuration’’ Immutable Versionned Light Portable Disposable Programatic Social Incremental  It’s mainly focused on enclosing computing capabilities: what about storage ? Network ?
  • 8. Docker networking The Container Network Model (CNM) A docker container Endpoint A docker container Endpoint A docker container EndpointEndpoint Network sandbox Network sandbox Network sandbox Front network Back network
  • 9. Docker networking $ docker network create mynetwork 5000dec7c180a63d87031de7e6bfcf2b25cf1e5daef6338f16fbd4 451210a938 $ docker network create –d overlay multihostnetwork e6537b859359843bc02392245ab226070f79dbf87be2d492969c84 3f89fb6de6
  • 10. Docker networking $ docker network inspect mynetwork [ { "Name": "mynetwork", "Id": "5000dec7c180a63d87031de7e6bfcf2b25cf1e5daef6338f16fbd4451 210a938", "Scope": "local", "Driver": "bridge", "IPAM": { "Driver": "default", "Config": [ {} ] }, "Containers": {}, "Options": {} } ]
  • 11. Docker networking Host Host Host Host SDNs SDN 1 SDN 2 SDN 3
  • 13. Docker networking Docker Compose evolved to embrace new networking features $ docker-compose --x-networking --x-network-driver=overlay up $ docker-compose up
  • 17. Docker volumes $ docker volume ls DRIVER VOLUME NAME local cf872ca21d27843f6b6319ac1a34390… local f19f50251f48c64a6b33a5c637c2330… $ docker volume inspect cf872ca21d27843f6b6319ac1a34390dd38d94… [ { "Name": "cf872ca21d27843f6b6319ac1a34390dd38d94…", "Driver": "local", "Mountpoint": "/mnt/sda1/var/lib/docker/volumes/[…]/_data" } ]
  • 18. Docker volumes $ docker volume create –d volplugin --name pool/name Cf872ca21d27843f6b6319ac1a34390dd38d94ed4649cd985456d5 23fb05d4cc $ docker run –d –p 8080:8080 –v pool/name:/var/jenkins_home jenkins 96aec6f4e45e050dfb4f75a1009e7f105bced5b406752e62d47061 5d07348b07
  • 21. Application Compute (Run containers) Storage (Volumes) ‘’Immutability of containers led to data Externalization in separate objects’’
  • 22. ‘’Fine-grained granularity of containers led to closely interconnect them’’ Application Compute (Run containers) Storage (Volumes) Transport (Network)
  • 23. ‘’The whole topology can now be described’’ Application Compute (Run containers) Storage (Volumes) Transport (Network) Topology (Compose)
  • 24. ‘’Docker finally shifted to object-oriented infra. architecture’’ Application Compute (Run containers) Storage (Volumes) Transport (Network) Topology (Compose) CaaS platform (Swarm, Machine...)
  • 27. Security paradigms shifts Your IT opens up • Externalization • Cloud (IaaS/PaaS/SaaS) Open up your IS • B2B, services exposition • Multi tenancy More & more breaches appears in your Great Wall of China! Security is an app feature, not just an outer infra. concern Onboard security guys in your feature team  SecDevOps
  • 28. Security paradigms shifts The necessary porosity of your IS requires to stick security closer to each application: sandbox your apps and expose protected interfaces! Network is part of application topology Authentication & authorization is the key
  • 29. Network paradigms shifts VM VM VM VM VM VM VM VM VM Internet Internet DMZ Physical overview Logical overview Tenant #1 Tenant #2 LAN LAN DMZ1 DMZ2 Traditional networks relies a lot on low layers (L2, etc.) Application topologies are quite different from physical ones
  • 30. Network paradigms shifts SDNs proposes network solutions embracing cloud paradigms Massively multi-tenant Thousands tenants, massively scalable Easy & fast (de)provisioning Infra as code, API centric Infrastructure agnostic L3, does not stick with lower levels (physical designs, vlans & co) Decouple infrastructure & tenants lifecycles Cross technology, vendor agnostic
  • 31. From Enterprise Services buses to full-mesh topologies ESB Service Service Service Service Service > ServiceService Service Service Service Micro services
  • 32. Fine-grained, highly decoupled and atomic purpose centric services Designed for failure Multi-versioned Scalable Micro services Stateless Share-nothing Immutable Continuously delivered Distributed
  • 33. Service consumer Service provider Registry 2. Find 1. Publish 3. Bind Leverage on a Service registry to discover where are services located Micro services
  • 34. Resilience & scalability: apps problem now! Vertical > horizontal Dumber infrastructure Apps designed for failure & scalability Data to be externalized  Structured: MongoDB, Hadoop, Cassandra, Elastic Search...  Binaries: object storage with Ceph, OpenStack Swift...  Helpful patterns: stateless, share nothing, loose coupling...  Infrastructure rationalization  Low-cost, poor-SLA commodity
  • 35. « Organizations which design systems... are constrained to produce designs which are copies of the communication structures of these organizations ». - M. Conway, 1968 Consider shifting your organization if you wish to shift your architecture Forget about the central architects myth of organizing, integrating everything Consider changing your organization to expect changing the architecture!  promote feature teams Organization
  • 36. Docker suits perfectly new applications challenges Create docker networks to isolate applications Docker container properties fits micro-services challenges Resilience & scalability is mostly about multiplying containers Expect to discuss roles shift in organization
  • 39. Application design Provider micro serviceConsumers The python app module exposes a REST service searching information in the MongoDB The NGINX reverse proxy forward app. requests on one of the python instance registered in Consul Find
  • 40. Application topology & runtime The whole application topology is stored as: docker-compose yaml file docker-compose args (aka --x-networking & --x-network-driver) You can scale up or down the python instances of the micro- service using traditionnal docker-compose scale command
  • 41. Network view Only the load balancer VIP is exposed externally A WAF instance could secure this entrypoint SDN « myapp » Host network Provider micro serviceConsumers
  • 42. Network view - advanced Provider micro service Consumers SDN « front » SDN « back » Host network Back Middle Front ‘’To enhance security you may decouple each application tier’’
  • 43. Zoom on the registry usages At infrastructure level, the registry is used by swarm (internally) to be aware of the cluster’s participants At container level, the registrator enable to registers any container instances, grouped per type At application level, the consumers asks the registry where the micro-service (the NGINX front-end) is located Noticed the three different usages of the registry ? You may consider using different registries for each usage : for example an internal registry for the micro service internal topology
  • 45. Docker shifted from universal containers to object-oriented infrastructure Security is an app concern Software is eating the world: application architecture is the key, infrastructure is commodity

Editor's Notes

  • #3: LGR
  • #4: ABL
  • #5: ABL Docker c’est avant tout le paradigme du conteneur Plein de caractéristiques intéressantes (approfondir l’une ou l’autre) Mais c’est surtout là pour embarquer un morceau de code à exécuter Hors, une application, ca va au delà : c’est différents morceaux de code différents, c’est de la data, le tout doit interagir... On se propose de creuser ensemble cette vision « applicative », on va voir comment docker intègre cette vue
  • #6: ABL
  • #7: LGR
  • #8: LGR Let’s go back briefly in the past. On April, after buying Socketplane one month before, Docker made a promise : that any containers can speak freely and easily on a network without any limitation. By this promise is born libnetwork and the container network model, wich was release with Docker 1.9 earlier this month. With this new library, Docker can do SDN seemlessly. Now the network is more tight to the application, since developpers can create and update networks as they want. The network is part of an application architecture. Libnetwork is based on the container network model, which we will talk in the next slide
  • #9: LGR This CNM defines 3 terms : Network sandbox : an isolated environment where the Networking configuration for a Docker Container lives. Endpoint : A network interface that can be used for communication over a specific network. Endpoints join exactly one network and multiple endpoints can exist within a single Network Sandbox. Network : A network is a uniquely identifiable group of endpoints that are able to communicate with each other. You could create a “Frontend” and “Backend” network and they would be completely isolated. The CNM provides the following contract between networks and containers. - All containers on the same network can communicate freely with each other - Multiple networks are the way to segment traffic between containers and should be supported by all drivers - Multiple endpoints per container are the way to join a container to multiple networks - An endpoint is added to a network sandbox to provide it with network connectivity
  • #10: LGR With the new networking feature, you can now create a simple network with Docker natively, even across all the hosts in the cluster with Swarm $ docker network create mynetwork You can also choose different drivers. Docker comes with 2 drivers: Bridge : Default driver. It provides the same sort of networking via veth bridge devices Overlay : Native multi-host network for docker cluster $ docker network create –d overlay multihostnetwork Other drivers can be used with plugins like Weave, Microsoft, Cisco and even VMWare ==================================== You can connect or disconnect a running container ! $ docker network connect mynetwork mysql $ docker network disconnect mynetwork mysql Containers can be attach to as many as network you want The overlay driver uses VxLAN to route traffic Overlay network driver provides out of the box, multi-host network connectivity for docker containers in a cluster You can then use this network to run containers $ docker run -itd --net=multi-host-network busybox There is also a toolbox to manage networking like ls, rm, info. SDN provides now more efficient isolation for a cluster of containers and better security as discussed later.
  • #11: LGR You can also inspect a network, like you would do with the docker inspect command. With this, you can see which driver this network use. You can also which containers are attached to this network. IPAM driver is the same as the bridge network, and does not currently support DHCP. Some people are working on this support and you will be able to add support of DHCP soon 
  • #12: LGR With the new networking feature, you can now create a simple network with Docker natively, even across all the hosts in the cluster with Swarm $ docker network create -d overlay multi-host-network Overlay network driver provides out of the box, multi-host network connectivity for docker containers in a cluster You can then use this network to run containers $ docker run -itd --net=multi-host-network busybox There is also a toolbox to manage networking like ls, rm, info. SDN provides now more efficient isolation for a cluster of containers and better security as discussed later. With the definition of micro-network between containers, we can slowly drift from monolithic applications to micro-services. Docker networks take care of isolation between containers outside a network. Applications, or services, are now a whole, and can evolve independently But how can we make containers communicate with each others if they can’t speak outside a network ?
  • #13: LGR If we want containers communicate outside a network, we have to add this containers into the same network. As we have seen before, a container can have multiple endpoint, so it can belong to multiples networks, but with differents IP addresses Links can now be considered obsolete. Docker network is the new way to link containers. Network use the native docker autodiscover services to find containers based on their name. Name have to be unique in the network, even across a Swarm cluster. This feature is extremely helpful if you restart a container for example. It will be assigned a different IP, but the name will be the same. It will be registered into the KV store, and others containers can find its IP address baed on its name. -------------------------------------------------- Multi instanciation de conteneurs pour un même service ? Round robin ? comment le client fait ? est ce que ca retire le besoin de créer des load balancer pour équilibrer ? c’est une alternative ? Ca complete ? Cote positif : pas de spof sur le LB (design full mesh et non étoile), et ca fait un composant en moins. Mais pas de heartbeat / healtcheck ? quid si l’un des conteneurs est down ?... ? Quid de la partie nommage ? y a du dns intégré ? completement indépendant ? Que renseigne la commande service /qu’est ce qu’on consomme ? Comment on l’utilise au final ? A RETIRER ON DEVELOPPE CA PLUS TARD
  • #14: Now let’s talk about docker-compose. We have seen that we can create a network and attach or detach running containers. We have seen that we can also create a multihost network changing only the driver. We then have seen that we can create networks even on a swarm cluster, and the default driver on a cluster is a multi host driver. Don’t you think it will be cool to do the same with a simple file ? It’s here that comes Docker-compose and the new experimental features ON LE MET A LA FIN : on PARLE DES MAJ DE NETWK ET VOLUME, COMPOSE est un sous-jacent qui évolue. Ou pas de slide dédié, on intègre directement dans les slides networks
  • #15: ABL
  • #16: ABL I will speak now briefly about volume. Like network, volume appears in 1.9 release of Docker. Prior to 1.9, volumes used to be simple container, usually the same container as the service we want to run. Some use a busybox container to have the smallest fingerprint on the system. This container don’t usually run, but is used only to manage data. Others map the volume directly on the host. But what is we want to run containers on Swarm, or we want to change host ? What about resiliency ?
  • #17: ABL It’s now a simple Docker object, and can be extend with plugins, like the networking. Currently, plugins are provide by ClusterHQ, Ceph, Blockbridge, EMC, and Portworx
  • #18: ABL We can list existing volume, and inspect them easily with built in commands
  • #19: ABL We can also create volumes with different plugins. For example, we can create a volume on a Ceph cluster. Then, we can start a container, mapping the volume exposed on the Ceph volume created. The data will live even if the container is destroy and recreated. QUID VOLUMES avec COMPOSE ? QUID VOLUMES et LES CLUSTERS ? Développer le fait que le volume portte de moins en moins la payload et proxifie vers des supports plus appropriés : ceph & co
  • #21: ABL
  • #23: ABL
  • #24: ABL
  • #25: ABL
  • #26: On a parlé du quoi, mais pourqiuoi docker à fait tout ca ? Prenons un peu de recul
  • #27: ABL Let’s first discuss security shifts Traditionnaly, perimetric security was the key : everything inside your territory was protected, and the world beyond your borders was unfair The point was to control efficiently the few checkpoints
  • #28: ABL But... Your IS is spreading more & more. You have parts in your IT, but also in the cloud... You have some apps on paas, and even consume SaaS services. It becomes complex to control the gateways Forget about your great firewall of china
  • #29: ABL
  • #30: LGR Before going deep dive into the new network model, let’s talk briefly about « lecacy network » Currently, apps live in a traditionnal network, with switch or vlan that isolate network between them. In some big companies, the network is still flat, without any limitation between hosts. The network is separated from the application. Network administrators still define networks and isolation between them. Applications are not « aware » of underlying network and it does not change software architecture. With the appearance of cloud and networking as a service, developpers can automate the creation of network. Now, apps can be more easily isolated, but they still communicate only through fixed networks. There is still some limitations : network is infrastructure centric, it cannot be easily handled and easily adapted. We only create fixed network. Network administrators rarely create network for an application. Then a new concept emerged, the SDN (Software Define Networking). SDN allows network administrators to manage network services through abstration of higher-level functionnality. It’s designed to be dynamic, manageable, cost effective and adaptable.
  • #31: LGR
  • #32: LGR Before, there was ESB. And before that, there was EAI. All this ecosystem was driven by solutions architects who have global vision of the IS. Now, the applications are more and more agile. Development are faster, and releases are more frequent. We’re now talking about feature tems who wants to be as fast as possible. Applications are also API centric. Developers want ------------------------------------- le mythe de l’esb, parler d’eai, glisser vers le full mesh qui sert de fait de justification aux services ESB euipes transverses, vs équipes en peer-to-peer mythe de l’architecte avec vision d’ensemble apps plus api centric une app est une api qui envloppe des apis qui descendent jusqu’à l’infra. Relation de besoins apps intéressées : pas besoin d’un tiers Agilité, itérabilité des produits indépendants les un des autres: découpler les temporalité des applications : loose coupling, versionned api, multiversioning
  • #33: LGR Parler du continuous delivery
  • #34: ABL
  • #35: ABL Les archis de stockage de data dont on parle ici s’appliquent elles même la capacité de scaler horizontalement. Ex avec Ceph à l’extrême même plus besoin de faire du RAID pour la perf ou la résilience, c’est l’appli elle même qui le porte Apps constraints are no longer visible in the datacenters
  • #36: ABL Et docker est sexy pour ca : il permet de modeler les roles/resp efficacement : devs dans le conteneru ops dehors
  • #37: ABL
  • #39: LGR I already prepare my host to show you the demo. There is a Swam cluster, created with Docker-machine, and a Consul container which provides the KV store needed by both the Swarm cluster and the networking feature
  • #40: Question : insider consul ? Outsider : consider the scope Atention consul côté client pour trouver le service !
  • #41: LGR
  • #42: ABL Question : insider consul ? Outsider : consider the scope Atention consul côté client pour trouver le service !
  • #43: ABL Question : insider consul ? Outsider : consider the scope Atention consul côté client pour trouver le service !
  • #44: ABL
  • #46: ABL/LGR Devs rulez the world / commo infra, app autosuffisante / infra totalement masquée ???? Software is eating the world : cloud pub/infra pu un débat de l’appli. On arrive presque à modeler l’archi de l’appli avec des boites
  • #48: ABL