L’un des principaux effets de la transformation numérique est le bouleversement du développement d’applications. Historiquement, il faut généralement plusieurs années avant que l’introduction de nouvelles architectures dans le développement d’applications ne prenne véritablement son essor et ne soit largement adoptée. Les architectures applicatives qui tendent à s’imposer dans des secteurs entiers finissent par devenir la norme de facto. C’est ce qui s’est produit entre le milieu et la fin des années 1990, lorsque J2EE est progressivement mais sûrement devenu la « norme d’entreprise » pour le développement d’applications web à trois niveaux.
Aujourd’hui, l’architecture qui semble destinée à s’imposer et à devenir la nouvelle norme est l’architecture cloud native. Ces architectures de microservices basées sur des conteneurs s’imposent rapidement dans les nouveaux projets de développement, tous secteurs confondus. L’essor de Kubernetes, sur lequel un grand nombre de ces applications sont déployées et exploitées, indique que cette nouvelle architecture applicative est appelée à durer. Nos recherches montrent qu’au moins la moitié des organisations explorent de « nouvelles architectures » en raison de la transformation numérique.

Or, cela est souvent interprété comme signifiant que les organisations se sont engagées dans une démarche de « modernisation ». Et nous (le secteur) avons tendance à parler de modernisation en des termes très généraux (et vagues). Comme si les organisations allaient simplement agiter une baguette magique et que toutes leurs applications seraient conçues selon ce nouveau modèle.
En réalité, les organisations disposent de nombreuses façons de moderniser leurs applications. Seules certaines (37 %) optent pour une approche de refactorisation. Les méthodes de refactorisation sont nombreuses, l’une des plus populaires étant la méthode Red Green Refactor. Mais il en existe d’autres, notamment la refactorisation préparatoire et diverses options fondées sur l’abstraction. La plupart reposent sur la simplification du code. Autrement dit, elles s’appuient en grande partie sur une forme moins perturbatrice de réécriture de l’application.
Mais il arrive qu’une réécriture complète soit la meilleure stratégie de modernisation. En règle générale, l’effort nécessaire pour réécrire entièrement une application existante obsolète peut être suffisamment considérable pour décourager même les plus fervents partisans de la transformation numérique. Toutefois, dans certains cas, cette approche peut permettre de réaliser des économies substantielles.
Prenons l’exemple de l’approche adoptée par une agence fédérale pour moderniser son portefeuille d’applications. Soumise à l’obligation de passer à une méthodologie Agile, l’agence devait obtenir une autorisation spéciale pour développer des applications selon une méthode traditionnelle en cascade. La méthode en cascade était dominante à l’époque où je faisais du développement ; oui, elle est donc ancienne. L’agence a décidé que le meilleur point de départ consistait à bien comprendre son propre portefeuille et à justifier la nécessité de chaque application.
Au cours de cet audit, l’agence a découvert que près de 200 applications — sur environ 6 000 — remplissaient la même fonction élémentaire de gestion des actifs. Imaginez un instant qu’une évolution de cette fonction métier élémentaire nécessite de modifier les 200 applications.
Cela représente beaucoup de temps et d’efforts pour les développeurs et les opérateurs afin de développer, tester et déployer la même fonction métier.
L’agence a décidé de se moderniser en remplaçant les 200 applications par un microservice unique, désormais utilisable dans toute l’agence pour assurer le suivi des actifs. Développé selon des méthodes agiles et exploité dans un environnement moderne, il peut évoluer afin de répondre aux besoins de chaque service qui s’appuyait jusque-là sur sa propre application privée.
Les efforts de modernisation ne sont pas tous axés sur la refactorisation. Une réflexion stratégique sur ce que la modernisation implique pour l’ensemble du portefeuille applicatif peut générer des avantages commerciaux considérables. De nombreuses organisations, en particulier celles qui exercent leurs activités depuis des décennies, sont susceptibles de se heurter au même problème de portefeuille : les doublons. Les restructurations, acquisitions, fusions et changements de direction peuvent facilement entraîner une duplication des applications.
Il serait avantageux pour toute organisation de procéder à un audit et à une rationalisation de ses applications dans le cadre d’une stratégie de modernisation. Vous pourriez constater que vous disposez de centaines d’applications, mais que seules certaines d’entre elles sont nécessaires. Ce type de stratégie permet aux dirigeants de justifier la création d’une toute nouvelle application, reposant sur une nouvelle architecture, afin d’éliminer les applications redondantes et les coûts qui en découlent.
À propos de l’auteur

Lori MacVittie est ingénieure émérite et évangéliste en chef au sein du bureau du directeur technique de F5. Elle possède une expertise approfondie dans la fourniture d’applications, les stratégies d’automatisation et les infrastructures. Elle est réputée pour sa capacité à rendre la complexité intelligible, qu’elle définisse des garde-fous pour les agents d’IA, analyse des architectures multicloud fragiles ou explore les limites des systèmes évolutifs. Elle cumule plus de trente ans d’expérience dans le secteur, couvrant le développement d’applications, l’architecture informatique ainsi que l’exploitation des réseaux et des systèmes. Avant de rejoindre F5, elle a été rédactrice spécialisée dans les technologies et a reçu plusieurs distinctions. MacVittie est titulaire d’un master en informatique et est une autrice prolifique dont les publications couvrent la sécurité, le cloud et l’architecture d’entreprise. Elle est également une passionnée de jeux de société et de jeux vidéo, et assume pleinement ses avis bien tranchés sur le fromage.
Autres articles de Lori Mac VittieArticles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.
L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).
Appliquer le principe de Peter Parker à l’inspection TLS
« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.
Le NetOps a besoin de défenseurs, pas d’adversaires
Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.
Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…
Les templates prennent le contrôle du cloud
Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.