Si vous pensiez que les monolithes ne vivaient que sur des mainframes, vous n’avez pas envisagé l’impact de l’intégration.
Selon notre étude annuelle , un pourcentage significatif (57 %) d’organisations sont passées à la deuxième phase de la transformation numérique. Cette phase est marquée par l’expansion numérique, les organisations assemblant des applications pour créer un flux de travail numérique, ce que nous appelons plus généralement une expérience numérique. Cela entraîne une augmentation de l’intégration entre les applications. Cette croissance se concentre généralement sur quelques applications clés qui sont responsables de l’orchestration des flux de travail dans l’ensemble des fonctions de l’entreprise. Bien qu’il existe une tendance à se concentrer sur les applications qui mettent directement en œuvre une expérience client, chaque domaine d’activité verra l’essor d’applications qui deviendront finalement essentielles à leurs expériences numériques. Ces applications deviendront l’équivalent moderne d’un monolithe.
Les architectures monolithiques sont considérées comme celles développées à l'aide d'une approche « tout en un ». La logique et l'accès aux données sont centralisés au sein d'une seule application. Ces applications sont généralement associées aux mainframes et aux technologies héritées, mais n’importe quel langage et environnement peut être utilisé pour créer une application basée sur une architecture monolithique.
La dépendance des entreprises à l’égard de ces architectures entraîne un ensemble de dépendances qui ont un impact sur une grande variété de préoccupations, notamment la sécurité, l’utilisation du cloud et même l’acquisition de talents.
Cela est dû à l’augmentation de l’intégration, c’est-à-dire à une augmentation des applications qui dépendent du monolithe pour l’accès aux données et l’exécution des processus métier. Le secteur bancaire en est un bon exemple : les monolithes servent à gérer les comptes financiers et deviennent des backends transactionnels essentiels pour une multitude de nouveaux services. Le traitement des paiements, par exemple, est un service relativement nouveau qui dépend des applications de compte existantes pour fonctionner. Chaque service de paiement supplémentaire accroît la dépendance à cette application et rend son remplacement plus coûteux et risqué.
Ces dépendances extraordinaires sont un moteur essentiel des décisions commerciales. Nous avons constaté que près d’un tiers (27 %) a rapatrié des applications depuis le cloud public. La principale raison de cette décision (47 %) était un « niveau élevé d'interdépendances entre les applications sur site et dans le cloud ». Il s’agit d’un facteur contribuant au deuxième facteur de rapatriement du cloud : un coût plus élevé que prévu (43 %). L’intégration implique le transfert de données, et les transferts de données sont l’un des coûts cachés mais importants associés à l’hébergement d’applications dans le cloud public.
La caractéristique des dépendances élevées grâce à l’intégration n’est pas particulière à l’architecture de l’application. Le besoin d’une logique métier et de magasins de données cohérents est satisfait en limitant les possibilités d’introduire des erreurs. Il en résulte que les applications clés deviennent une source fiable de traitement logique et d’accès aux données.
Il est intéressant de noter que la modernisation augmente l’utilisation de l’intégration car elle s’appuie principalement sur les API pour étendre l’accès à la logique et aux données aux composants modernes. En effet, une enquête menée auprès des décideurs informatiques en 2019 a révélé que « 48 % d'entre eux déclarent que la modernisation des systèmes et applications informatiques existants est l'un de leurs plus grands défis en matière d'intégration ».
L’accès à des données cohérentes est également essentiel au succès d’une application, quelle que soit l’architecture. O’Reilly a noté dans ses recherches sur l’adoption des microservices que « ne pas utiliser une base de données gérée de manière centralisée avec des microservices a tendance à être associé à l’échec ». La nécessité d’accéder à des données cohérentes augmente également le nombre de dépendances vis-à-vis des applications clés.
En conséquence, toute application, quelle que soit son architecture, pourrait devenir un « monolithe moderne » par nature en raison de cette tendance à attirer les intégrations (gravité du workflow) pour le traitement logique et l'accès aux données.
À mesure que les organisations progressent dans leur parcours de transformation numérique, elles étendent leurs capacités numériques. Ces capacités s’expriment sous la forme de flux de travail numériques, qui sont mis en œuvre via l’intégration de plusieurs applications et systèmes. Aujourd’hui, cette intégration se fait principalement via des API.
Il en résulte qu’une ou deux applications clés deviennent le point central d’un flux de travail. Une étude d'IDC sur la transformation numérique a indiqué que sur les 81 % d'entreprises déployant l'automatisation, 65 % s'appuient sur « un logiciel de workflow intégré à une autre application, comme la gestion de contenu d'entreprise, la collaboration de contenu, la capture, la signature électronique, etc. »
Au fil du temps, ces applications deviennent des « monolithes modernes ». Quelle que soit leur architecture sous-jacente, elles constituent un monolithe en termes de caractéristiques importantes pour l’entreprise : elles sont trop coûteuses et risquées à remplacer en raison d’une intégration extraordinaire. Ils deviennent aussi intraitables que les monolithes traditionnels (mainframe) qui continuent de servir de base à un pourcentage important d’entreprises.
Les plateformes, ces monolithes modernes, sont de plus en plus stratégiques, tant pour l’entreprise que pour le DSI chargé de mettre en œuvre la transformation numérique.
Nous disposons aujourd’hui d’un recul qui nous permet de reconnaître l’essor des monolithes modernes. Les entreprises et l’informatique doivent être conscientes des ramifications à long terme de la standardisation sur une telle plateforme et planifier en conséquence.