Vous regardez une version antérieure (v. /display/INFRA/2016/07/12/Vers+une+infrastructure+en+micro+services) de cette page.

afficher les différences afficher l'historique de la page

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »

Depuis plusieurs années, Gadz.org s'oriente vers une architecture découpée en services, voir micro services. Voyons ensemble ce que cela signifie et les raisons de ce choix.

Cet article ne rentre volontairement pas dans les détails techniques. Cecis feront l'objets d'autres billets de blog. Pour les plus impatients, n'hésitez pas à poser vos questions en commentaire

L'architecture en services c'est quoi ?

Architecture en services

L'architecture orienté service vise à résoudre un problème récurent dans les environnement informatique : l'augmentation boulimique des fonctionnalités des applications. Les applications grossissant, leur complexité augmente finalement pour devenir d'énormes monstres que plus personne n'ose modifier de peur de "casser" quelque chose. Rajoutez à cela des resources humaines avec un fort turnover vous serait assurer d'avoir perdu toute votre agilité.

Pour répondre à ce problème, les applications sont découpées en applications plus petites ayant chacun un périmètre fonctionnel bien défini.EXEMPLE NECESSAIRE

 Mais ces applications ne sont que rarement autonomes et ont besoin de communiquer avec les autres applications, le plus souvent au moyen d'API [wikipedia]. Dans les systèmes Gadz.org  par exemple, lors de l'inscription d'un nouvel utilisateur dans le site de la Soce, il est également nécessaire de l'inscrire dans le système d’authentification universel.

Architecture en services : plusieurs applications qui dialoguent entre elles

Cette architecture présente un gros avantage  : le découpage des équipes projets. Il nous est ainsi possible de sous-traité le développement du site de la Soce tout en l'intégrant au sein d'un environnement applicatif plus large. Elle nous permet également de trouver des briques "toute faites" dans le commerce ou open-source.

Mais l'architecture en services ne résout pas tout ! La complexité n'a pas été supprimée elle a été déplacée. Le parc applicatif évoluant, les liens entre les applications s'intensifient au point de créer des couplages fort entre le fonctionnement des applications et de brouiller les pistes entre les responsabilité de chacune.

Deuxièmement, les "services" restent des applications à part entière, necessitant chacune de multiple compétences (gestion de base de données, envoie de mail...) et une bonne connaissance de la base de code pour en assurer l'évolutivité. Même si le phénomène est amoindir, les équipes projets restent de tailles conséquente, ce qui est un problème pour des organisations telles que la notre, reposant sur des bénévoles.

Architecture en micro-services

 

Chez Gadz.org ça donne quoi ?

 

 

  • Aucune étiquette