SlideShare a Scribd company logo
1 of 46
Download to read offline
Musings on Mesos: 
Docker, Kubernetes, and Beyond 
Timothy St. Clair 
@timothysc 
Mesos committer and PMC member 
11/19/2014 
INTERNAL ONLY
Audience Poll - Mesos 
● I have ... 
1. Only heard talks about Mesos, nothing more. 
2. Played with Mesos on a sample cluster, initial POC. 
3. Have a Mesos cluster in a production environment 
4. DUDE.!.! I wrote a custom Mesos framework in 
Haskell before breakfast Bro ... 
INTERNAL ONLY
Quick Overview – Mesos 101 Condensed 
At its core, Mesos is a focused, scalable, two-phased 
meta-scheduler that provides primitives 
to express a wide variety of scheduling patterns 
and use cases. Solutions are written atop of 
Mesos as frameworks. Frameworks are targeted 
for a particular use case, and maintain domain 
specific information. By remaining focused at its 
core, Mesos is not architecturally encumbered by 
domain specific problems that often exist in other 
monolithic schedulers. 
INTERNAL ONLY
The Response I Always Hope For 
INTERNAL ONLY
Typical Response 
INTERNAL ONLY
101 Unpacking: Meta-Scheduling? 
At its core, Mesos is a focused, scalable, meta-scheduler 
that provides primitives to express a 
wide variety of scheduling patterns and use 
cases. 
● It means that Mesos enables other distributed 
applications to define their own scheduling 
policies, with an core algorithm (DRF) to share 
resources across those applications. 
● Mesos can run on 1-O(10^4) nodes. 
So, it is a scheduler... that allows distributed 
applications to share resources in a cluster. 
INTERNAL ONLY
101 Unpacking: frameworks? 
Solutions are written atop of Mesos as 
frameworks, and are targeted for a particular use 
case. 
● Framework = distributed application = 
scheduler 
● Framework could be anything from batch, 
application, or micro-service scheduling. 
INTERNAL ONLY
101 Unpacking: Architecturally Encumbered? 
Mesos is not architecturally encumbered by 
domain specific problems that often exist within 
other monolithic schedulers. 
● Mesos does not subsume domain specific 
problems, that is a frameworks job. 
INTERNAL ONLY 
● Service scheduling 
● Fault tolerance 
● Load balancing 
● Discovery 
● Batch Scheduling 
● Quotas (user/group) 
● Limits
101 Motivation: New Reality 
● New applications need to be: 
● Fault tolerant (Withstand failure) 
● Scalable (Not crumble under it's own weight) 
● Elastic (Can grow and shrink based on demand) 
● Multi-tenent (It can't have it's own dedicated cluster) 
● Must play nice with the other kids. 
● So what does that really mean? 
INTERNAL ONLY
101 Motivation: Distributed Application 
● “There's Just No Getting Around It: You're Building a Distributed System” Mark 
INTERNAL ONLY 
Cavage 
● queue.acm.org/detail.cfm?id=2482856 
● Key takeaways on architecture: 
● Decompose the business applications into discrete services on the boundaries of 
fault domains, scaling, and data workload. 
● Make as many things as possible stateless 
● When dealing with state, deeply understand CAP, latency, throughput, and 
durability requirements. 
“Without practical experience working on successful—and failed—systems, most 
engineers take a "hopefully it works" approach and attempt to string together off-the-shelf 
software, whether open source or commercial, and often are unsuccessful at building a 
resilient, performant system. In reality, building a distributed system requires a methodical 
approach to requirements along the boundaries of failure domains, latency, throughput, 
durability, consistency, and desired SLAs for the business application at all aspects of the 
application.”
101 Summary : Distributed Systems Kernel 
Cluster Manager (google-ism) 
● Mesos is built using the same principles as the Linux 
kernel, only at a different level of abstraction. 
“We wanted people to be able to program for the data-center 
just like they program for their laptop” ~ Ben 
INTERNAL ONLY 
Hindman 
● Computer : Data-center 
● Kernel : Mesos 
● Application : Distributed application 
● Operating System : (Mesos+Frameworks+ 
Ecosystem)
So Having a Kernel for Distributed Systems 
Makes a Lot of Sense.?.? ¯_(ツ)_/¯ 
INTERNAL ONLY
Mesos @ 50K 
http://mesos.apache.org/documentation/latest/mesos-frameworks/ 
MPI Hadoop Spark Storm 
INTERNAL ONLY 
Workloads 
Kernel 
batch services 
Frameworks 
Marathon Kubernetes Aurora 
distributed file system DFS 
distributed resources: CPU, RAM, I/O, FS, rack locality, etc. Cluster
Audience Poll - Docker 
● I have ... 
1. Only heard talks/news about Docker. 
2. Played with Docker and use it on a single host. 
3. Have Docker running in a production cluster. 
4.DUDE.!.! I've ran 300 Million containers last month. 
INTERNAL ONLY
Docker Docker Docker 
●Combination of technologies 
● cgroups + namespaces + image format + lifecycle 
management + application virtualization 
●Git like semantics around image building 
INTERNAL ONLY 
● pull, commit, push ... 
● Application virtualization 
● Native Speeds 
● >> Density the virtual machines
The 'Holy Grail' of Clustering 
● Provide maximum application density per-machine 
(currently in the hundreds). 
INTERNAL ONLY 
● >> Then virtualization 
● Improved 'application namespace' isolation 
across your cluster 
● No longer need to ensure stacks | sub-stacks are 
rolled onto your cluster. 
● Enables multiple versions across a cluster easily 
●Combined with clustering, it can obviate 
traditional 'deployment problems'
Typical Response 
INTERNAL ONLY
Reality 
Docker 90% of the things, 
but that last 10% of things 
may require super-privileged 
INTERNAL ONLY 
containers, 
where the container has 
full access to the system 
and that gets kind of 
funky because then you 
could have dependency 
leakage... and potentially 
a host of other versioning 
issues. And uhhhhhhh..
Reality 
● The last 10% 
● Applications that want or 
need to load custom 
kernel drivers. 
● Low level system 
applications 
(namespaces) 
● Cluster managers, such 
as Mesos which 
leverage namespaces. 
INTERNAL ONLY
Reality 
● Networking is thorny, with 
many solutions O(10^2) 
● Pipework 
● Flannel 
● Weave 
● vSwitch 
● What happens when 
density is on the order 
1000's. 
● What happens if you 
wanted to have a density 
on the order of 10,000+. 
INTERNAL ONLY
10,000+ .?.? 
● What is the average 
utilization of your data 
center? 
● Twitter & Google run 
between 20-30% 
(Quasar paper) 
● “ 640K ought to be 
enough for anybody.” - 
B.Gates. 
INTERNAL ONLY
Whatever 
INTERNAL ONLY
(Apache Infra) “What if.... There Were Official 
Apache Repositories on Docker-Hub.” 
INTERNAL ONLY
Mesos and Docker 
Integration 
"If a Docker application is a Lego brick, Kubernetes would be 
like a kit for building the Millennium Falcon and the Mesos 
cluster would be like a whole Star Wars universe made of 
Legos." ~ Solomon 
INTERNAL ONLY 
● 1st classed in 0.20 
● A lot of feedback and updated 0.21 (soon-ish) 
● Service Scheduling 
● Marathon + HA-Proxy + Docker – 10^4 
● Kubernetes (WIP) 
● Batch 
● Spark (https://issues.apache.org/jira/browse/SPARK-2691) 
● Chronos
Mesos and Docker 
Use Cases 
● Elastic applications in a shared multi-tenant environment 
RAILS Memcached Spark 
100% 
75% 
50% 
25% 
Graphic Courtesy of Paco Nathan 
INTERNAL ONLY 
100% 
75% 
50% 
25% 
0% 
100% 
75% 
50% 
25% 
0% 
0% 
tt 
100% 
75% 
50% 
25% 
0%
Can I Write My Own Framework That Uses 
Docker? 
INTERNAL ONLY 
● YES! 
● Mesos has 1st class Docker support, by providing an API 
DockerInfo {} 
● BUT... 
● Writing a framework in development is relatively easy 
● Writing an application that is highly available, scales 
well, can be difficult. 
● HOPE 
● Creation of higher order libraries (libc) to help make it 
easier to create frameworks.
Can you run Mesos from a Docker Container? 
● Current State – sort of. 
● mesos-master 
● Using bridged networking 
you can easily run a HA 
configuration 
● mesos-slave 
● mesos requires low level 
system access which 
makes it difficult to put in 
a container and maintain 
full feature parity 
● TBD with super 
privileged containers 
INTERNAL ONLY
How are we doing? ¯_(ツ)_/¯ 
INTERNAL ONLY
Audience Poll - Kubernetes 
● I have ... 
1. Only heard talks/news about kubernetes. 
2. Played with kubernetes and use it on a single host. 
3. Have kubernetes running on GCE. 
INTERNAL ONLY
Kubernetes (WIP) 
● Kubernetes is a system for managing containerized 
applications across multiple hosts, providing basic 
mechanisms for deployment, maintenance, and scaling 
of applications. Its APIs are intended to serve as the 
foundation for an open ecosystem of tools, automation 
systems, and higher-level API layers. 
● Kubernetes establishes robust declarative primitives for 
maintaining the desired state requested by the user. 
These primitives are the main value added by 
Kubernetes. 
INTERNAL ONLY 
● pre-production beta.
Kubernetes 
● Pods are the atom of scheduling, and are a 
group of containers that are scheduled onto the 
same host. 
● Pods facilitate data sharing and communication. 
INTERNAL ONLY 
● Shared mount point 
● Shared network namespace/IP and port space 
● Higher order abstraction to the low level interface of 
containers 
● Composable micro-services
Kubernetes – pod.json 
INTERNAL ONLY 
{ "apiVersion": "v1beta1", 
"kind": "Pod", 
"id": "redis-master-pod", 
"desiredState": { 
"manifest": { 
"version": "v1beta1", 
"id": "redis-master-pod", 
"containers": [{ 
"name": "redis-master", 
"image": "gurpartap/redis", 
"ports": [{ "name": "redis-server", "containerPort": 6379 }] ... + labels
Kubernetes framework 
for Mesos (WIP) 
● Kubernetes enables the Pod (group of co-located containers) 
abstraction, along with Pod labels for service discovery, load-balancing, 
and replication control. Mesos provides the fine-grained 
resource allocations for pods across nodes in a cluster, 
and can make Kubernetes play nicely with other frameworks 
running on the same cluster resources. 
● Provide advanced scheduling capabilities (grouping, 
spreading ...) 
INTERNAL ONLY 
● Availability zone fail-over 
● Elasticity – Scale up and down kublets 
● MORE TO COME...
Kubernetes vs. Mesos? 
INTERNAL ONLY 
● Not at all! 
● Kubernetes is an opinionated declarative model on how to 
address micro-services 
● Mesos provides an imperative framework by which 
application developers can define scheduling policy in a 
programmatic fashion. 
● When leveraged together it provides a data-center with the 
ability to both.
Kubernetes - Mesos = Static 
Provisioning 
Spark Kubernetes 
INTERNAL ONLY
Hows your social media updates? 
#Mesos + #ApacheCon FTW ¯_(ツ)_/¯ 
INTERNAL ONLY
BEYOND 
INTERNAL ONLY
Mesos, Docker, and Kubernetes are Still Very 
Young. Expect change... 
INTERNAL ONLY
1st Classing PODS into Docker Core 
● https://github.com/docker/docker/pull/8859 
● Make a POD become the fundamental unit of abstraction 
● Make the Container (Letter), while the POD (Envelope), 
Clustering becomes the mail service. 
● Problem – Most user have no idea what a POD is 
● Answer - They don't really need to, it could likely be hidden 
or renamed. 
INTERNAL ONLY
Docker Clustering 
● https://github.com/docker/docker/pull/8859 
● Clustering will be done via a plugin whose API is TBD but 
due out later... 
● The Docker CLI is meant to be the primary interface to 
support Docker clustering, and the plugin will extend the CLI 
via options (TBD). e.g. --constraints=TBD 
● Kubernetes, Mesos, or possibly Marathon, could be added 
as a back end via the plugin API. 
● Any concepts, such as 1st classing PODs is a docker-core 
constraint. 
INTERNAL ONLY
Native Docker Multi-Host Networking 
● https://github.com/docker/docker/issues/8951 
● The power of Docker is its simplicity, yet it scales to the 
demands of hyper-scale deployments. The same cannot be 
said today for the native networking solution in Docker. This 
proposal aims to bridge that gap. The intent is to implement 
a production-ready reliable multi-host networking solutions 
that is native to Docker while remaining laser focused on the 
user friendly needs of the developers environment that is at 
the heart of the Docker transformation. 
INTERNAL ONLY 
● Programmable vSwitch
Hand Wavy - Future of a 
Kubernetes 
Framework atop Mesos 
●Drive towards parity with google cluster 
management tools #GCELive. 
● Elastic model around micro-services 
● If (ServiceX.cpuload>80) then; Mesos.addMoreCapacity() 
● Workload migration and maintenance. 
● Offload nodes for maintenance. 
INTERNAL ONLY 
● Resize and defrag.
What Does This Mean for Mesos 
● Integration changes on the horizon 
● Internal container handling. 
● Framework API – DockerInfo {}, will likely change 
● Docker CLI could be used to drive containers on a 
Mesos cluster. 
● Mesos mantra continues unabated: “Multiple models 
all supported by one common infrastructure” 
● Multiple service models (Marathon, Kubernetes, 
Aurora) 
● Multiple batch models (Spark, Chronos) 
INTERNAL ONLY
BUT WAIT! THERES MORE 
On the Horizon – Core Mesos Features 
● Primitives to support stateful services (HDFS, 
Cassandra, etc.) 
INTERNAL ONLY 
● Persistent disk data 
● Lazy resource reservation 
● Expanded Disk Isolation 
● I/O 
● FS/Mount namespace 
● Support multiple spindles 
● Dynamic slave attributes
Mesos and the Surrounding Ecosystem as an 
Operating System. 
● Just getting started, 
first #MesosCon 
(Aug) 
● Even though Mesos 
(kernel) has matured 
@ Twitter, it is still 
very early on. 
● We are still in the 
very early stages for 
both Docker and 
Kubernetes. 
INTERNAL ONLY
THANK YOU! 
@timothysc 
INTERNAL ONLY

More Related Content

What's hot

Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Mesos vs kubernetes comparison
Mesos vs kubernetes comparisonMesos vs kubernetes comparison
Mesos vs kubernetes comparisonKrishna-Kumar
 
Container Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgContainer Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgTimo Derstappen
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsRamit Surana
 
Docker, Mesos, Spark
Docker, Mesos, Spark Docker, Mesos, Spark
Docker, Mesos, Spark Qiang Wang
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackDocker, Inc.
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
 
Crossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> KubernetesCrossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> KubernetesTimothy St. Clair
 
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scaleMonitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scaleAlessandro Gallotta
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
 
Building and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and MarathonBuilding and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and MarathonJulia Mateo
 
Containers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesContainers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesDmitry Lazarenko
 
Kubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSKubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSStefan Schimanski
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupMist.io
 
KubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a reportKubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a reportKrishna-Kumar
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudSamuel Chow
 
Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with KubernetesCarlos Sanchez
 
K8scale update-kubecon2015
K8scale update-kubecon2015K8scale update-kubecon2015
K8scale update-kubecon2015Bob Wise
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Miguel Zuniga
 

What's hot (20)

Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Mesos vs kubernetes comparison
Mesos vs kubernetes comparisonMesos vs kubernetes comparison
Mesos vs kubernetes comparison
 
Container Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup HamburgContainer Orchestration @Docker Meetup Hamburg
Container Orchestration @Docker Meetup Hamburg
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its components
 
Docker, Mesos, Spark
Docker, Mesos, Spark Docker, Mesos, Spark
Docker, Mesos, Spark
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStack
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
Crossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> KubernetesCrossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> Kubernetes
 
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scaleMonitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Building and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and MarathonBuilding and deploying a distributed application with Docker, Mesos and Marathon
Building and deploying a distributed application with Docker, Mesos and Marathon
 
Containers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesContainers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. Kubernetes
 
Kubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSKubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOS
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetup
 
KubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a reportKubeCon CloudNativeCon 2016 Seattle - a report
KubeCon CloudNativeCon 2016 Seattle - a report
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
 
Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with Kubernetes
 
Container orchestration
Container orchestrationContainer orchestration
Container orchestration
 
K8scale update-kubecon2015
K8scale update-kubecon2015K8scale update-kubecon2015
K8scale update-kubecon2015
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos
 

Viewers also liked

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Container Orchestration Wars
Container Orchestration WarsContainer Orchestration Wars
Container Orchestration WarsKarl Isenberg
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Etsuji Nakai
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
 
Using machine learning to determine drivers of bounce and conversion
Using machine learning to determine drivers of bounce and conversionUsing machine learning to determine drivers of bounce and conversion
Using machine learning to determine drivers of bounce and conversionTammy Everts
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupStefan Schimanski
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
 
Scaling Jenkins with Docker and Kubernetes
Scaling Jenkins with Docker and KubernetesScaling Jenkins with Docker and Kubernetes
Scaling Jenkins with Docker and KubernetesCarlos Sanchez
 
Datacenter Computing with Apache Mesos - BigData DC
Datacenter Computing with Apache Mesos - BigData DCDatacenter Computing with Apache Mesos - BigData DC
Datacenter Computing with Apache Mesos - BigData DCPaco Nathan
 
Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Jérôme Petazzoni
 
Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)Karl Isenberg
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding KubernetesTu Pham
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesRamit Surana
 
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftfabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftroland.huss
 
Mesos and containers
Mesos and containersMesos and containers
Mesos and containersJiang Yan Xu
 
Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Opsta
 

Viewers also liked (20)

An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Container Orchestration Wars
Container Orchestration WarsContainer Orchestration Wars
Container Orchestration Wars
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
Using machine learning to determine drivers of bounce and conversion
Using machine learning to determine drivers of bounce and conversionUsing machine learning to determine drivers of bounce and conversion
Using machine learning to determine drivers of bounce and conversion
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Scaling Jenkins with Docker and Kubernetes
Scaling Jenkins with Docker and KubernetesScaling Jenkins with Docker and Kubernetes
Scaling Jenkins with Docker and Kubernetes
 
Datacenter Computing with Apache Mesos - BigData DC
Datacenter Computing with Apache Mesos - BigData DCDatacenter Computing with Apache Mesos - BigData DC
Datacenter Computing with Apache Mesos - BigData DC
 
Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?
 
Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)Container Orchestration Wars (Micro Edition)
Container Orchestration Wars (Micro Edition)
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding Kubernetes
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
 
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShiftfabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShift
 
Mesos and containers
Mesos and containersMesos and containers
Mesos and containers
 
Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016
 

Similar to Musings on Mesos, Docker, Kubernetes and distributed systems

Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and IntegrationAlex Baretto
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
OSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg Schad
OSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg SchadOSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg Schad
OSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg SchadNETWAYS
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overviewCisco DevNet
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
Introduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeIntroduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeTerry Wang
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 
Doing Dropbox the Native Cloud Native Way
Doing Dropbox the Native Cloud Native WayDoing Dropbox the Native Cloud Native Way
Doing Dropbox the Native Cloud Native WayMinio
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutionsEric Cattoir
 
Comparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsComparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsThierry Gayet
 
Containerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxRavi Yadav
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersKento Aoyama
 
Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...All Things Open
 
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Anant Corporation
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Difference between .net core and .net framework
Difference between .net core and .net frameworkDifference between .net core and .net framework
Difference between .net core and .net frameworkAnsi Bytecode
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
How to build an HA container orchestrator infrastructure for production – Giu...
How to build an HA container orchestrator infrastructure for production – Giu...How to build an HA container orchestrator infrastructure for production – Giu...
How to build an HA container orchestrator infrastructure for production – Giu...Codemotion
 

Similar to Musings on Mesos, Docker, Kubernetes and distributed systems (20)

Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and Integration
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
OSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg Schad
OSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg SchadOSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg Schad
OSDC 2016 - Mesos and the Architecture of the New Datacenter by Jörg Schad
 
Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Introduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeIntroduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud Native
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
Doing Dropbox the Native Cloud Native Way
Doing Dropbox the Native Cloud Native WayDoing Dropbox the Native Cloud Native Way
Doing Dropbox the Native Cloud Native Way
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutions
 
Comparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsComparisons of the most famous container Orchestrators
Comparisons of the most famous container Orchestrators
 
Containerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptxContainerizing couchbase with microservice architecture on mesosphere.pptx
Containerizing couchbase with microservice architecture on mesosphere.pptx
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...
 
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
Apache Cassandra Lunch #41: Cassandra on Kubernetes - Docker/Kubernetes/Helm ...
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Difference between .net core and .net framework
Difference between .net core and .net frameworkDifference between .net core and .net framework
Difference between .net core and .net framework
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
How to build an HA container orchestrator infrastructure for production – Giu...
How to build an HA container orchestrator infrastructure for production – Giu...How to build an HA container orchestrator infrastructure for production – Giu...
How to build an HA container orchestrator infrastructure for production – Giu...
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Musings on Mesos, Docker, Kubernetes and distributed systems

  • 1. Musings on Mesos: Docker, Kubernetes, and Beyond Timothy St. Clair @timothysc Mesos committer and PMC member 11/19/2014 INTERNAL ONLY
  • 2. Audience Poll - Mesos ● I have ... 1. Only heard talks about Mesos, nothing more. 2. Played with Mesos on a sample cluster, initial POC. 3. Have a Mesos cluster in a production environment 4. DUDE.!.! I wrote a custom Mesos framework in Haskell before breakfast Bro ... INTERNAL ONLY
  • 3. Quick Overview – Mesos 101 Condensed At its core, Mesos is a focused, scalable, two-phased meta-scheduler that provides primitives to express a wide variety of scheduling patterns and use cases. Solutions are written atop of Mesos as frameworks. Frameworks are targeted for a particular use case, and maintain domain specific information. By remaining focused at its core, Mesos is not architecturally encumbered by domain specific problems that often exist in other monolithic schedulers. INTERNAL ONLY
  • 4. The Response I Always Hope For INTERNAL ONLY
  • 6. 101 Unpacking: Meta-Scheduling? At its core, Mesos is a focused, scalable, meta-scheduler that provides primitives to express a wide variety of scheduling patterns and use cases. ● It means that Mesos enables other distributed applications to define their own scheduling policies, with an core algorithm (DRF) to share resources across those applications. ● Mesos can run on 1-O(10^4) nodes. So, it is a scheduler... that allows distributed applications to share resources in a cluster. INTERNAL ONLY
  • 7. 101 Unpacking: frameworks? Solutions are written atop of Mesos as frameworks, and are targeted for a particular use case. ● Framework = distributed application = scheduler ● Framework could be anything from batch, application, or micro-service scheduling. INTERNAL ONLY
  • 8. 101 Unpacking: Architecturally Encumbered? Mesos is not architecturally encumbered by domain specific problems that often exist within other monolithic schedulers. ● Mesos does not subsume domain specific problems, that is a frameworks job. INTERNAL ONLY ● Service scheduling ● Fault tolerance ● Load balancing ● Discovery ● Batch Scheduling ● Quotas (user/group) ● Limits
  • 9. 101 Motivation: New Reality ● New applications need to be: ● Fault tolerant (Withstand failure) ● Scalable (Not crumble under it's own weight) ● Elastic (Can grow and shrink based on demand) ● Multi-tenent (It can't have it's own dedicated cluster) ● Must play nice with the other kids. ● So what does that really mean? INTERNAL ONLY
  • 10. 101 Motivation: Distributed Application ● “There's Just No Getting Around It: You're Building a Distributed System” Mark INTERNAL ONLY Cavage ● queue.acm.org/detail.cfm?id=2482856 ● Key takeaways on architecture: ● Decompose the business applications into discrete services on the boundaries of fault domains, scaling, and data workload. ● Make as many things as possible stateless ● When dealing with state, deeply understand CAP, latency, throughput, and durability requirements. “Without practical experience working on successful—and failed—systems, most engineers take a "hopefully it works" approach and attempt to string together off-the-shelf software, whether open source or commercial, and often are unsuccessful at building a resilient, performant system. In reality, building a distributed system requires a methodical approach to requirements along the boundaries of failure domains, latency, throughput, durability, consistency, and desired SLAs for the business application at all aspects of the application.”
  • 11. 101 Summary : Distributed Systems Kernel Cluster Manager (google-ism) ● Mesos is built using the same principles as the Linux kernel, only at a different level of abstraction. “We wanted people to be able to program for the data-center just like they program for their laptop” ~ Ben INTERNAL ONLY Hindman ● Computer : Data-center ● Kernel : Mesos ● Application : Distributed application ● Operating System : (Mesos+Frameworks+ Ecosystem)
  • 12. So Having a Kernel for Distributed Systems Makes a Lot of Sense.?.? ¯_(ツ)_/¯ INTERNAL ONLY
  • 13. Mesos @ 50K http://mesos.apache.org/documentation/latest/mesos-frameworks/ MPI Hadoop Spark Storm INTERNAL ONLY Workloads Kernel batch services Frameworks Marathon Kubernetes Aurora distributed file system DFS distributed resources: CPU, RAM, I/O, FS, rack locality, etc. Cluster
  • 14. Audience Poll - Docker ● I have ... 1. Only heard talks/news about Docker. 2. Played with Docker and use it on a single host. 3. Have Docker running in a production cluster. 4.DUDE.!.! I've ran 300 Million containers last month. INTERNAL ONLY
  • 15. Docker Docker Docker ●Combination of technologies ● cgroups + namespaces + image format + lifecycle management + application virtualization ●Git like semantics around image building INTERNAL ONLY ● pull, commit, push ... ● Application virtualization ● Native Speeds ● >> Density the virtual machines
  • 16. The 'Holy Grail' of Clustering ● Provide maximum application density per-machine (currently in the hundreds). INTERNAL ONLY ● >> Then virtualization ● Improved 'application namespace' isolation across your cluster ● No longer need to ensure stacks | sub-stacks are rolled onto your cluster. ● Enables multiple versions across a cluster easily ●Combined with clustering, it can obviate traditional 'deployment problems'
  • 18. Reality Docker 90% of the things, but that last 10% of things may require super-privileged INTERNAL ONLY containers, where the container has full access to the system and that gets kind of funky because then you could have dependency leakage... and potentially a host of other versioning issues. And uhhhhhhh..
  • 19. Reality ● The last 10% ● Applications that want or need to load custom kernel drivers. ● Low level system applications (namespaces) ● Cluster managers, such as Mesos which leverage namespaces. INTERNAL ONLY
  • 20. Reality ● Networking is thorny, with many solutions O(10^2) ● Pipework ● Flannel ● Weave ● vSwitch ● What happens when density is on the order 1000's. ● What happens if you wanted to have a density on the order of 10,000+. INTERNAL ONLY
  • 21. 10,000+ .?.? ● What is the average utilization of your data center? ● Twitter & Google run between 20-30% (Quasar paper) ● “ 640K ought to be enough for anybody.” - B.Gates. INTERNAL ONLY
  • 23. (Apache Infra) “What if.... There Were Official Apache Repositories on Docker-Hub.” INTERNAL ONLY
  • 24. Mesos and Docker Integration "If a Docker application is a Lego brick, Kubernetes would be like a kit for building the Millennium Falcon and the Mesos cluster would be like a whole Star Wars universe made of Legos." ~ Solomon INTERNAL ONLY ● 1st classed in 0.20 ● A lot of feedback and updated 0.21 (soon-ish) ● Service Scheduling ● Marathon + HA-Proxy + Docker – 10^4 ● Kubernetes (WIP) ● Batch ● Spark (https://issues.apache.org/jira/browse/SPARK-2691) ● Chronos
  • 25. Mesos and Docker Use Cases ● Elastic applications in a shared multi-tenant environment RAILS Memcached Spark 100% 75% 50% 25% Graphic Courtesy of Paco Nathan INTERNAL ONLY 100% 75% 50% 25% 0% 100% 75% 50% 25% 0% 0% tt 100% 75% 50% 25% 0%
  • 26. Can I Write My Own Framework That Uses Docker? INTERNAL ONLY ● YES! ● Mesos has 1st class Docker support, by providing an API DockerInfo {} ● BUT... ● Writing a framework in development is relatively easy ● Writing an application that is highly available, scales well, can be difficult. ● HOPE ● Creation of higher order libraries (libc) to help make it easier to create frameworks.
  • 27. Can you run Mesos from a Docker Container? ● Current State – sort of. ● mesos-master ● Using bridged networking you can easily run a HA configuration ● mesos-slave ● mesos requires low level system access which makes it difficult to put in a container and maintain full feature parity ● TBD with super privileged containers INTERNAL ONLY
  • 28. How are we doing? ¯_(ツ)_/¯ INTERNAL ONLY
  • 29. Audience Poll - Kubernetes ● I have ... 1. Only heard talks/news about kubernetes. 2. Played with kubernetes and use it on a single host. 3. Have kubernetes running on GCE. INTERNAL ONLY
  • 30. Kubernetes (WIP) ● Kubernetes is a system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. Its APIs are intended to serve as the foundation for an open ecosystem of tools, automation systems, and higher-level API layers. ● Kubernetes establishes robust declarative primitives for maintaining the desired state requested by the user. These primitives are the main value added by Kubernetes. INTERNAL ONLY ● pre-production beta.
  • 31. Kubernetes ● Pods are the atom of scheduling, and are a group of containers that are scheduled onto the same host. ● Pods facilitate data sharing and communication. INTERNAL ONLY ● Shared mount point ● Shared network namespace/IP and port space ● Higher order abstraction to the low level interface of containers ● Composable micro-services
  • 32. Kubernetes – pod.json INTERNAL ONLY { "apiVersion": "v1beta1", "kind": "Pod", "id": "redis-master-pod", "desiredState": { "manifest": { "version": "v1beta1", "id": "redis-master-pod", "containers": [{ "name": "redis-master", "image": "gurpartap/redis", "ports": [{ "name": "redis-server", "containerPort": 6379 }] ... + labels
  • 33. Kubernetes framework for Mesos (WIP) ● Kubernetes enables the Pod (group of co-located containers) abstraction, along with Pod labels for service discovery, load-balancing, and replication control. Mesos provides the fine-grained resource allocations for pods across nodes in a cluster, and can make Kubernetes play nicely with other frameworks running on the same cluster resources. ● Provide advanced scheduling capabilities (grouping, spreading ...) INTERNAL ONLY ● Availability zone fail-over ● Elasticity – Scale up and down kublets ● MORE TO COME...
  • 34. Kubernetes vs. Mesos? INTERNAL ONLY ● Not at all! ● Kubernetes is an opinionated declarative model on how to address micro-services ● Mesos provides an imperative framework by which application developers can define scheduling policy in a programmatic fashion. ● When leveraged together it provides a data-center with the ability to both.
  • 35. Kubernetes - Mesos = Static Provisioning Spark Kubernetes INTERNAL ONLY
  • 36. Hows your social media updates? #Mesos + #ApacheCon FTW ¯_(ツ)_/¯ INTERNAL ONLY
  • 38. Mesos, Docker, and Kubernetes are Still Very Young. Expect change... INTERNAL ONLY
  • 39. 1st Classing PODS into Docker Core ● https://github.com/docker/docker/pull/8859 ● Make a POD become the fundamental unit of abstraction ● Make the Container (Letter), while the POD (Envelope), Clustering becomes the mail service. ● Problem – Most user have no idea what a POD is ● Answer - They don't really need to, it could likely be hidden or renamed. INTERNAL ONLY
  • 40. Docker Clustering ● https://github.com/docker/docker/pull/8859 ● Clustering will be done via a plugin whose API is TBD but due out later... ● The Docker CLI is meant to be the primary interface to support Docker clustering, and the plugin will extend the CLI via options (TBD). e.g. --constraints=TBD ● Kubernetes, Mesos, or possibly Marathon, could be added as a back end via the plugin API. ● Any concepts, such as 1st classing PODs is a docker-core constraint. INTERNAL ONLY
  • 41. Native Docker Multi-Host Networking ● https://github.com/docker/docker/issues/8951 ● The power of Docker is its simplicity, yet it scales to the demands of hyper-scale deployments. The same cannot be said today for the native networking solution in Docker. This proposal aims to bridge that gap. The intent is to implement a production-ready reliable multi-host networking solutions that is native to Docker while remaining laser focused on the user friendly needs of the developers environment that is at the heart of the Docker transformation. INTERNAL ONLY ● Programmable vSwitch
  • 42. Hand Wavy - Future of a Kubernetes Framework atop Mesos ●Drive towards parity with google cluster management tools #GCELive. ● Elastic model around micro-services ● If (ServiceX.cpuload>80) then; Mesos.addMoreCapacity() ● Workload migration and maintenance. ● Offload nodes for maintenance. INTERNAL ONLY ● Resize and defrag.
  • 43. What Does This Mean for Mesos ● Integration changes on the horizon ● Internal container handling. ● Framework API – DockerInfo {}, will likely change ● Docker CLI could be used to drive containers on a Mesos cluster. ● Mesos mantra continues unabated: “Multiple models all supported by one common infrastructure” ● Multiple service models (Marathon, Kubernetes, Aurora) ● Multiple batch models (Spark, Chronos) INTERNAL ONLY
  • 44. BUT WAIT! THERES MORE On the Horizon – Core Mesos Features ● Primitives to support stateful services (HDFS, Cassandra, etc.) INTERNAL ONLY ● Persistent disk data ● Lazy resource reservation ● Expanded Disk Isolation ● I/O ● FS/Mount namespace ● Support multiple spindles ● Dynamic slave attributes
  • 45. Mesos and the Surrounding Ecosystem as an Operating System. ● Just getting started, first #MesosCon (Aug) ● Even though Mesos (kernel) has matured @ Twitter, it is still very early on. ● We are still in the very early stages for both Docker and Kubernetes. INTERNAL ONLY
  • 46. THANK YOU! @timothysc INTERNAL ONLY