mesos & marathon - piloter les services de votre système
TRANSCRIPT
MESOS / MARATHONPiloter les services de votre système
(c) 2016 - Sylvain Hellegouarch // @lawouach
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...
AutomatiserIsoler
OrchestrerSuperviserApprendre
(c) 2016 - Sylvain Hellegouarch // @lawouach
Orchestrer
Chef d’orchestre du cycle de vie de vos services
L’orchestration apporte un peu d’ordre etde 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.