Ma­vo : un nou­veau lan­gage simple pour le Web

L'Informaticien - - SOMMAIRE - THIER­RY THAUREAUX

• Ren­for­ce­ment des règles. Ap­plique des règles or­ga­ni­sa­tion­nelles pour l’in­ter­ac­tion entre les ser­vices, ga­ran­tit que les règles d’ac­cès sont ren­for­cées et que les res­sources sont dis­tri­buées de ma­nière équi­table pour les consom­ma­teurs. Les chan­ge­ments de stra­té­gies sont réa­li­sées par la confi­gu­ra­tion du mesh, pas par mo­di­fi­ca­tion du code ap­pli­ca­tif. • Iden­ti­té des ser­vices et sé­cu­ri­té. Four­nit des ser­vices sur le ré­seau mesh avec une iden­ti­té vé­ri­fiable et pro­cure la ca­pa­ci­té de pro­té­ger le tra­fic du ser­vice lors­qu’il cir­cule sur les réseaux ma­na­geables à dif­fé­rents de­grés. En plus de ces com­por­te­ments, Is­tio est conçu pour être ex­ten­sible afin de pou­voir sa­tis­faire aux di­vers be­soins en terme de dé­ploie­ment : • Sup­port de plate- forme. Is­tio est conçu pour s’exé­cu­ter dans des en­vi­ron­ne­ments va­riés in­cluant ceux por­tant sur le Cloud tels que Ku­ber­netes ou Me­sos. • In­té­gra­tion et per­son­na­li­sa­tion. Le com­po­sant char­gé de faire ap­pli­quer les règles peut être éten­du et per­son­na­li­sé pour s’in­té­grer avec des so­lu­tions exis­tantes pour des ACL, la connexion, le mo­ni­to­ring, les quo­tas, l’au­dit et bien d’autres en­core. Ces fonc­tion­na­li­tés di­mi­nuent de fa­çon dras­tique le cou­plage entre le code ap­pli­ca­tif, la plate- forme sous- ja­cente et la stra­té­gie. Cette ré­duc­tion du cou­plage ne sert pas seule­ment à rendre les ser­vices plus fa­ciles à im­plé­men­ter, mais fa­ci­lite aus­si le tra­vail des opé­ra­teurs pour faire mi­grer les dé­ploie­ments d’ap­pli­ca­tion entre les en­vi­ron­ne­ments ou vers de nou­veaux plans de stra­té­gies. Le ré­sul­tat qui en dé­coule est que les ap­pli­ca­tions de­viennent in­trin­sè­que­ment plus fa­ciles à por­ter.

Ar­chi­tec­ture

Un ser­vice mesh Is­tio est di­vi­sé de ma­nière lo­gique en un plan de don­nées ( da­ta plane) et un plan de contrôle ( control plane). • Le plan de don­nées ( da­ta plane) est com­po­sé d’un en­semble de proxies in­tel­li­gents ( En­voy) dé­ployés comme des si­de­cars et as­su­rant la né­go­cia­tion et le contrôle de toutes les com­mu­ni­ca­tions ré­seau entre les mi­cro­ser­vices. • Le plan de contrôle est res­pon­sable de la ges­tion et de la confi­gu­ra­tion des proxies pour rou­ter le tra­fic, comme la mise en ap­pli­ca­tion des stra­té­gies à l’exé­cu­tion.

En­voy

Is­tio uti­lise une ver­sion éten­due du proxy En­voy, un proxy dé­ve­lop­pé en C++ of­frant des per­for­mances éle­vées, pour ser­vir d’in­ter­mé­diaire entre toutes les com­mu­ni­ca­tions ré­seau, en­trantes et sor­tantes pour tous les ser­vices du mesh. Is­tio a un ef­fet de le­vier sur de nom­breuses ca­rac­té­ris­tiques in­té­grées d’En­voy telles que la dé­cou­verte de ser­vice dy­na­mique, l’équi­li­brage de charge, la ter­mi­nai­son TLS, la pro­cu­ra­tion HTTP/ 2 et gRPC, les in­ter­rup­tions de cir­cuit, les contrôles de san­té, les sor­ties scé­na­ri­sées avec di­vi­sion du tra­fic ba­sée sur le pour­cen­tage d’oc­cu­pa­tion du ré­seau, la to­lé­rance de panne et des mé­triques dé­taillés. En­voy est dé­ployé en proxy s ide­car pour le ser vice concer­né dans la même base Ku­ber­netes. Ce­la per­met à Is­tio d’ex­traire de nom­breuses in­for­ma­tions sur le com­por­te­ment du tra­fic, comme les at­tri­buts. Ceux- ci peuvent à leur tour être em­ployés dans Mixer pour ap­pli­quer les dé­ci­sions stra­té­giques et être en­voyés aux sys­tèmes mo­ni­to­rés afin de four­nir des in­for­ma­tions sur le com­por­te­ment de l’en­semble du mesh. Le mo­dèle de proxy si­de­car vous per­met éga­le­ment d’ajou­ter les fonc­tion­na­li­tés of­fertes par Is­tio à un dé­ploie­ment exis­tant tou­jours sans avoir à ré­ar­chi­tec­tu­rer ou ré­écrire le code.

Mixer

Mixer est un com­po­sant in­dé­pen­dant de la plate- forme res­pon­sable de l’ap­pli­ca­tion du contrôle d’ac­cès et de l’uti­li­sa­tion des stra­té­gies à tra­vers

le mesh de ser­vices. Il gère aus­si la col­lecte de don­nées té­lé­mé­triques en pro­ve­nance du proxy En­voy et d’autres ser­vices. Le proxy ex­trait les at­tri­buts de ni­veau re­quête qui sont en­voyés à Mixer afin d’être éva­lués. Mixer in­clut un mo­dèle de plu­gin flexible lui per­met­tant de s’in­ter­fa­cer avec une grande va­rié­té d’en­vi­ron­ne­ments d’hôtes ( ma­chines) et d’ar­rière- plan d’in­fra­struc­ture, en fai­sant abs­trac­tion du proxy En­voy et des ser­vices gé­rés par Is­tio à par­tir de ces élé­ments.

Pi­lot

Pi­lot four­nit une dé­cou­verte de ser­vices pour les proxy de type si­de­car En­voy, les fonc­tion­na­li­tés de ges­tion de tra­fic pour le rou­tage in­tel­li­gent – le tes­ting A/ B, le dé­ploie­ment de ca­na­ries… – et la ca­pa­ci­té de ré­sis­tance – ti­meout, re­con­nexion, coupe- cir­cuits. Il conver­tit des règles de rou­tage de haut ni­veau contrô­lant le com­por­te­ment du tra­fic en confi­gu­ra­tions spé­ci­fiques pour En­voy et il les pro­page aux si­de­cars au cours de l’exé­cu­tion. Pi­lot fait abs­trac­tion des mé­ca­nismes de dé­cou­verte de ser­vices spé­ci­fiques à la pla­te­forme et les syn­thé­tise dans un for­mat stan­dard com­pré­hen­sible par tout si­de­car conforme aux API de plan de don­nées d’En­voy. Cette di­mi­nu­tion du cou­plage per­met à Is­tio de s’exé­cu­ter sur des en­vi­ron­ne­ments nom­breux et va­riés ( Ku­ber­netes, Con­sul/ No­mad) tout en main­te­nant la même in­ter­face opé­ra­tion­nelle pour la ges­tion du tra­fic.

Is­tio- Auth

I st io-Auth pro­cure une au­then­ti­fi­ca­tion forte de type ser­vice- à- ser­vice et pour uti­li­sa­teur fi­nal uti­li­sant un pro­to­cole TLS ( Trans­port Layer Se­cu­ri­ty) mu­tuel, avec une ges­tion in­té­grée de l’iden­ti­té et des droits. Il peut être uti­li­sé pour op­ti­mi­ser les com­mu­ni­ca­tions non cryp­tées dans le mesh de ser­vices et four­nir aux opé­ra­teurs la ca­pa­ci­té d’amé­lio­rer les stra­té­gies ba­sées sur l’iden­ti­té de ser­vice plu­tôt que sur les contrôles ré­seau. Les fu­tures re­leases d’Is­tio ajou­te­ront un contrôle d’ac­cès plus fin et la pos­si­bi­li­té d’au­di­ter le contrôle et le mo­ni­to­ring de l’ac­cès aux ser­vices, aux API ou aux res­sources en em­ployant une grande va­rié­té de mé­ca­nismes de contrôle d’ac­cès, in­cluant les at­tri­buts et le contrôle d’ac­cès ba­sé sur les rôles. ❍

Ce dia­gramme ex­pose les dif­fé­rents com­po­sants consti­tuant chaque plan de l’ar­chi­tec­ture d’Is­tio.

Newspapers in French

Newspapers from France

© PressReader. All rights reserved.