Accueil > FR > Informations générales > Stages > Mise en résilience d’outils d’orchestration Cloud à l’aide de technologies (...)

Mise en résilience d’outils d’orchestration Cloud à l’aide de technologies blockchain

Proposition de stage ou de mémoire

Profil Étudiant(e) en Master/Bachelier en informatique
Prérequis Expérience pratique de Linux.
Très bonne compréhension de l’anglais technique écrit
Sont un plus :
Intérêt pour les aspects de sécurité IT
Intérêt pour les aspects d’orchestration de VM/containers et de services (service discovery, service directory, etcd, mesos)
Familiarité avec les concepts de conteneurs (Docker, BSD jails, ... )
Intérêt pour les technologies Open Source
Durée 3 à 6 mois.

Contexte

Dans les architectures distribuées, des instances des services qui la composent apparaissent et disparaissent constamment que ce soit à cause de défaillance, de nouveaux services doivent alors démarrer pour assurer la résilience de l’architecture, ou pour assurer la scalabilité de l’application, les services démarrent ou s’arrêtent on fonction des variations de la charge. De telles architectures doivent disposer de fonctionnalités de gestion des multiples instances de services de manière à assurer le bon fonctionnement (mise à jour d’un annuaire des services disponibles) la cohérence (élection de services principaux en cas de redondance) et la communication (fourniture d’un mécanisme de découverte des instances de services existantes).
Avec la popularité croissante des architectures distribuées et leur emploi sur des Clouds publics, la sécurité devient une préoccupation de plus en plus importante. Les fonctionnalités de gestion et d’orchestration des services sont impliquées en premier lieu. De plus les outils qui assurent la gestion des services, comme Etcd[1] doivent eux-mêmes être scalables et donc utiliser des algorithmes distribués.

Dans le même temps, la technologie émergent des blockchains promet le partage d’information de manière sécurisée et décentralisée : "The blockchain (...) is a shared, trusted, public ledger that everyone can inspect, but which no single user controls. The participants in a blockchain system collectively keep the ledger up to date : it can be amended only according to strict rules and by general agreement. (...) Mathematical scrambling is used to boil down an original piece of information into a code, known as a hash. Any attempt to tamper with any part of the blockchain is apparent immediately—because the new hash will not match the old ones." [2]

Le stage propose d’étudier comment améliorer la résilience d’outils d’orchestration de service comme Etcd par l’emploi de technologies de blockchain sur ces outils.

Travail à réaliser

  1. Établissement d’états de l’art sur :
    1. les technologies blockchain
    2. les technologies de containers
    3. l’orchestration des containers et notamment à l’aide d’Etcd
  2. Conception d’une architecture d’orchestration résiliente
  3. Implémentation d’une preuve de concept, par exemple en mettant en oeuvre un cluster de containers qui utilise une version "blockchainisée" d’etcd pour disposer d’une orchestration résiliente et sécurisée.
  4. Analyse des résultats et identifications des pistes d’amélioration

Mots-clefs

Blockchain, Containers, etcd, Docker, raft consensus, orchestration

Encadrement

L’entièreté du travail sera encadré. Le stagiaire utilisera une plateforme de développement permettant le suivi constant de ses progrès. Il devra également faire preuve d’autonomie et d’esprit critique lorsque des choix techniques et technologiques devront être opérés.

Contact : Sébastien Dupont (sebastien.dupont@cetic.be)

Références