Représentation numérique d’un paysage urbain en lien avec la modernisation des applications

Qu’est-ce que la modernisation des applications ?

Définition de la modernisation des applications

La modernisation des applications désigne le processus consistant à transformer des systèmes obsolètes en applications plus modernes, plus efficaces, plus faciles à maintenir et plus évolutives. Elle englobe les améliorations apportées à l’architecture, au code ou à l’infrastructure d’une application.

La modernisation des applications s’inscrit généralement dans le cadre plus large des efforts de transformation numérique des entreprises. Selon une enquête menée par l’IBM Institute for Business Value (IBV), 83 % des cadres dirigeants ont déclaré que la modernisation des applications et des données était au cœur de la stratégie de leur entreprise.

Fonctionnement de la modernisation des applications

La modernisation des applications nécessite une préparation minutieuse et une mise en œuvre rigoureuse, en particulier pour les systèmes essentiels. Le processus peut être décomposé en plusieurs grandes étapes :

  • Évaluation

  • Planification

  • Mise en œuvre

  • Tests

  • Surveillance

Évaluation

La première étape consiste à dresser une liste des applications existantes et à analyser leur état actuel. Les critères d’évaluation peuvent varier en fonction des priorités de l’entreprise, mais certains critères courants incluent la valeur métier, les risques liés à la conformité et à la sécurité, la contribution à la dette technique, le coût et la complexité de la modernisation, ainsi que les problèmes de performances et d’expérience utilisateur.

Chaque facteur aura son propre poids, et des notes seront calculées pour chaque système. Ces notes peuvent être utilisées pour classer et hiérarchiser les applications en vue de leur modernisation.

Planification

Au cours de la phase de planification, les entreprises définissent leurs objectifs et le périmètre du projet, puis déterminent la méthode de modernisation la mieux adaptée à chaque application. Le plan précise les budgets, les risques potentiels et les moyens de les atténuer, ainsi que les ressources et les délais.

Cette phase peut s’avérer complexe et éprouvante, en particulier pour les entreprises qui souhaitent moderniser des applications héritées volumineuses ou en grand nombre. Certaines peuvent choisir de faire appel à des prestataires tiers spécialisés dans la modernisation d’applications, dont l’expertise leur permettra d’élaborer la stratégie la plus appropriée.

Mise en œuvre

La phase de mise en œuvre correspond au moment où les entreprises concrétisent leur plan. Cela implique la mise en œuvre de l’approche de modernisation choisie.

Tests

Les entreprises doivent effectuer des tests approfondis et rigoureux afin de s’assurer que toutes les fonctionnalités et caractéristiques essentielles de l’application ne sont pas affectées. Il est recommandé d’effectuer des tests dans un environnement de préproduction afin d’isoler et de corriger tout problème avant un déploiement complet en production.

Surveillance

Le suivi des performances d’une application et d’autres indicateurs permet d’identifier les goulots d’étranglement et les possibilités d’optimisation. Les résultats peuvent également servir de base à des projets de modernisation d’autres applications.

Méthodes de modernisation des applications

La modernisation des applications implique souvent une combinaison stratégique de méthodes plutôt qu’une approche unique valable pour tous les cas. Voici quelques-unes des techniques les plus courantes, également connues sous le nom des « R de la modernisation », dont certaines ont été empruntées aux « R de la migration vers le cloud » :

  • Réhébergement

  • Replatforming

  • Refactorisation

  • Refonte architecturale

  • Réécriture

  • Remplacement

Réhébergement

Le réhébergement, également appelé « lift and shift », consiste à déplacer une application vers un nouvel environnement, en n’apportant que peu ou pas de modifications significatives au code et aux fonctionnalités. Il s’agit d’une méthode rapide de modernisation, qui implique le moins de modifications possible, à condition toutefois que le nouvel environnement ait accès aux mêmes données.

Replatforming

Le « replatforming » (ou changement de plateforme), parfois appelé « lift and shape », consiste à adapter un système à une autre plateforme, qu’il s’agisse d’un autre fournisseur de cloud ou de la dernière version d’un cadre ou d’un système d’exploitation. Cette opération nécessite des modifications du code pour permettre son exécution sur la nouvelle plateforme ; une planification rigoureuse est donc essentielle pour éviter toute dérive des objectifs.

Refactorisation

La refactorisation consiste à restructurer le code source d’une application sans en modifier le comportement ni les fonctionnalités fondamentales. Elle contribue à rendre les logiciels plus performants et à accélérer leur exécution, à améliorer la maintenabilité et à réduire la dette technique. Cette méthode peut s’avérer plus longue que le réhébergement ou le replatforming et nécessite des développeurs expérimentés, en particulier lorsqu’il s’agit de code hérité.

Refonte architecturale

La refonte architecturale modifie la conception sous-jacente d’un système. Elle peut par exemple consister à transformer une application monolithique volumineuse et étroitement couplée en une architecture de microservices composée de nombreux services plus petits et indépendants.

Cette approche permet d’adopter des modèles architecturaux modernes et offre une flexibilité et une évolutivité accrues. À l’instar de la refactorisation, cependant, la refonte d’un système tout en préservant son comportement attendu nécessite du temps et une expertise particulière.

Réécriture

La réécriture consiste à repartir de zéro, en supprimant la base de code existante et en réécrivant l’application de A à Z. Les équipes de développement logiciel ont ainsi la possibilité d’utiliser les dernières technologies et de suivre les pratiques actuelles en matière de conception et de développement.

Cette technique ouvre la voie à l’innovation, tout en offrant un meilleur contrôle sur les fonctionnalités. Elle permet également aux entreprises de conserver leur propriété intellectuelle et d’adapter l’application à leurs besoins. Toutefois, une réécriture peut s’avérer plus coûteuse et plus exigeante que d’autres approches en raison du temps, des efforts et des ressources considérables qu’elle requiert.

Remplacement

Pour les systèmes hérités ayant atteint leur fin de vie, un remplacement complet peut s’avérer l’option la plus appropriée. Celui-ci peut prendre la forme d’un produit commercial prêt à l’emploi ou d’une application SaaS, à condition que cette nouvelle solution packagée intègre les fonctionnalités nécessaires du système devant être mis hors service.

Cette solution peut s’avérer plus simple et moins coûteuse que la refonte, mais le risque est que les entreprises aient moins de contrôle sur les fonctionnalités futures et se retrouvent prisonnières d’un même fournisseur.

Technologies clés pour la modernisation des applications

Les entreprises peuvent choisir parmi un large éventail de technologies pour rationaliser la modernisation de leurs applications. Voici quelques-unes des technologies les plus courantes qui, combinées, facilitent ce processus :

  • API

  • Cloud computing

  • Conteneurisation

  • DevOps

  • Microservices

  • Informatique sans serveur

APIs

Les entreprises peuvent préférer conserver une application en place tout en exposant ses données ou ses fonctions en toute sécurité via des API. Ces protocoles servent de pont entre les systèmes hérités et les applications modernes, facilitant le flux de données et l’interaction pour offrir une connectivité et une communication fluides. La création d’API pour les applications héritées évite d’avoir à les refactoriser, à en repenser l’architecture ou à les réécrire tout en les intégrant à des services modernes.

Cloud computing

Les plateformes de cloud computing offrent un accès à la demande à des ressources informatiques via Internet, proposant une plus grande évolutivité que les infrastructures sur site traditionnelles. Elles permettent un déploiement et des mises à jour rapides en plus de fournir des services gérés.

Des entités telles que les établissements financiers, les agences publiques et les établissements de santé optent souvent pour un cloud privé afin de se conformer aux exigences réglementaires relatives aux workloads contenant des données sensibles. D’autres entreprises choisissent une stratégie de migration vers le cloud plus flexible, impliquant une architecture de cloud hybride qui consiste à conserver certains workloads sur site tout en transférant d’autres vers le cloud. Certaines entreprises adoptent un environnement multicloud pour bénéficier d’une meilleure personnalisation, d’un choix plus large de fonctionnalités et de services, et pour éviter l’enfermement propriétaire.

Conteneurisation

La conteneurisation encapsule le code d’une application, ainsi que ses bibliothèques et ses dépendances, dans des unités exécutables autonomes appelées « conteneurs ». Ceux-ci sont légers et portables, ce qui leur permet de s’exécuter rapidement et de manière cohérente dans différents environnements informatiques. Docker est l’un des outils de conteneurisation open source les plus populaires, tandis que Kubernetes est une plateforme d’orchestration de conteneurs très répandue.

DevOps

Le DevOps automatise et accélère les processus de développement, de test et de déploiement des applications. Il se caractérise notamment par l’intégration continue et la livraison continue (collectivement appelées CI/CD). Au sein du pipeline CI/CD, les développeurs valident leur code dans un système de contrôle de version ; ce code est ensuite automatiquement packagé, testé et mis en production.

Microservices

Cette architecture cloud native est généralement utilisée pour décomposer les systèmes monolithiques en un ensemble de composants plus petits et faiblement couplés. De nouvelles fonctionnalités peuvent être ajoutées sans affecter l’ensemble de l’application, et les composants peuvent être mis à jour ou dimensionnés indépendamment les uns des autres. Les microservices permettent aux entreprises de faire évoluer progressivement leurs systèmes hérités vers des services modernes.

Informatique sans serveur

L’informatique sans serveur permet aux équipes de développer et d’exécuter des applications sans avoir à provisionner ni à gérer de serveurs ni d’autres infrastructures back-end. Cette approche est particulièrement adaptée au traitement de flux et aux workloads pilotés par les événements.

L’IA générative au service de la modernisation des applications

L’IA générative transforme la modernisation des applications en la rendant plus simple, plus rapide et plus abordable. Selon le rapport de l’IBV intitulé « Guide du PDG sur l’IA générative », près d’un tiers des coûts liés à la modernisation des applications héritées est imputable à la conversion et au développement du code.

Or, les outils d’IA générative peuvent générer des composants et du code d’application, puis automatiser les tests, ce qui contribue à réduire ces coûts. Par exemple, IBM Bob, un partenaire de développement alimenté par l’IA, propose des offres premium comprenant des modes, des compétences et des workflows spécialement conçus pour la modernisation d’entreprise, allant du passage des applications Java aux dernières versions au développement mainframe avec COBOL.

Le rapport a également révélé que certaines entreprises utilisent l’IA générative pour refactoriser des applications ou créer des workflows en vue de la migration de systèmes hérités vers des versions SaaS. Mais l’IBV recommande de saisir les opportunités qui étaient auparavant hors de portée, car leur modernisation semblait trop difficile ou trop risquée pour même être envisagée, comme les systèmes de planification des vols dans les compagnies aériennes ou les systèmes de gestion du cycle de vie des produits dans le secteur de la fabrication. C’est au sein des processus de ces systèmes stratégiques, ainsi que dans les projets de modernisation des applications liés au service client, à la sécurité de l’information et au marketing, que l’IA générative devrait avoir le plus grand impact et produire les résultats les plus significatifs, note l’IBV.

Ensemble, la modernisation des applications et l’IA générative alimentent un cercle vertueux d’agilité accrue et de croissance du chiffre d’affaires. Selon le rapport de l’IBV, 77 % des dirigeants ont déclaré que l’utilisation de l’IA générative dans les projets de modernisation des applications augmenterait l’agilité de l’entreprise, tandis que les PDG qui adoptent des pratiques agiles ont 49 % plus de chances de surpasser leurs pairs en matière de croissance du chiffre d’affaires.

AI Academy

L’IA au service de la modernisation des applications

Découvrez comment l’IA générative peut transformer votre parcours de modernisation des applications en améliorant la productivité, en réduisant les risques de conformité et en rationalisant les mises à jour.

Avantages de la modernisation des applications

La modernisation des applications offre les avantages suivants aux entreprises :

  • Agilité

  • Meilleure expérience utilisateur

  • Efficacité

  • Coûts opérationnels réduits

Agilité

La modernisation permet aux entreprises de réagir rapidement aux évolutions du marché et de répondre aux besoins changeants des clients. Elles peuvent proposer de nouvelles fonctionnalités ainsi que des améliorations sans les temps d’arrêt inhérents aux systèmes hérités.

La compagnie aérienne Lufthansa Group, par exemple, a modernisé ses opérations au sol en fusionnant plusieurs applications mobiles en une seule solution Web appelée « Turnaround Companion » (TAC). Reposant sur des technologies Web modernes, la structure modulaire de cette plateforme cloud native permet à l’entreprise de s’adapter de manière flexible aux nouvelles exigences. Les nouvelles versions de TAC ne s’accompagnent également que de quelques minutes d’interruption de service, contre près de 45 minutes pour les applications mobiles héritées, l’objectif étant de parvenir à zéro interruption de service pour les futures versions.

Meilleure expérience utilisateur

La mise à niveau d’applications anciennes et lentes implique généralement la mise à jour de leurs interfaces utilisateur. Des interactions intuitives, réactives, fluides et sans heurts avec les applications contribuent à une expérience utilisateur positive, susceptible d’améliorer la satisfaction client.

Dans le cas de Lufthansa Group, la nouvelle conception de TAC a permis d’offrir une expérience utilisateur cohérente sur différents appareils. L’interface intuitive de la plateforme et la visualisation claire des données ont permis au personnel au sol de saisir rapidement les informations importantes et de réagir efficacement, même dans des situations stressantes.

Efficacité

La modernisation des applications se traduit généralement par des temps de traitement plus courts et une faible latence, avec des systèmes capables de gérer des workloads variables sans perte de performances. Les environnements cloud, en particulier, permettent d’adapter la capacité à la hausse ou à la baisse en fonction des pics et des baisses de trafic en temps réel.

Pour Lufthansa Group, sa plateforme unifiée a considérablement amélioré l’efficacité de ses opérations au sol, grâce au suivi en temps réel du processus d’escale des avions. L’ensemble des données et des communications est également regroupé au sein d’une seule pile de solutions, ce qui facilite une coordination rapide entre le personnel de l’aéroport et celui de la compagnie aérienne.

Coûts opérationnels réduits

La maintenance des applications héritées est souvent coûteuse. Leur modernisation peut réduire les coûts de maintenance, permettant ainsi aux entreprises d’investir ces fonds dans l’innovation. Les plateformes de cloud computing offrent également un modèle plus rentable grâce à une tarification à l’utilisation et à une réduction des frais généraux liés à l’infrastructure.

Le géant des télécommunications stc group, par exemple, a opté pour une architecture cloud hybride. La migration vers une solution haute performance a permis de réduire de près d’un tiers ses coûts de conteneurisation, de diminuer de 30 % ses dépenses d’investissement et de réduire ses coûts opérationnels liés au matériel.

Les défis de la modernisation des applications

Si la modernisation des applications apporte des avantages significatifs, ce processus présente également des inconvénients. Voici quelques obstacles courants auxquels les entreprises peuvent être confrontées lors de la modernisation de leurs applications :

  • Complexité

  • Coût

  • Migration des données

  • Déficits de compétences

Complexité

Les systèmes hérités de grande envergure peuvent être difficiles à moderniser en raison de leur nature monolithique et de leur dette technique cumulée. Mais même les systèmes plus anciens, de portée plus modeste, peuvent constituer un obstacle en raison de leurs dépendances complexes.

Il peut s’avérer plus facile pour les entreprises de procéder par étapes, en divisant les projets de modernisation en phases plus faciles à gérer. Plutôt que de s’attaquer à l’ensemble d’une application d’un seul coup, elles peuvent se concentrer d’abord sur un aspect moins critique et affiner leur approche pour les étapes suivantes.

Coût

La modernisation peut sembler représenter une dépense ponctuelle considérable, et les contraintes budgétaires peuvent faire échouer cette initiative. L’approche par étapes mentionnée précédemment peut s’avérer utile, tout comme une analyse coûts-avantages exhaustive et la priorisation des systèmes à fort impact qui apportent une valeur ajoutée évidente et un retour sur investissement mesurable.

Migration de données

La migration des données est un aspect souvent négligé de la modernisation. Lorsqu’elle n’est pas effectuée correctement, elle peut entraîner la perte ou la corruption des données et présenter des risques de sécurité.

Avant la migration, les entreprises doivent chiffrer l’ensemble de leurs données et s’assurer que leur système de sauvegarde et de restauration est prêt afin de préserver l’intégrité de leurs données. Parmi les autres facteurs à prendre en compte figurent le type de workload, le volume de données, la durée de l’opération et les moyens de minimiser les temps d’arrêt ou les perturbations.

Déficits de compétences

Les entreprises manquent généralement de connaissances et de capacités dans les technologies choisies pour leur modernisation. Elles doivent être prêtes à investir dans des programmes de formation et d’amélioration des compétences, afin de doter leurs équipes des capacités nécessaires pour mettre en œuvre et maintenir les systèmes modernisés. Une autre option consiste à s’associer à des prestataires externes capables de les guider et de les accompagner tout au long de leur parcours de modernisation.

Auteurs

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Solutions connexes
Agent de codage IA

Donnez à vos équipes les moyens d’innover plus rapidement grâce à IBM Bob, une solution d’IA qui facilite la modernisation de vos applications, accélère votre développement et optimise la mise en production de vos logiciels.

Découvrir notre agent de codage basé sur l’IA
Solutions de modernisation des applications mainframe

Rationalisez la modernisation de vos applications grâce à l’IA générative afin que vos équipe de développement puissent accélérer la transformation, gagner en productivité et réduire la complexité.

Découvrir nos solutions de modernisation des applications mainframe
Services de modernisation des applications

Repensez vos systèmes hérités grâce à une modernisation intelligente basée sur l’IA.

Découvrir nos services de modernisation des applications
Passer à l’étape suivante

Exploitez l’IA générative et l’automatisation avancée pour créer plus rapidement du code prêt à l’emploi. Les modèles Bob augmentent les compétences des développeurs, en simplifiant et en automatisant vos efforts de développement et de modernisation.

  1. Découvrez IBM Bob
  2. Découvrir nos solutions de modernisation des applications mainframe