SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Kernel for Distributed 
Applications 
Sam BESSALAH 
@samklr 
ROOM 9 #devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker @samklr
Example of a statically partionned cluster 
#Devoxx #DV14 #mesos #docker 
@samklr
Akka/Play Jenkins Spark/Hadoop Storm Redis 
#Devoxx #DV14 #mesos #docker @samklr
Issues with static partitionning 
- Increased Complexity : 
Machines/vm sprawl 
Software failures gets harder to handle as 
machines number grow 
- Huge overheard, on development, 
- Planning for failure and maintenance gets harder 
- Not really developer friendly. Long cycles to 
deployments. 
#Devoxx #DV14 #mesos #docker 
@samklr
Resources utilisation under static partitionning 
Play/Akka Redis Hadoop 
#Devoxx #DV14 #mesos #docker 
@samklr
Resources utilisation under static partitionning 
Play/Akka Redis 
#Devoxx #DV14 #mesos #docker 
@samklr 
Hadoop 
Put together, we would get
Enters Google stage left ... 
Google “Borg” .Unofficial name. 
Moved to a new system called Omega 
Bundles all the cluster’s machines into a single pooled 
view of resources. 
Evolved to Omega. 
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker @samklr
Mesos : Level of indirection 
1. Run multiple types of distributed systems on the same cluster of 
machines, and dynamically share resources more eficiently. 
2. Provide failure detection, task distribution, task tracking, task 
monitoring, low level resources management, and fine grained 
resources sharing. And scale to the thousands of nodes. 
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr 
Quick View.
Mesos Architecture 
#Devoxx #DV14 #mesos #docker @samklr
http://mesos.apache.org/documentation/latest/mesos-architecture/ 
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker 
@samklr 
Mesos Framework 
A framework is an application that runs distributed applications on 
Mesos. 
It has two components : 
The Scheduler : Interacts with Mesos, to book resources and 
launch tasks within the mesos slaves. 
Executors : gets information from the framework like 
environmental variables,configuration information 
and run tasks inside the mesos slaves.
Mesos Framework 
A framework is an application that runs distributed applications on 
Mesos. 
It has two components : 
The Scheduler : Interacts with Mesos, to book resources and 
launch tasks within the mesos slaves. 
Executors : run tasks in mesos slaves. 
Mesos provides an API to build its own frameworks. And there are SDKs 
in mulitple languages. 
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker @samklr
Resources allocation process 
- Mesos allocate resources via 
“resources offers” 
- Resources are a snapshot of 
available resources that a 
scheduler will use to run 
tasks on mesos slaves. 
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker @samklr
1- resourceOffers() 
#Devoxx #DV14 #mesos #docker @samklr
1- resourceOffers() 2. launchTasks() 
#Devoxx #DV14 #mesos #docker @samklr
1- resourceOffers() 2. launchTasks() 
3. lauchTask() 
#Devoxx #DV14 #mesos #docker @samklr
1- resourceOffers() 2. launchTasks() 
3. lauchTask() 4. statusUpdate() 
#Devoxx #DV14 #mesos #docker @samklr
1- resourceOffers() 
2. launchTasks() 
5. statusUpdate() 
3. lauchTask() 4. statusUpdate() 
#Devoxx #DV14 #mesos #docker @samklr
#Devoxx #DV14 #mesos #docker 
@samklr 
Mesos slaves
#Devoxx #DV14 #mesos #docker 
@samklr 
Mesos slaves 
Linux Containers
Mesos uses Linux Containers for resource isolation. 
Mesos containers are built around cgroups , to provide isolation of 
CPU, memory, disk … and namespaces for network isolation. 
Started leveraging containerirsation since 2010 
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr 
Linux Containers
Linux Containers 
#Devoxx #DV14 #mesos #docker 
@samklr 
LXC
Linux Containers 
#Devoxx #DV14 #mesos #docker 
@samklr 
LXC 
Cgroups
#Devoxx #DV14 #mesos #docker 
@samklr
Mesos provides a native support for Docker 
#Devoxx #DV14 #mesos #docker 
@samklr 
Containers since 0.20
#Devoxx #DV14 #mesos #docker 
@samklr
Fault recovery & HA 
- Mesos Master uses Zookeeper for leader election and leader 
discovery. 
- Mesos Master have a Registrar to log all the tasks and 
slaves info, implemented as a replicated log using 
MultiPaxos for consensus 
#Devoxx #DV14 #mesos #docker 
@samklr
Fault recovery & HA 
- Mesos Master uses Zookeeper for leader election and leader 
discovery. 
- Mesos Master have a Registrar to log all the tasks and 
slaves info, implemented as a replicated log using 
MultiPaxos for consensus 
- Mesos has a slave recovery mechanism. So user’s tasks keep 
running whenever a slave proces goes under. 
#Devoxx #DV14 #mesos #docker 
@samklr
Fault recovery & HA 
- Mesos Master uses Zookeeper for leader election and leader 
discovery. 
- Mesos Master have a Registrar to log all the tasks and 
slaves info, implemented as a replicated log using 
MultiPaxos for consensus 
- Mesos has a slave recovery mechanism. So user’s tasks keep 
running whenever a slave proces goes under. 
Slaves checkpoint information to their local disks (task 
info, status updates, etc ), they recover checkpointed data 
and reconnect with old tasks when they restart. 
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker @samklr
Mesos Framework 
A framework is an application that runs distributed applications on 
Mesos. 
It has two components : 
The Scheduler : Interacts with Mesos, to book resources and 
launch tasks within the mesos slaves. 
Executors : run tasks in mesos slaves. 
Mesos provides an API to build its own frameworks. And there are SDKs 
in mulitple languages. 
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr 
Marathon
What is Marathon ? 
- A generic mesos framework to run long running services (web apps, 
etc …) 
- A distributed Init.d for the cluster. 
- Runs any linux binary without modification (Tomcat, Play, …) 
- Cluster wide process supervisor 
-Private PaaS 
- Service discovery 
- Provide a self service Rest API for deployment 
- Authentification & SSL 
- Placement constrainst (nodes, racks, etc. (Like with Spark) ) 
- Service discovery and load balancing via HAProxy 
#Devoxx #DV14 #mesos #docker 
@samklr
Marathon workflow 
#Devoxx #DV14 #mesos #docker 
@samklr
Marathon workflow 
#Devoxx #DV14 #mesos #docker 
@samklr
POST /v2/apps { 
Marathon Rest APi 
“id” : “IPython Notebook” 
“container “ : { 
“image “ : 
“docker://ipython/notebook” 
“options” : [ . . . ] 
} 
} 
#Devoxx #DV14 #mesos #docker 
@samklr
Marathon Rest APi 
Wants to scale by addind more instances .. 
PATCH /v2/apps { 
“instances” : 4 
} 
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr 
Conclusion
#Devoxx #DV14 #mesos #docker 
@samklr 
Conclusion
#Devoxx #DV14 #mesos #docker 
@samklr 
Conclusion 
Aurora
#Devoxx #DV14 #mesos #docker 
@samklr 
Conclusion 
Kubernetes
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr
#Devoxx #DV14 #mesos #docker 
@samklr
speakerdeck.com/samklr 
#Devoxx #DV14 #mesos #docker 
@samklr

Weitere ähnliche Inhalte

Was ist angesagt?

MongoDB & Hadoop: Flexible Hourly Batch Processing Model
MongoDB & Hadoop: Flexible Hourly Batch Processing ModelMongoDB & Hadoop: Flexible Hourly Batch Processing Model
MongoDB & Hadoop: Flexible Hourly Batch Processing Model
Takahiro Inoue
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra Explained
Eric Evans
 

Was ist angesagt? (20)

Apache Spark - Dataframes & Spark SQL - Part 2 | Big Data Hadoop Spark Tutori...
Apache Spark - Dataframes & Spark SQL - Part 2 | Big Data Hadoop Spark Tutori...Apache Spark - Dataframes & Spark SQL - Part 2 | Big Data Hadoop Spark Tutori...
Apache Spark - Dataframes & Spark SQL - Part 2 | Big Data Hadoop Spark Tutori...
 
A deeper-understanding-of-spark-internals
A deeper-understanding-of-spark-internalsA deeper-understanding-of-spark-internals
A deeper-understanding-of-spark-internals
 
MongoDB & Hadoop: Flexible Hourly Batch Processing Model
MongoDB & Hadoop: Flexible Hourly Batch Processing ModelMongoDB & Hadoop: Flexible Hourly Batch Processing Model
MongoDB & Hadoop: Flexible Hourly Batch Processing Model
 
Hadoop
HadoopHadoop
Hadoop
 
Apache Spark Introduction | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark Introduction | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark Introduction | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark Introduction | Big Data Hadoop Spark Tutorial | CloudxLab
 
Apache Spark - Running on a Cluster | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Running on a Cluster | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Running on a Cluster | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Running on a Cluster | Big Data Hadoop Spark Tutorial | CloudxLab
 
Introduction to MapReduce - Hadoop Streaming | Big Data Hadoop Spark Tutorial...
Introduction to MapReduce - Hadoop Streaming | Big Data Hadoop Spark Tutorial...Introduction to MapReduce - Hadoop Streaming | Big Data Hadoop Spark Tutorial...
Introduction to MapReduce - Hadoop Streaming | Big Data Hadoop Spark Tutorial...
 
Upgrading To The New Map Reduce API
Upgrading To The New Map Reduce APIUpgrading To The New Map Reduce API
Upgrading To The New Map Reduce API
 
Sparkstreaming
SparkstreamingSparkstreaming
Sparkstreaming
 
Data analysis scala_spark
Data analysis scala_sparkData analysis scala_spark
Data analysis scala_spark
 
Cascalog internal dsl_preso
Cascalog internal dsl_presoCascalog internal dsl_preso
Cascalog internal dsl_preso
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Apache Spark with Scala
Apache Spark with ScalaApache Spark with Scala
Apache Spark with Scala
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra Explained
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
 
Introduction to Sqoop | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Sqoop | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Sqoop | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Sqoop | Big Data Hadoop Spark Tutorial | CloudxLab
 
Hadoop Integration in Cassandra
Hadoop Integration in CassandraHadoop Integration in Cassandra
Hadoop Integration in Cassandra
 
Introduction to Spark with Scala
Introduction to Spark with ScalaIntroduction to Spark with Scala
Introduction to Spark with Scala
 
Spark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting GuideSpark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting Guide
 
Cassandra+Hadoop
Cassandra+HadoopCassandra+Hadoop
Cassandra+Hadoop
 

Ähnlich wie mesos-devoxx14

Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Carlos Sanchez
 

Ähnlich wie mesos-devoxx14 (20)

Fully fault tolerant real time data pipeline with docker and mesos
Fully fault tolerant real time data pipeline with docker and mesos Fully fault tolerant real time data pipeline with docker and mesos
Fully fault tolerant real time data pipeline with docker and mesos
 
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
 
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
 
Docker
DockerDocker
Docker
 
From Monolith to Docker Distributed Applications
From Monolith to Docker Distributed ApplicationsFrom Monolith to Docker Distributed Applications
From Monolith to Docker Distributed Applications
 
Mesos on coreOS
Mesos on coreOSMesos on coreOS
Mesos on coreOS
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Docker 1.9 Workshop
Docker 1.9 WorkshopDocker 1.9 Workshop
Docker 1.9 Workshop
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank Maounis
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
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
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Axigen on docker
Axigen on dockerAxigen on docker
Axigen on docker
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Docker
DockerDocker
Docker
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 

Mehr von Samir Bessalah (7)

Machine Learning In Production
Machine Learning In ProductionMachine Learning In Production
Machine Learning In Production
 
Eventual Consitency with CRDTS
Eventual Consitency with CRDTSEventual Consitency with CRDTS
Eventual Consitency with CRDTS
 
Deep learning for mere mortals - Devoxx Belgium 2015
Deep learning for mere mortals - Devoxx Belgium 2015Deep learning for mere mortals - Devoxx Belgium 2015
Deep learning for mere mortals - Devoxx Belgium 2015
 
High Performance RPC with Finagle
High Performance RPC with FinagleHigh Performance RPC with Finagle
High Performance RPC with Finagle
 
Algebird : Abstract Algebra for big data analytics. Devoxx 2014
Algebird : Abstract Algebra for big data analytics. Devoxx 2014Algebird : Abstract Algebra for big data analytics. Devoxx 2014
Algebird : Abstract Algebra for big data analytics. Devoxx 2014
 
Big Data Analytics with Scala at SCALA.IO 2013
Big Data Analytics with Scala at SCALA.IO 2013Big Data Analytics with Scala at SCALA.IO 2013
Big Data Analytics with Scala at SCALA.IO 2013
 
Structures de données exotiques
Structures de données exotiquesStructures de données exotiques
Structures de données exotiques
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

mesos-devoxx14

  • 1. Kernel for Distributed Applications Sam BESSALAH @samklr ROOM 9 #devoxx #DV14 #mesos #docker @samklr
  • 2. #Devoxx #DV14 #mesos #docker @samklr
  • 3. Example of a statically partionned cluster #Devoxx #DV14 #mesos #docker @samklr
  • 4. Akka/Play Jenkins Spark/Hadoop Storm Redis #Devoxx #DV14 #mesos #docker @samklr
  • 5. Issues with static partitionning - Increased Complexity : Machines/vm sprawl Software failures gets harder to handle as machines number grow - Huge overheard, on development, - Planning for failure and maintenance gets harder - Not really developer friendly. Long cycles to deployments. #Devoxx #DV14 #mesos #docker @samklr
  • 6. Resources utilisation under static partitionning Play/Akka Redis Hadoop #Devoxx #DV14 #mesos #docker @samklr
  • 7. Resources utilisation under static partitionning Play/Akka Redis #Devoxx #DV14 #mesos #docker @samklr Hadoop Put together, we would get
  • 8. Enters Google stage left ... Google “Borg” .Unofficial name. Moved to a new system called Omega Bundles all the cluster’s machines into a single pooled view of resources. Evolved to Omega. #Devoxx #DV14 #mesos #docker @samklr
  • 9. #Devoxx #DV14 #mesos #docker @samklr
  • 10. Mesos : Level of indirection 1. Run multiple types of distributed systems on the same cluster of machines, and dynamically share resources more eficiently. 2. Provide failure detection, task distribution, task tracking, task monitoring, low level resources management, and fine grained resources sharing. And scale to the thousands of nodes. #Devoxx #DV14 #mesos #docker @samklr
  • 11. #Devoxx #DV14 #mesos #docker @samklr
  • 12. #Devoxx #DV14 #mesos #docker @samklr Quick View.
  • 13. Mesos Architecture #Devoxx #DV14 #mesos #docker @samklr
  • 15. #Devoxx #DV14 #mesos #docker @samklr Mesos Framework A framework is an application that runs distributed applications on Mesos. It has two components : The Scheduler : Interacts with Mesos, to book resources and launch tasks within the mesos slaves. Executors : gets information from the framework like environmental variables,configuration information and run tasks inside the mesos slaves.
  • 16. Mesos Framework A framework is an application that runs distributed applications on Mesos. It has two components : The Scheduler : Interacts with Mesos, to book resources and launch tasks within the mesos slaves. Executors : run tasks in mesos slaves. Mesos provides an API to build its own frameworks. And there are SDKs in mulitple languages. #Devoxx #DV14 #mesos #docker @samklr
  • 17. #Devoxx #DV14 #mesos #docker @samklr
  • 18. Resources allocation process - Mesos allocate resources via “resources offers” - Resources are a snapshot of available resources that a scheduler will use to run tasks on mesos slaves. #Devoxx #DV14 #mesos #docker @samklr
  • 19. #Devoxx #DV14 #mesos #docker @samklr
  • 20. #Devoxx #DV14 #mesos #docker @samklr
  • 21. #Devoxx #DV14 #mesos #docker @samklr
  • 22. 1- resourceOffers() #Devoxx #DV14 #mesos #docker @samklr
  • 23. 1- resourceOffers() 2. launchTasks() #Devoxx #DV14 #mesos #docker @samklr
  • 24. 1- resourceOffers() 2. launchTasks() 3. lauchTask() #Devoxx #DV14 #mesos #docker @samklr
  • 25. 1- resourceOffers() 2. launchTasks() 3. lauchTask() 4. statusUpdate() #Devoxx #DV14 #mesos #docker @samklr
  • 26. 1- resourceOffers() 2. launchTasks() 5. statusUpdate() 3. lauchTask() 4. statusUpdate() #Devoxx #DV14 #mesos #docker @samklr
  • 27. #Devoxx #DV14 #mesos #docker @samklr Mesos slaves
  • 28. #Devoxx #DV14 #mesos #docker @samklr Mesos slaves Linux Containers
  • 29. Mesos uses Linux Containers for resource isolation. Mesos containers are built around cgroups , to provide isolation of CPU, memory, disk … and namespaces for network isolation. Started leveraging containerirsation since 2010 #Devoxx #DV14 #mesos #docker @samklr
  • 30. #Devoxx #DV14 #mesos #docker @samklr
  • 31. #Devoxx #DV14 #mesos #docker @samklr Linux Containers
  • 32. Linux Containers #Devoxx #DV14 #mesos #docker @samklr LXC
  • 33. Linux Containers #Devoxx #DV14 #mesos #docker @samklr LXC Cgroups
  • 34. #Devoxx #DV14 #mesos #docker @samklr
  • 35. Mesos provides a native support for Docker #Devoxx #DV14 #mesos #docker @samklr Containers since 0.20
  • 36. #Devoxx #DV14 #mesos #docker @samklr
  • 37. Fault recovery & HA - Mesos Master uses Zookeeper for leader election and leader discovery. - Mesos Master have a Registrar to log all the tasks and slaves info, implemented as a replicated log using MultiPaxos for consensus #Devoxx #DV14 #mesos #docker @samklr
  • 38. Fault recovery & HA - Mesos Master uses Zookeeper for leader election and leader discovery. - Mesos Master have a Registrar to log all the tasks and slaves info, implemented as a replicated log using MultiPaxos for consensus - Mesos has a slave recovery mechanism. So user’s tasks keep running whenever a slave proces goes under. #Devoxx #DV14 #mesos #docker @samklr
  • 39. Fault recovery & HA - Mesos Master uses Zookeeper for leader election and leader discovery. - Mesos Master have a Registrar to log all the tasks and slaves info, implemented as a replicated log using MultiPaxos for consensus - Mesos has a slave recovery mechanism. So user’s tasks keep running whenever a slave proces goes under. Slaves checkpoint information to their local disks (task info, status updates, etc ), they recover checkpointed data and reconnect with old tasks when they restart. #Devoxx #DV14 #mesos #docker @samklr
  • 40. #Devoxx #DV14 #mesos #docker @samklr
  • 41. Mesos Framework A framework is an application that runs distributed applications on Mesos. It has two components : The Scheduler : Interacts with Mesos, to book resources and launch tasks within the mesos slaves. Executors : run tasks in mesos slaves. Mesos provides an API to build its own frameworks. And there are SDKs in mulitple languages. #Devoxx #DV14 #mesos #docker @samklr
  • 42. #Devoxx #DV14 #mesos #docker @samklr Marathon
  • 43. What is Marathon ? - A generic mesos framework to run long running services (web apps, etc …) - A distributed Init.d for the cluster. - Runs any linux binary without modification (Tomcat, Play, …) - Cluster wide process supervisor -Private PaaS - Service discovery - Provide a self service Rest API for deployment - Authentification & SSL - Placement constrainst (nodes, racks, etc. (Like with Spark) ) - Service discovery and load balancing via HAProxy #Devoxx #DV14 #mesos #docker @samklr
  • 44. Marathon workflow #Devoxx #DV14 #mesos #docker @samklr
  • 45. Marathon workflow #Devoxx #DV14 #mesos #docker @samklr
  • 46. POST /v2/apps { Marathon Rest APi “id” : “IPython Notebook” “container “ : { “image “ : “docker://ipython/notebook” “options” : [ . . . ] } } #Devoxx #DV14 #mesos #docker @samklr
  • 47. Marathon Rest APi Wants to scale by addind more instances .. PATCH /v2/apps { “instances” : 4 } #Devoxx #DV14 #mesos #docker @samklr
  • 48. #Devoxx #DV14 #mesos #docker @samklr Conclusion
  • 49. #Devoxx #DV14 #mesos #docker @samklr Conclusion
  • 50. #Devoxx #DV14 #mesos #docker @samklr Conclusion Aurora
  • 51. #Devoxx #DV14 #mesos #docker @samklr Conclusion Kubernetes
  • 52. #Devoxx #DV14 #mesos #docker @samklr
  • 53. #Devoxx #DV14 #mesos #docker @samklr
  • 54. #Devoxx #DV14 #mesos #docker @samklr
  • 55. speakerdeck.com/samklr #Devoxx #DV14 #mesos #docker @samklr