VT2020-Peloton-Fiche

From air
Revision as of 00:58, 17 January 2021 by Rim.El-Jraidi (talk | contribs) (Avantages)
Jump to: navigation, search

Peloton est un planificateur de ressources unifié introduit pour la première fois par Uber en novembre 2018.


Peloton

Peloton est un planificateur de ressources unifié introduit pour la première fois par Uber en novembre 2018, qui permet de gérer les ressources sur des charges de travail distinctes. C'est une technologie qui a été conçue pour les entreprises comme Uber pratiquant du web-scale IT avec des millions de conteneurs et des dizaines de milliers de nœuds.


Architecture

Architecture

Pour garantir une haute disponibilité et une grande évolutivité, Peloton utilise une architecture active-active avec quatre types de démons distincts : le gestionnaire de tâches, le gestionnaire de ressources, le moteur de placement et le gestionnaire d'hôtes. Les interactions entre ces démons sont conçues de manière à minimiser les dépendances et à ne se produire que dans une seule direction.


Composants

Peloton UI : une interface web pour la gestion des tâches, des volumes et des ressources dans Peloton.

Peloton CLI : une interface de ligne de commande pour Peloton avec des fonctionnalités similaires à celles de l'interface web.

Peloton API : utilise Protocol Buffers comme langage de définition de l'interface et YARPC comme runtime RPC. Peloton UI, Peloton CLI et les autres extensions de Peloton sont toutes construites sur la même API.

Host Manager : extrait, des autres composants, les détails sur les ressources disponibles grâce à Mesos.

Resource Manager: : maintient la hiérarchie des ressources et calcule périodiquement le droit aux ressources de chaque ensemble de ressources, qui est ensuite utilisé pour planifier ou anticiper les tâches en conséquence.

Placement Engine : trouve le placement (c'est-à-dire le mappage de la tâche à l'hôte) en prenant en considération les contraintes de la tâche ainsi que les attributs du host. Les placement engine peuvent être connectés à différents types de programmes, tels que les travaux par lots.

Job Manager : gère le cycle de vie des tâches et des volumes. Prend également en charge les mises à jour continues des tâches pour les services de longue durée.

Storage Gateway : fournit une couche d'abstraction au-dessus des différents backends de stockage afin de pouvoir migrer d'un backend de stockage à l'autre sans changement significatif dans Peloton lui-même. Contient un backend (intégré) par défaut pour Cassandra, mais avec la possibilité d'étendre à d'autres backends.

Group Membership : gère l'ensemble des instances de Peloton et élit un leader pour à la fois s'inscrire à Mesos en tant que framework et instancier un gestionnaire de ressources.

Avantages

  • Regrouper des charges de travail mixtes dans des clusters partagés pour une meilleure utilisation des ressources.
  • Plus besoin d'acheter de la capacité DR supplémentaire pour les charges de travail en ligne et par lots séparément.
  • Colocaliser différentes charges de travail sur une seule et même plateforme de calcul partagée permet d'améliorer la planification des capacités et d'optimiser le partage des ressources.

Sources

Documentation : https://peloton.readthedocs.io/en/latest/

Github : https://github.com/uber/peloton

Veille Technologique 2020

  • Année : VT2020
  • Sujet : Peloton
  • Slides :
  • Auteur : Rim EL JRAIDI