II.10. SOA et micro services
La tension entre les deux visions, ensemble de principes et
mise en oeuvre logicielle spécifique, culmine avec l'arrivée de
deux phénomènes : la virtualisation et le Cloud computing.
Combinés, ils vont pousser les développeurs à concevoir
des applications à partir de composants fonctionnels plus petits. Les
micros services, une des tendances logicielles aiguës du moment, ont
été l'apogée de ce modèle de développement.
Plus il y a de composants, plus il faut d'interfaces et plus la conception
logicielle se complique : la tendance a mis au jour la complexité et les
défauts de performance de la plupart des mises en oeuvre SOA.
Finalement, les architectures logicielles à base de
micro services ne sont que des mises en oeuvre actualisées du
modèle SOA. Les composants logiciels sont conçus comme des
services à exposer via des API, comme l'exige la SOA. Un broker d'API
fait l'intermédiaire : il donne accès aux composants et garantit
l'observation des règles de sécurité et de gouvernance.
Par des techniques
27
logicielles, il assure la correspondance entre les
différents formats d'E/S des micros services et les applications qui les
utilisent.
Mais l'architecture SOA reste valable aujourd'hui comme au
premier jour. Ses principes nous ont amenés au cloud et prennent en
charge les techniques les plus avancées de développement de
logiciels cloud actuellement en usage.
|