Difference between revisions of "VT2017 XXX"

From air
Jump to navigation Jump to search
(Created page with "=Netflix Zuul= La croissance et l’expansion continue de Netflix impose de garantir un certain niveau de satisfaction client. Avec cet objectif, Netflix a développé en 201...")
 
 
(56 intermediate revisions by 8 users not shown)
Line 1: Line 1:
  +
=Titre=
=Netflix Zuul=
 
  +
Hyperledger un projet qui a pour but de promouvoir la technologie BlockChain inter-industrie hébergé par The Linux Foundation, à ce jour il regroupe 5 projet à ce jour (Burrow, Sawtooth, Fabric, Indy et Iroha). Actuellement le projet le plus avancé est Fabric.
   
  +
=Abstract=
La croissance et l’expansion continue de Netflix impose de garantir un certain niveau de satisfaction client. Avec cet objectif, Netflix a développé en 2012 un Gateway nommé Zuul pour répondre à leurs besoins de gestion d’erreurs tout en étant au plus proche de leur API. Ils ajoutèrent Zuul à leur liste de software disponibles en open source.
 
  +
Hyperledger is a group of projects, created by The Linux Foundation. Its aim it's to promote BlockChain technologies for inter-industry domain. At this time Hyperledger merge 5 projects. The most advance is Fabric.
   
  +
=Hyperledger=
== Gateway ==
 
L’équipe techinque du service décida de mettre en place leur propre Gateway, Zuul. Un Gateway fait la liaison entre Internet et les services dans le cloud, il est nécessaire au fonctionnement de l’application Netflix. Il est principalement utilisé pour la gestion du trafic. Il permet de réaliser des checks, des authentifications, de faire un suivi d’éléments du trafic avec des outils de visionnement internes tout en garantissant flexibilité. Ce Gateway peut aussi être utilisé pour réaliser des expérimentations. Plusieurs Gateway existent et auraient pu être utilisés par Netflix comme Mashery, AWS, etc.. Ils développèrent le leur, plutôt que d’utiliser un existant, afin de satisfaire pleinement leurs besoins et d’avoir un système correspondant parfaitement à leur structure et objectifs.
 
   
== Zuul ==
+
==Hyperledger ?==
Zuul est un micro service créé en 2012. Utilisant le langage Groovy, synthaxiquement proche de Python et Ruby, il est rapide à mettre en place, tout en étant destiné à la plateforme Java. Zuul est un système de filtres. On trouve différents types de filtres, avec prioritisation, s’activant selon un certain critère et réalisant une action si ce critère est rencontré. Bien que les filtres ne communiquent pas entre eux, ils partagent leur état. La compilation dynamique permet une implémentation immédiate dans le système.
 
   
  +
Hyperledger est un projet open source collaboratif, utilisant la technologie blockchain. Il y a une communautée de développeurs construisant des frameworks et des plateformes, à destination des projets qui qui veulent utiliser Hyperledger. Leur but est qu'il y ai un maximum de personnes qui l'utilise, afin que ça devienne la nouvelles norme dans le domaine inter-industriel.
== Succès ==
 
Zuul s’avéra être un succès. Il répondait aux attentes en permettant l’implémentation d’une correction d’erreur en moins d’une minute. Il a donc été adopté à grande echelle. En revanche, le point négatif majeur est la perte d’élasticité du système. Ce défaut n’impacte pas le succès qui est d’autant plus grand car Netflix s’est fixé des objectifs clairs de stratégie sur l’utilisation de Zuul afin de l’utiliser au mieux de la façon la plus pertinente possible. La vitesse de réaction et la vue interne du système reste la base de leur micro service, mais ils décidèrent de se focaliser sur un routing créatif et dynamique ainsi que de perfectionner la mise en forme de leur trafic réseau.
 
   
  +
== Zuul 2.0==
 
  +
==Principe des blockchain==
En 2016, Netflix implémenta Zuul 2.0 dans le but d’améliorer les performances et de mieux structurer leur système. Ils décidèrent de passer d’un système bloquant utilisant des threads et donc gourmand en connexion (une thread par requête) à un système non bloquant asynchrone. D’un point de vue utilisation, les performances ne sont pas inférieures mais n’ont pas été améliorées. Netflix considère cela comme un succès car la restructuration du système garanti des connexions persistantes et une charge réseau inférieure. En revanche, l’absence de threads complique les phases de debugs.
 
  +
Le principe de la blockchain est qu'il n'y pas d'autorité centrale, c'est à dire qu'il y a un gros livre (ledger) distribué à tous les utilisateurs. Ce livre est une chaîne de bloc (blockchain). Tous les blocs ont un timbre et un hash qui font référence au blocs précédent. Afin de garantir que les données en puisse pas être modifiées après validation. Une transaction est publié après qu'elle soit validée, lorsqu'elle est validée tous les ledger distribués sont mis à jour. Ce système permet d'être fiable, sécurisé et traçable.
  +
  +
==Architecture==
  +
C'est un système constitué de plusieurs noeuds. La blockchain exécute des programmes appelés chaincode (ledger, données d'état et exécute des transactions).
  +
Il y a deux types de transactions, les transactions de déploiement et la transactions d'invocations. L'action de déployer va créée une nouvelle chaincode et prend un programme en paramètre. Tandis que l'action d'invocation va exécuter une fonction sur une chaincode donnée.
  +
Les nœuds sont les entités de communication de la blockchain, il y a plusieurs 3 types de noeuds. Les noeuds Client, Peer et Orderer.
  +
  +
Le noeud client représente l'entité qui se connecte à un peer pour communiquer avec la blockchain. Ils créent et invoquent des transactions.
  +
  +
Le noeud peer reçoivent des mises à jour d'état sous forme de blocs. Il à une fonction particulière qui consiste à valider une transaction avant qu'elle ne soit validée.
  +
  +
Les noeuds orderer garantissent la livraison.

Latest revision as of 14:47, 5 December 2017

Titre

Hyperledger un projet qui a pour but de promouvoir la technologie BlockChain inter-industrie hébergé par The Linux Foundation, à ce jour il regroupe 5 projet à ce jour (Burrow, Sawtooth, Fabric, Indy et Iroha). Actuellement le projet le plus avancé est Fabric.

Abstract

Hyperledger is a group of projects, created by The Linux Foundation. Its aim it's to promote BlockChain technologies for inter-industry domain. At this time Hyperledger merge 5 projects. The most advance is Fabric.

Hyperledger

Hyperledger ?

Hyperledger est un projet open source collaboratif, utilisant la technologie blockchain. Il y a une communautée de développeurs construisant des frameworks et des plateformes, à destination des projets qui qui veulent utiliser Hyperledger. Leur but est qu'il y ai un maximum de personnes qui l'utilise, afin que ça devienne la nouvelles norme dans le domaine inter-industriel.


Principe des blockchain

Le principe de la blockchain est qu'il n'y pas d'autorité centrale, c'est à dire qu'il y a un gros livre (ledger) distribué à tous les utilisateurs. Ce livre est une chaîne de bloc (blockchain). Tous les blocs ont un timbre et un hash qui font référence au blocs précédent. Afin de garantir que les données en puisse pas être modifiées après validation. Une transaction est publié après qu'elle soit validée, lorsqu'elle est validée tous les ledger distribués sont mis à jour. Ce système permet d'être fiable, sécurisé et traçable.

Architecture

C'est un système constitué de plusieurs noeuds. La blockchain exécute des programmes appelés chaincode (ledger, données d'état et exécute des transactions). Il y a deux types de transactions, les transactions de déploiement et la transactions d'invocations. L'action de déployer va créée une nouvelle chaincode et prend un programme en paramètre. Tandis que l'action d'invocation va exécuter une fonction sur une chaincode donnée. Les nœuds sont les entités de communication de la blockchain, il y a plusieurs 3 types de noeuds. Les noeuds Client, Peer et Orderer.

Le noeud client représente l'entité qui se connecte à un peer pour communiquer avec la blockchain. Ils créent et invoquent des transactions.

Le noeud peer reçoivent des mises à jour d'état sous forme de blocs. Il à une fonction particulière qui consiste à valider une transaction avant qu'elle ne soit validée.

Les noeuds orderer garantissent la livraison.