MESOS / MARATHON
Piloter les services de votre système
Mise à jour d’une application
(c) 2016 - Sylvain Hellegouarch // @lawouach
Un système complexe et des
services
(c) 2016 - Sylvain Hellegouarch // @lawouach
Pourquoi autant de services ?
Une application ne vit plus isolée, elle
s’intègre dans un écosystème riche et
varié.
Les services exposent des relations
fonctionnelles implémentées jusqu’ici
au sein du code.
Ces Fonctions existent toujours mais sont
désormais visibles et connues des
architectes et des ops.
(c) 2016 - Sylvain Hellegouarch // @lawouach
Ah mais c’est plus complexe non ?
(c) 2016 - Sylvain Hellegouarch // @lawouach
Le terrain est-il miné ? Non mais...
Automatiser
Isoler
Orchestrer
Superviser
Apprendre
(c) 2016 - Sylvain Hellegouarch // @lawouach
Orchestrer
Chef d’orchestre du cycle de vie de vos services
L’orchestration apporte un peu d’ordre et
de visibilité dans ce chaos
Quelques solutions :
➢Docker Swarm
➢Apache Mesos/Marathon
➢Google Kubernetes
➢CoreOS Fleet
(c) 2016 - Sylvain Hellegouarch // @lawouach
Scenarios Mesos/Marathon
Mises à jour et rollback automatisés
Scalabilité à travers l’élasticité des
services
Disponibilité et continuité des services
automatisées
Optimisation de l’utilisation des
ressources
(c) 2016 - Sylvain Hellegouarch // @lawouach
Mesos
Partage des ressources disponibles
Offre ces ressources à des frameworks
pour planifier des tâches
Isole et exécute des tâches au sein de
containers
(c) 2016 - Sylvain Hellegouarch // @lawouach
Mesos (misc)
Architecture maître/esclaves
Indépendant de l’infrastructure
Eprouvé: utilisé en production par airbnb,
Apple, netflix, Mesosphere…
Open Source (Apache 2.0 license):
https://dcos.io/
Offre commerciale disponible via Mesosphere
https://mesosphere.com/
(c) 2016 - Sylvain Hellegouarch // @lawouach
Marathon: un orchestrateur pour
Mesos
Planifie l’exécution des services en
fonction des ressources dont ils ont
besoin
Exécute les services et supervise leur
cycle de vie
(c) 2016 - Sylvain Hellegouarch // @lawouach
Une API REST HTTP
(c) 2016 - Sylvain Hellegouarch // @lawouach
Marathon: Spécification
(c) 2016 - Sylvain Hellegouarch // @lawouach
Marathon: Ressources
De quoi avons nous besoin ?
➢ Correspondance avec des roles
d’agents Marathon pour une
planification plus ciblée
(c) 2016 - Sylvain Hellegouarch // @lawouach
Quelles sont les contraintes ?
➢ Correspondance aux attributs des esclaves
Mesos
➢ UNIQUE, GROUP BY, CLUSTER, LIKE,
UNLIKE…
Marathon: Contraintes
(c) 2016 - Sylvain Hellegouarch // @lawouach
Quelle est la stratégie de mise à
jour ?
➢ Cible la continuité de service
Marathon: Les mises à jour de
services
(c) 2016 - Sylvain Hellegouarch // @lawouach
Supervision pour les scénarios de
« fault-tolerance »
➢ Cible la disponibilité de service
Marathon: Etat de santé
(c) 2016 - Sylvain Hellegouarch // @lawouach
Relations à d’autres services
Marathon: Dépendences
fonctionnelles
(c) 2016 - Sylvain Hellegouarch // @lawouach
Marathon: Définition du service
(c) 2016 - Sylvain Hellegouarch // @lawouach
Marathon: Et le reste…
Support natif de groupes de services
Expose les évènements pour
traitements externes
Documentation basique mais simple à
suivre
(c) 2016 - Sylvain Hellegouarch // @lawouach
Marathon: Un canevas mais...
A vous d’apporter certains services essentiels :
● Monitoring : sysdig, datadog...
● Logs centralisés : ELK, Loggly, Papertrail
● Routage de services et load-balancers:
haproxy, vulcand, nginx, flux
● Découverte de services : consul, etcd,
weaveDNS
● Réseaux overlays : weave
● Gestion des configurations et secrets :
vault
● Gestion du stockage : Flocker
● Patterns: circuit breaker...
(c) 2016 - Sylvain Hellegouarch // @lawouach
Enterprise Ready?
Mesos/Marathon est désormais packagé dans
une solution plus cohérente: DC/OS
https://dcos.io/
● Open-source
● Plusieurs applications déjà intégrée (kafka,
cassandra…)
● Télémétrie
● DNS
● Logging
Offre commerciale correspondante:
https://mesosphere.com/
(c) 2016 - Sylvain Hellegouarch // @lawouach
Et maintenant ?
Explorez mais soyez patient !
Familiarisez-vous pour gagner en
confiance.
(c) 2016 - Sylvain Hellegouarch // @lawouach

Mesos & Marathon - Piloter les services de votre système

  • 1.
    MESOS / MARATHON Piloterles services de votre système
  • 2.
    Mise à jourd’une application (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 3.
    Un système complexeet des services (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 4.
    Pourquoi autant deservices ? Une application ne vit plus isolée, elle s’intègre dans un écosystème riche et varié. Les services exposent des relations fonctionnelles implémentées jusqu’ici au sein du code. Ces Fonctions existent toujours mais sont désormais visibles et connues des architectes et des ops. (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 5.
    Ah mais c’estplus complexe non ? (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 6.
    Le terrain est-ilminé ? Non mais... Automatiser Isoler Orchestrer Superviser Apprendre (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 7.
    Orchestrer Chef d’orchestre ducycle de vie de vos services L’orchestration apporte un peu d’ordre et de visibilité dans ce chaos Quelques solutions : ➢Docker Swarm ➢Apache Mesos/Marathon ➢Google Kubernetes ➢CoreOS Fleet (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 8.
    Scenarios Mesos/Marathon Mises àjour et rollback automatisés Scalabilité à travers l’élasticité des services Disponibilité et continuité des services automatisées Optimisation de l’utilisation des ressources (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 9.
    Mesos Partage des ressourcesdisponibles Offre ces ressources à des frameworks pour planifier des tâches Isole et exécute des tâches au sein de containers (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 10.
    Mesos (misc) Architecture maître/esclaves Indépendantde l’infrastructure Eprouvé: utilisé en production par airbnb, Apple, netflix, Mesosphere… Open Source (Apache 2.0 license): https://dcos.io/ Offre commerciale disponible via Mesosphere https://mesosphere.com/ (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 11.
    Marathon: un orchestrateurpour Mesos Planifie l’exécution des services en fonction des ressources dont ils ont besoin Exécute les services et supervise leur cycle de vie (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 12.
    Une API RESTHTTP (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 13.
    Marathon: Spécification (c) 2016- Sylvain Hellegouarch // @lawouach
  • 14.
    Marathon: Ressources De quoiavons nous besoin ? ➢ Correspondance avec des roles d’agents Marathon pour une planification plus ciblée (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 15.
    Quelles sont lescontraintes ? ➢ Correspondance aux attributs des esclaves Mesos ➢ UNIQUE, GROUP BY, CLUSTER, LIKE, UNLIKE… Marathon: Contraintes (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 16.
    Quelle est lastratégie de mise à jour ? ➢ Cible la continuité de service Marathon: Les mises à jour de services (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 17.
    Supervision pour lesscénarios de « fault-tolerance » ➢ Cible la disponibilité de service Marathon: Etat de santé (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 18.
    Relations à d’autresservices Marathon: Dépendences fonctionnelles (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 19.
    Marathon: Définition duservice (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 20.
    Marathon: Et lereste… Support natif de groupes de services Expose les évènements pour traitements externes Documentation basique mais simple à suivre (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 21.
    Marathon: Un canevasmais... A vous d’apporter certains services essentiels : ● Monitoring : sysdig, datadog... ● Logs centralisés : ELK, Loggly, Papertrail ● Routage de services et load-balancers: haproxy, vulcand, nginx, flux ● Découverte de services : consul, etcd, weaveDNS ● Réseaux overlays : weave ● Gestion des configurations et secrets : vault ● Gestion du stockage : Flocker ● Patterns: circuit breaker... (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 22.
    Enterprise Ready? Mesos/Marathon estdésormais packagé dans une solution plus cohérente: DC/OS https://dcos.io/ ● Open-source ● Plusieurs applications déjà intégrée (kafka, cassandra…) ● Télémétrie ● DNS ● Logging Offre commerciale correspondante: https://mesosphere.com/ (c) 2016 - Sylvain Hellegouarch // @lawouach
  • 23.
    Et maintenant ? Explorezmais soyez patient ! Familiarisez-vous pour gagner en confiance. (c) 2016 - Sylvain Hellegouarch // @lawouach