XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

40
Mesos Apache Mesos, ou comment exploiter les ressources de votre datacenter ? #XebiConFr Jérôme Doucet Jean-Pascal Thiery

Transcript of XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

Page 1: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

Mesos

Apache Mesos, ou comment exploiter les ressources de

votre datacenter ?

#XebiConFrJérôme DoucetJean-Pascal Thiery

Page 2: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Bonjour Mesos

Page 3: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Histoire : l’avant Mesos

• Les grands du Web utilisent le cloud comme solution élastique

• Dés qu’un besoin de ressource se présente

=> Création de VM

• Twitter constate que seul 10% de leurs ressources facturées sont réellement utilisées

Page 4: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Histoire : La genèse

Florian Leibert

Benjamin Hindman Tobi Knaup

2010 : incubator 2013 : top-level

2009

Page 5: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos, dans les grandes lignes

• Clustering générique

• Interface de partage de ressources

• Support d’applications distribuées

Page 6: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Cas d’usage

• Toutes applications distribuées

• Augmenter la densité applicative

Mesos Appli distribuée

Page 7: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

REX MesosAvant Mesos :

• QA : 843 composants sur 400 serveurs

• Prod : 843 composants sur 700 serveurs

Après Mesos :

• QA : 1503 composants sur 39 serveurs

1,2 composants / serveurs

12,5 composants / serveurs

X 10

Sources : REX HubSpot sur Singularity

Page 8: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Probléme

La vie ce n’est pas ça :

Page 9: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Hum Hum…

La vie c’est ça :

Page 10: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Sous le capotMesos

Page 11: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Partage de ressources

Master

Slave

Slave

Slave

Slave

cpu: 2 mem: 2048 cpu: 4

mem: 16384cpu: 2 mem: 4096

cpu: 32 mem: 131072

Page 12: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Framework

Scheduler

Lance des tâches

( )Executor

Exécute les tâchesMaintient le journal de ressources Relaie les tâches aux slaves

Mesos Master

Page 13: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Place de marché

Executor

Master

Slave

Slave

Scheduler

Enregistrement Évènements / Offres

Page 14: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Executor

Master

Slave

Slave

Scheduler

Tâches Évènements / Offres

Place de marché

Page 15: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos lave plus blanc

• Ressources arbitraires par slave

• Intégrées dans les offres

• Tags pour donner du contexte

Page 16: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Go production ?

Toile de tente ou

parachute ?

Page 17: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

DevOps tu seras

Page 18: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Points d’attention

• Mesos master

• Scheduler

Page 19: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Single point of truth

Page 20: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Architecture pour de vrai

Master

Slave Slave Slave Slave Slave

MasterMasterStand By

Stand ByZookeeper

Page 21: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Architecture pour de vrai

Master

Slave Slave Slave Slave Slave

MasterMasterStand By

Stand By

Scheduler SchedulerStand By

Zookeeper

Page 22: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Une dernière chose

Mais où sont déployé(e)s :• mes applications ?

• mes logs ?

• mes données ?

Service discovery

Centralisation des logs

Système de fichier distribué

Page 23: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos et son écosystème

Page 24: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos, seul.

Page 25: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

L’écosystème Mesos

Page 26: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Framework : SDK

Page 27: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Framework : Les acteursScheduler

• Est notifié par le master de la mise à disposition de ressources.

• Demande l’exécution de tâches au master.

Executor• Réalise les taches soumises par le master.

Page 28: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Cron

Page 29: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Chronos

Page 30: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Init, SystemD

Page 31: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Marathon

Page 32: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Marathon

Page 33: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Marathon

Déploiement élastique Haute disponibilité

Système d’évènementsAPI REST

Service Discovery

Page 34: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Un cas d’usage

Page 35: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos : orchestrateur de Micro-services

Page 36: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos : orchestrateur de Micro-services

Mesos • État des ressources disponibles sur le cluster

Docker• Isolation des services

Marathon• Monitoring technique et applicatif des services• Cartographie des services• Déploiement automatique des services

Auteur aujourd’hui, 11:56 peut être mettre les logos plutôt que d’écrire Messos, docker et marathon

Page 37: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Mesos, Jenkins et Docker

Mesos • État des ressources disponibles sur le cluster

Docker• Isolation des Jobs

Jenkins• Execution des Jobs

Page 38: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

En conclusion ?

• Un must have pour :• Optimiser les ressources

d’un cluster• Les applications

distribuées

• Mais :• Ne fait pas tout

Page 39: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

#XebiConFr

Des questions ?

Page 40: XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre datacenter ?

Mesos

Apache Mesos, ou comment exploiter les ressources de

votre datacenter ?

#XebiConFrJérôme DoucetJean-Pascal Thiery