Transformation digitale : quelle place pour les microservices ?

Pejman Tabassomi, TRANSFORMATION DIGITALE

Pejman Tabassomi, consultant avant-ventes d’AppDynamics France

Alors que l’innovation et la rapidité sont des conditions essentielles à la performance de l’entreprise, force est de constater que les systèmes informatiques traditionnels ont de plus en plus de mal à tenir le rythme. Lourds et complexes à gérer, ils freinent les activités et la capacité de l’entreprise à se réinventer. C’est pourquoi les regards des DSI se tournent aujourd’hui vers les microservices.
Comment l’adoption de cette nouvelle architecture peut accompagner les entreprises dans leur transformation, garantir et les aider à soutenir leur croissance ?

Dans la mouvance d’un marché en constante évolution, l’un des principaux enjeux au maintien de la compétitivité des entreprises digitalisées demeure l’agilité informatique. Or, dans leur état actuel, les systèmes IT ont du mal à s’adapter aux dernières évolutions technologiques telles que la mobilité ou l’Internet des Objets et à leurs nouvelles exigences. Avec un grand nombre d’interdépendances de services liées au cycle de vie d’un projet IT, chaque modification du code source d’une application monolithique classique peut nuire à son fonctionnement.

C’est pour cette raison que les entreprises sont obligées de se tourner vers des architectures plus souples et notamment celle orientée ‘microservices’. Un changement d’autant plus urgent qu’il est indispensable face à une concurrence agressive, et notamment celle des start-ups « disruptives » qui ne sont pas encore encombrées par des infrastructures rigides. Pourquoi l’impact des microservices ne se limite-t-il pas à la DSI ? Et comment cette nouvelle architecture peut devenir un véritable avantage compétitif pour l’entreprise ?

Agilité et vitesse au premier plan

Aujourd’hui, le problème de la plupart des systèmes IT existants réside dans leur complexité accrue en raison de la croissance des volumes de code. Au fur et à mesure de l’avancement des projets IT et suite à de nombreuses modifications, extensions, ajouts des fonctionnalités, etc., les applications monolithiques cumulent des interdépendances de services et deviennent de plus en plus difficiles à gérer et à faire évoluer. Ce qui, à l’ère du digital, constitue un handicap critique !

L’avènement des microservices répond aujourd’hui au besoin des entreprises de proposer à un important volume clients de nouveaux services de qualité et ce dans des délais très restreints. En morcelant les grands projets en de petites briques qui communiquent entre elles par le biais d’API, une approche microservices permet d’accélérer le processus tout en évitant les problèmes de dysfonctionnement.

Cette approche s’apparente à d’autres méthodes de développement accéléré. On peut notamment la comparer au développement agile conçu pour répondre à la fois aux besoins de simplicité de rapidité au sein des projets IT, tout en limitant le nombre de validations nécessaires de la part de différentes équipes. Dans la mesure où le code est réduit, chaque ingénieur peut systématiquement apporter des modifications en production. C’est ainsi que les microservices offrent aux entreprises plus d’agilité et accélèrent jusqu’à 75 % le développement applicatif.

L’un des principaux atouts des microservices est qu’il transforme non seulement l’architecture informatique et la façon d’écrire le code mais aussi la culture de l’entreprise. Parallèlement au changement d’architecture, il est logique d’adopter une approche DevOps afin d’optimiser et d’automatiser les processus pour pouvoir déployer des services plusieurs fois par jour.

Dans cette configuration, c’est surtout le rôle des développeurs qui change profondément. Tandis qu’ils étaient auparavant censés ne s’occuper que du code, avec une approche modulaire, ils sont désormais poussés à adopter une vision globale de l’ensemble des technologies impliquées et de leurs interconnexions. A l’image de l’approche d’Amazon ‘You build it, you run it’, les ‘Devs’ seront désormais impliqués dans la surveillance et l’évolution du cycle de vie d’un microservice, plutôt que de passer directement leur microservice à l’équipe ‘Ops’.

Le challenge de la performance

Toutefois, avec une architecture microservices, la surveillance, la gestion et le renforcement des performances applicatives dans les environnements de production demeurent primordiales pour assurer une expérience utilisateur optimale. Cela d’autant plus que la multiplication des applications ‘composantes’ conduit à la croissance du nombre de déploiements et d’instances de serveurs qui assurent la livraison du service final.

Autrement dit, le monitoring de la performance des applications monolithiques était jusqu’ici relativement simple. Alors qu’avec une architecture orientée microservices, le système devient distribué et hétérogène, ce qui complexifie la gestion de la performance applicative. De plus, avec l’accélération du rythme des livraisons des applications, il est important que le code soit surveillé dès lors qu’il est mis en production, car il peut impacter d’autres microservices restant interconnectés. Par conséquent, les équipes sont désormais obligées de surveiller, ajuster et gérer en permanence la performance de leurs microservices afin de pouvoir garantir une expérience utilisateur irréprochable. 

Face à la croissance de la demande clients d’un côté et de la pression de la concurrence de l’autre, les entreprises n’ont plus d’autre choix que d’innover et de se transformer rapidement au risque de devoir céder des parts de marché. Les dernières évolutions informatiques, telles que le développement d’une architecture orientée microservices, ont été spécifiquement pensées pour permettre aux entreprises de répondre au double enjeu de gains de rapidité et d’agilité. Tout en accélérant le développement applicatif, cette architecture permet aux entreprises de se réinventer en permanence sans obstacle posé par des systèmes informatiques vieillissants. Pour tirer pleinement partie de ce type d’architecture et garantir une expérience utilisateur sans faille, les DSI doivent cependant se donner les moyens de monitorer la performance de leurs microservices.