Introduction à la “Continuous Architecture”

Au printemps, nos experts et expertes OCTO vous proposent une série « Modern Software Engineering & Architecture ». Pour découvrir le programme et ne rien rater, inscrivez-vous sur notre page Modern Software Engineering & Architecture.


Préambule : Définition de la “Continuous architecture” en quelques mots

En quelques mots, la “Continuous Architecture” consiste à faire évoluer et grandir sans rupture les systèmes informatiques au fur et à mesure des besoins avérés.

Du point de vue de la construction d’un produit ou d’une plateforme produit, cela consiste à avoir une vision d’une architecture cible qui colle à celle de la vision produit, pour partir dans la bonne direction tout en posant des principes d'architecture haut niveau. Ensuite, il s'agit de définir une stratégie technique et de faire évoluer l’architecture en continu, tout en faisant évoluer la vision technique et la vision produit.

Faire évoluer l’architecture en continu au fur et à mesure en faisant évoluer la vision technique et la vision produit

Faire évoluer l’architecture en continu au fur et à mesure en faisant évoluer la vision technique et la vision produit

Introduction

Cet article est le premier d’une série sur la thématique de la “Continuous Architecture” pour laquelle nous ouvrirons prochainement une formation avec notre centre de formation Octo Academy : “Continuous architecture - Construire et faire évoluer une architecture de manière adaptative et dans une optique produit”

Nous souhaitons vous dévoiler comment au fil du temps l’architecture en continue s’est imposée comme une nécessité pour supporter les évolutions dans les systèmes d'information : évolution constante des besoins métiers, accélération des évolutions et possibilités technologiques…

Cette manière de faire s'oppose aux principes d'architecte Tour d'ivoire. Elle permet de mettre en place ce qui est nécessaire aux besoins métiers comme l'agile le permet pour le développement de features, c'est-à-dire ancré dans la réalité.

De la complexité IT maîtrisée à l'ère du mode produit

La trajectoire de l'informatique a été marquée par des innovations et des changements de paradigmes qui ont profondément modifié notre approche de la construction et de la gestion des systèmes d'information.

La première vague internet a digitalisé le passé : digitaliser le dinosaure (src : manufacturedupixel)

La première vague internet a digitalisé le passé : digitaliser le dinosaure (src : manufacturedupixel)

Petit rappel pour les plus jeunes et les moins jeunes, cette frise chronologique recense les évènements marquants ces 30 dernières années et leurs impacts dans l’IT :

Frise chronologique qui recense les évènements marquants ces 30 dernières années et leurs impacts dans l’IT

A la fin de la première vague

  • La complexité restait maîtrisable
  • Se projeter sur le long terme restait possible au travers de schémas directeurs
  • Travailler en mode projet reproductible restait acceptable

2008 : L'arrivée du smartphone révolutionne l'accès à l'information et les interactions numériques

2008 : L'arrivée du smartphone révolutionne l'accès à l'information et les interactions numériques

Désormais, suite à la deuxième vague

  • La complexité accélère en même temps que les besoins IT
  • Les besoins deviennent fortement transactionnels (en opposition aux besoins statiques du début) pour le grand public
  • Le trafic internet explose

2016 : L'explosion du cloud computing révolutionne l'intégration avec des services tiers

2016 : L'explosion du cloud computing révolutionne l'intégration avec des services tiers

Elles soulignent la transition d'un monde où la planification à long terme était possible à une ère où l'adaptabilité et la réactivité sont devenues essentielles pour répondre aux besoins changeants et croissants en technologie.

Un produit n’est jamais fini

Contrairement au mode projet, caractérisé par des objectifs spécifiques, des délais définis et des résultats attendus, le mode produit reconnaît que les besoins métier évoluent continuellement et sur une longue durée.

Cette perception changeante exige des architectures IT non seulement une robustesse et une flexibilité accrues, mais aussi la capacité d'accéder rapidement à de nouvelles données, tout en maintenant des niveaux élevés de disponibilité et de fraîcheur.

Le mode produit en continue et sur une longue durée exige des architectures IT une robustesse et une flexibilité accrues

Le mode produit en continue et sur une longue durée exige des architectures IT une robustesse et une flexibilité accrues

Quels sont ces nouveaux enjeux ?

Des évolutions majeures ont forcé les architectures à évoluer

En quelques mots, listons les évolutions majeures qui ont impacté les architectures jusqu'ici :

  • Interopérabilité "by design" : Imposer l'interopérabilité (par exemple via de API) comme une caractéristique intrinsèque dès la conception des systèmes.
  • Sécurisation des échanges : Renforcer la sécurité des données échangées pour prévenir les menaces et les intrusions.
  • Transition vers le cloud et coûts associés : Réduction des coûts grâce à l'adoption du cloud, mais avec une explosion des coûts des services managés.
  • Besoin d'évolution rapide des grosses applications : Adoption des microservices pour permettre une évolution agile et rapide des applications complexes.
  • Émergence du headless dans l'exposition des systèmes d'information : Tendance vers des architectures sans interface utilisateur, offrant une flexibilité et une agilité accrues.
  • Hybridation mobile : Intégration croissante des appareils mobiles dans les architectures informatiques pour une expérience utilisateur optimisée.

Et demain ?

Dans les prochaines années, plusieurs tendances majeures pourraient avoir un impact significatif sur les architectures :

  • Intelligence Artificielle (IA) : L'intégration de l'IA, même si elle risque de bouleverser les approches métier et les processus de développement, ne devrait pas entraîner nécessairement des changements majeurs dans les architectures (on suppose ;-)). Son adoption pourrait suivre une approche similaire à celle des services managés. D'un point de vue architectural, ceux-ci pourraient être vus comme des offres SAAS qui permettent d'enrichir l'expérience utilisateur.
  • Multi-cloud : Le multi-cloud-1) pourrait gagner en popularité, permettant aux entreprises de fonctionner sur plusieurs clouds pour des raisons de conformité RGPD, de flexibilité et de réduction des coûts. Cette approche leur offre également la possibilité de répartir les charges de travail de manière plus efficace et de minimiser les risques de défaillance d'un fournisseur de services cloud.
  • Sécurité : Des approches telles que le modèle de sécurité Zero Trust (NIS) et les pratiques recommandées de l'équipe de recherche et d'analyse des opérations de défense devraient gagner en importance. Et bien sur tout ce qui permettra d’éviter de voir ses données personnelles dans la nature…
  • Accessibilité des applications : L'obligation de respecter les normes d'accessibilité telles que le RGAA (Référentiel Général d'Accessibilité pour les Administrations) pourrait probablement inciter à une révision des monolithes frontaux, en faveur d'un refactoring basé sur des micro-frontends, cette approche permettant une reprise en main progressive et un refactoring plus modulaire.

L’IA oui mais pas que …

L’IA oui mais pas que …

Conclusion

Le passage au mode produit dans les architectures IT représente une évolution cruciale pour les entreprises cherchant à rester compétitives dans un paysage technologique en rapide mutation. En adoptant une approche flexible et évolutive, les organisations peuvent non seulement répondre plus efficacement aux besoins métiers actuels, mais aussi se préparer à ceux de demain.

Ce paradigme nécessite une réflexion stratégique, une planification et une volonté d'embrasser les évolutions du SI constamment en évolution technologique.

Dans notre prochain article nous aborderons l’impact de la continuous architecture sur l’organisation.

Le défi majeur réside dans la construction d'une architecture capable d'évoluer

Le défi majeur réside dans la construction d'une architecture capable d'évoluer


Pour ne rien rater de notre série « Modern Software Engineering & Architecture », inscrivez-vous sur notre page Modern Software Engineering & Architecture.