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

Preview:

Citation preview

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.

Recommended