SlideShare a Scribd company logo
Getting Deep on Orchestration
Jeff
Nickoloff
Engineer, Author, and
Consultant
What is
orchestration?
Abstractions
Examples
Agenda
Components
and patterns
APIs
System of Record
Agents
Demo: Entropy
About failure
Architecture
Break stuff
High quality abstractions are force multipliers for communication and
reasoning about more complex (or potentially variable) ideas and
systems.
Using a computer or programming is an act of communication.
<tba> (Software that provides such an abstraction gives a user
amazing power.) Software like Docker.
About Abstractions
Orchestration
What is it anyway?
“Orchestrate (v):
to organize or plan
(something that is complicated).”
— Merriam-Webster
“Orchestrating (tv):
to arrange or combine so as to
achieve a desired or maximum effect.”
— Merriam-Webster
(for orchestral music uses see Podium)
A system that provides organization and planning
abstractions for other abstractions.
In the OSS world we have:
• Swarm
• Kubernetes
• Mesosphere
Orchestration Platform (Software)
(for orchestral music uses see Podium)
A system that provides organization and planning
abstractions for other abstractions.
Orchestration Platform (Software)
In the OSS world we have:
• Docker + Swarm + Compose + etcd / consul / zk
• Docker + Flannel + Systemd + etcd + kubelet + kube (api, scheduler,
controller-manager, proxy, DNS)
• Mesos + Marathon + Calico + zk
Force multiplying ideas: a few lower level examples
• Engine (runs containers)
• Cluster (nodes as an engine)
• Network (routing, overlay, etc)
• and network name resolution
• Volume (named sharable storage)
Abstractions
Force multiplying ideas: higher level examples
• Service (long running event handler)
• Job (process with a linear lifecycle)
• Feed (Job with an input document)
• Report (Job with an output document)
• Request (process a single request)
• Cron Job (run a periodic job)
Abstractions
Architecture
Platform components
and patterns
… probably many!
Users and other software compositions need some
means to interact with the orchestration platform.
• One or a collection of APIs
• Command Line Program
• Web or Native GUI
An Interface
Managed state of the platform
Accounting for entities (container, pod, service,
volume, etc) and their state.
Commonly provide:
• KV semantics
• Record observation (watches)
• Update / Delete semantics with fencing tokens
• Distributed locks
• HA with strong consistency (Paxos / Raft)
System of Record
API’s provide interfaces between the platform and users
or other tools.
Control loops are the platform’s automata.
• Passively react to state changes
• Manage system state based on active monitoring
• Might require leadership election for HA
Agents / Control Loops
Event driven agents that coordinate changes in the system
• Container (re)scheduler
• Cluster node registrar
• Service node registrar
• Low entropy network registrar
• Local supervisor / init
• Service controller
• Job controller
• Report workflow controller
• Feed workflow controller
• Distributed cron controller
Agents / Control Loops
Event driven agents that coordinate changes in the system
• State Observation
• Feedback for control loops
• Entity Lifecycle Graph
• Registration and Discovery
• Route to an IP
• Engine in a cluster
• Replica of a service
• Endpoint of a service
Patterns
Getting dirty
<insert illustration of a Swarm cluster>
<insert illustration of a Kubernetes cluster>
<insert illustration of a Mesosphere cluster>
Deep Dive: Cluster
Even more examples
<tba>
Deep Dive: Service
An Example
Demo a new abstraction:
Entropy
A powerful and complex idea
Build confidence in complex distributed systems by injecting
realistic failures and comparing operations against a steady state.
• http://principlesofchaos.org
• Failure mode and effects analysis
• Netflix / SimianArmy
Failure Injection
… and container based platforms
All container platforms (clustered or not):
• enable high-entropy systems
• add new components and failure modes
• provide new mechanisms for handling failure
__ extension point, failure injection interface (the kernel), cross
cutting concern
Failure Injection
An orchestration abstraction for failure injection
Features:
• Probabilistic failure injection policies
• Failure modes
• Latency, partition, GC pause, etc
• Applied to existing containers filtered by label
• An event stream
• Notifications
• Integrates with the Docker API
Project: Entropy
An orchestration abstraction for failure injection
Components:
• Microservice API
• CLI
• Policy manager (control loop)
• Failure injection agents (pluggable)
On GitHub: __ insert URL
Project: Entropy
Demo Slide
$ # Container platform is running. Start a service.
$ docker-compose up -d -p election -f election.yml
$ # Start the entropy platform
$ docker-compose up -d -p entropy -f entropy.yml
$ # Define a policy
$ entropy -H $DOCKER_HOST run 
-f 1s -p .1 
-t servicename=voter 
recv_drop
Thank you!
Checkout:
github.com/buildertools/entropy

More Related Content

What's hot (20)

PPTX
Implementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Docker, Inc.
 
PDF
Efficient Parallel Testing with Docker by Laura Frank
Docker, Inc.
 
PDF
Docker for Mac and Windows: The Insider's Guide by Justin Cormack
Docker, Inc.
 
PDF
DCSF19 CMD and Conquer: Containerizing the Monolith
Docker, Inc.
 
PPTX
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
Docker, Inc.
 
PDF
Docker for Developers - Part 2 by Borja Burgos and Fernando Mayo
Docker, Inc.
 
PPTX
Docker Networking : 0 to 60mph slides
Docker, Inc.
 
PDF
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
PDF
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Docker, Inc.
 
PDF
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
PPTX
Docker Meetup 08 03-2016
Docker
 
PDF
OSCON: System software goes weird
Docker, Inc.
 
PPTX
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.
 
PDF
DCSF19 How To Build Your Containerization Strategy
Docker, Inc.
 
PPTX
Programming the world with Docker
Patrick Chanezon
 
PDF
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
Docker, Inc.
 
PPTX
Docker SF Meetup January 2016
Patrick Chanezon
 
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Docker, Inc.
 
PDF
Docker in Production, Look No Hands! by Scott Coulton
Docker, Inc.
 
PDF
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Docker, Inc.
 
Implementing Secure Docker Environments At Scale by Ben Bernstein, Twistlock
Docker, Inc.
 
Efficient Parallel Testing with Docker by Laura Frank
Docker, Inc.
 
Docker for Mac and Windows: The Insider's Guide by Justin Cormack
Docker, Inc.
 
DCSF19 CMD and Conquer: Containerizing the Monolith
Docker, Inc.
 
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
Docker, Inc.
 
Docker for Developers - Part 2 by Borja Burgos and Fernando Mayo
Docker, Inc.
 
Docker Networking : 0 to 60mph slides
Docker, Inc.
 
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Docker, Inc.
 
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
Docker Meetup 08 03-2016
Docker
 
OSCON: System software goes weird
Docker, Inc.
 
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.
 
DCSF19 How To Build Your Containerization Strategy
Docker, Inc.
 
Programming the world with Docker
Patrick Chanezon
 
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
Docker, Inc.
 
Docker SF Meetup January 2016
Patrick Chanezon
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Docker, Inc.
 
Docker in Production, Look No Hands! by Scott Coulton
Docker, Inc.
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Docker, Inc.
 

Viewers also liked (20)

PDF
runC: The little engine that could (run Docker containers) by Docker Captain ...
Docker, Inc.
 
PDF
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
Docker, Inc.
 
PDF
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
Docker, Inc.
 
PDF
Docker for Ops: Extending Docker with APIs, Drivers and Plugins by Arnaud Por...
Docker, Inc.
 
PDF
Containerd: Building a Container Supervisor by Michael Crosby
Docker, Inc.
 
PPTX
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Docker, Inc.
 
PDF
Cloning Running Servers with Docker and CRIU by Ross Boucher
Docker, Inc.
 
PDF
Docker Security Deep Dive by Ying Li and David Lawrence
Docker, Inc.
 
PPTX
Windows Server and Docker - The Internals Behind Bringing Docker and Containe...
Docker, Inc.
 
PPTX
DockerCon 16 General Session Day 1
Docker, Inc.
 
PDF
Microservices + Events + Docker = A Perfect Trio (dockercon)
Chris Richardson
 
PDF
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
Docker, Inc.
 
PDF
What's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi
Docker, Inc.
 
PDF
Docker and the Linux Kernel
Docker, Inc.
 
PDF
Docker for Developers - Part 1 by David Gageot
Docker, Inc.
 
PDF
Heart of the SwarmKit: Store, Topology & Object Model
Docker, Inc.
 
PPTX
DockerCon 16 General Session Day 2
Docker, Inc.
 
PDF
'The History of Metrics According to me' by Stephen Day
Docker, Inc.
 
PPTX
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
Docker, Inc.
 
PPTX
Prometheus design and philosophy
Docker, Inc.
 
runC: The little engine that could (run Docker containers) by Docker Captain ...
Docker, Inc.
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
Docker, Inc.
 
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
Docker, Inc.
 
Docker for Ops: Extending Docker with APIs, Drivers and Plugins by Arnaud Por...
Docker, Inc.
 
Containerd: Building a Container Supervisor by Michael Crosby
Docker, Inc.
 
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Docker, Inc.
 
Cloning Running Servers with Docker and CRIU by Ross Boucher
Docker, Inc.
 
Docker Security Deep Dive by Ying Li and David Lawrence
Docker, Inc.
 
Windows Server and Docker - The Internals Behind Bringing Docker and Containe...
Docker, Inc.
 
DockerCon 16 General Session Day 1
Docker, Inc.
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Chris Richardson
 
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
Docker, Inc.
 
What's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi
Docker, Inc.
 
Docker and the Linux Kernel
Docker, Inc.
 
Docker for Developers - Part 1 by David Gageot
Docker, Inc.
 
Heart of the SwarmKit: Store, Topology & Object Model
Docker, Inc.
 
DockerCon 16 General Session Day 2
Docker, Inc.
 
'The History of Metrics According to me' by Stephen Day
Docker, Inc.
 
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
Docker, Inc.
 
Prometheus design and philosophy
Docker, Inc.
 
Ad

Similar to Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distributed System by Docker Captain Jeff Nickoloff (20)

PDF
Getting Deep on Orchestration - Nickoloff - DockerCon16
allingeek
 
PDF
SwarmKit in Theory and Practice
Laura Frank Tacho
 
ODP
The journey to container adoption in enterprise
Igor Moochnick
 
PDF
presentation @ docker meetup
Daniël van Gils
 
PPTX
Weave User Group Talk - DockerCon 2017 Recap
Patrick Chanezon
 
PDF
'How to build efficient backend based on microservice architecture' by Anton ...
OdessaJS Conf
 
PDF
Platform - Technical architecture
David Rundle
 
PDF
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JSFestUA
 
PPTX
Docker-N-Beyond
santosh007
 
PPTX
The Architecture of Continuous Innovation - OSCON 2015
Chip Childers
 
PDF
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Steve Wong
 
PDF
Orchestrating Linux Containers while tolerating failures
Docker, Inc.
 
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Lucas Jellema
 
PDF
The route towards cloud automation
jcrugzz
 
PPTX
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
PPTX
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Lucas Jellema
 
PDF
Stackup deck
Edwin Fuquen
 
PPTX
Docker for the enterprise
Bert Poller
 
PDF
Docker in Production at the Aurora Team
Haufe-Lexware GmbH & Co KG
 
Getting Deep on Orchestration - Nickoloff - DockerCon16
allingeek
 
SwarmKit in Theory and Practice
Laura Frank Tacho
 
The journey to container adoption in enterprise
Igor Moochnick
 
presentation @ docker meetup
Daniël van Gils
 
Weave User Group Talk - DockerCon 2017 Recap
Patrick Chanezon
 
'How to build efficient backend based on microservice architecture' by Anton ...
OdessaJS Conf
 
Platform - Technical architecture
David Rundle
 
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JSFestUA
 
Docker-N-Beyond
santosh007
 
The Architecture of Continuous Innovation - OSCON 2015
Chip Childers
 
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Steve Wong
 
Orchestrating Linux Containers while tolerating failures
Docker, Inc.
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Lucas Jellema
 
The route towards cloud automation
jcrugzz
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Lucas Jellema
 
Stackup deck
Edwin Fuquen
 
Docker for the enterprise
Bert Poller
 
Docker in Production at the Aurora Team
Haufe-Lexware GmbH & Co KG
 
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
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 

Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distributed System by Docker Captain Jeff Nickoloff

  • 1. Getting Deep on Orchestration Jeff Nickoloff Engineer, Author, and Consultant
  • 2. What is orchestration? Abstractions Examples Agenda Components and patterns APIs System of Record Agents Demo: Entropy About failure Architecture Break stuff
  • 3. High quality abstractions are force multipliers for communication and reasoning about more complex (or potentially variable) ideas and systems. Using a computer or programming is an act of communication. <tba> (Software that provides such an abstraction gives a user amazing power.) Software like Docker. About Abstractions
  • 5. “Orchestrate (v): to organize or plan (something that is complicated).” — Merriam-Webster
  • 6. “Orchestrating (tv): to arrange or combine so as to achieve a desired or maximum effect.” — Merriam-Webster
  • 7. (for orchestral music uses see Podium) A system that provides organization and planning abstractions for other abstractions. In the OSS world we have: • Swarm • Kubernetes • Mesosphere Orchestration Platform (Software)
  • 8. (for orchestral music uses see Podium) A system that provides organization and planning abstractions for other abstractions. Orchestration Platform (Software) In the OSS world we have: • Docker + Swarm + Compose + etcd / consul / zk • Docker + Flannel + Systemd + etcd + kubelet + kube (api, scheduler, controller-manager, proxy, DNS) • Mesos + Marathon + Calico + zk
  • 9. Force multiplying ideas: a few lower level examples • Engine (runs containers) • Cluster (nodes as an engine) • Network (routing, overlay, etc) • and network name resolution • Volume (named sharable storage) Abstractions
  • 10. Force multiplying ideas: higher level examples • Service (long running event handler) • Job (process with a linear lifecycle) • Feed (Job with an input document) • Report (Job with an output document) • Request (process a single request) • Cron Job (run a periodic job) Abstractions
  • 12. … probably many! Users and other software compositions need some means to interact with the orchestration platform. • One or a collection of APIs • Command Line Program • Web or Native GUI An Interface
  • 13. Managed state of the platform Accounting for entities (container, pod, service, volume, etc) and their state. Commonly provide: • KV semantics • Record observation (watches) • Update / Delete semantics with fencing tokens • Distributed locks • HA with strong consistency (Paxos / Raft) System of Record
  • 14. API’s provide interfaces between the platform and users or other tools. Control loops are the platform’s automata. • Passively react to state changes • Manage system state based on active monitoring • Might require leadership election for HA Agents / Control Loops
  • 15. Event driven agents that coordinate changes in the system • Container (re)scheduler • Cluster node registrar • Service node registrar • Low entropy network registrar • Local supervisor / init • Service controller • Job controller • Report workflow controller • Feed workflow controller • Distributed cron controller Agents / Control Loops
  • 16. Event driven agents that coordinate changes in the system • State Observation • Feedback for control loops • Entity Lifecycle Graph • Registration and Discovery • Route to an IP • Engine in a cluster • Replica of a service • Endpoint of a service Patterns
  • 17. Getting dirty <insert illustration of a Swarm cluster> <insert illustration of a Kubernetes cluster> <insert illustration of a Mesosphere cluster> Deep Dive: Cluster
  • 19. An Example Demo a new abstraction: Entropy
  • 20. A powerful and complex idea Build confidence in complex distributed systems by injecting realistic failures and comparing operations against a steady state. • http://principlesofchaos.org • Failure mode and effects analysis • Netflix / SimianArmy Failure Injection
  • 21. … and container based platforms All container platforms (clustered or not): • enable high-entropy systems • add new components and failure modes • provide new mechanisms for handling failure __ extension point, failure injection interface (the kernel), cross cutting concern Failure Injection
  • 22. An orchestration abstraction for failure injection Features: • Probabilistic failure injection policies • Failure modes • Latency, partition, GC pause, etc • Applied to existing containers filtered by label • An event stream • Notifications • Integrates with the Docker API Project: Entropy
  • 23. An orchestration abstraction for failure injection Components: • Microservice API • CLI • Policy manager (control loop) • Failure injection agents (pluggable) On GitHub: __ insert URL Project: Entropy
  • 24. Demo Slide $ # Container platform is running. Start a service. $ docker-compose up -d -p election -f election.yml $ # Start the entropy platform $ docker-compose up -d -p entropy -f entropy.yml $ # Define a policy $ entropy -H $DOCKER_HOST run -f 1s -p .1 -t servicename=voter recv_drop