SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar a 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
 

Similar a 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
 

Más de 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
 

Último

+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@
 

Último (20)

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
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
+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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

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