Qu'est-ce que la modernisation des applications ?

La modernisation des applications correspond au processus de modification, de remplacement ou d'architecture de l'infrastructure sous-jacente d'une application dans le but de gagner en flexibilité ou en évolutivité, souvent par le biais d'une migration cloud.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Décrire la modernisation des applications
  • Comprendre les technologies importantes pour la modernisation des applications traditionnelles
  • Expliquer les étapes et les stratégies de modernisation des applications (les « cinq R »)

Copier le lien de l'article

Qu'est-ce que la modernisation des applications ?

La modernisation des applications correspond au processus de mise à jour ou de remplacement de l'architecture, du code et de l'infrastructure des applications plus anciennes (ou « traditionnelles »). Le terme fait le plus souvent référence au passage de l'infrastructure d'une application sur site à une infrastructure dans le cloud, et implique généralement le passage d'une architecture d'application monolithique à une architecture en microservices ou serverless. L'objectif est de rendre les applications plus évolutives, plus gérables et plus rentables, tout en réduisant les surcoûts opérationnels.

À l'instar d'autres types de modernisation observés dans le monde des affaires (comme la transition des mémos imprimés vers les e-mails), la modernisation des applications adapte les processus aux nouvelles technologies dans un but d'amélioration de l'efficacité. La modernisation des applications traditionnelles permet aux développeurs de ces applications de bénéficier de l'informatique cloud, qui est plus évolutive et présente une structure de coût plus flexible que les anciens modèles informatiques.

La modernisation des applications fait souvent partie d'une plus grande migration cloud ou d'un effort de transformation numérique.

Comment s'effectue la modernisation des applications traditionnelles ?

L'informatique cloud repose sur des machines virtuelles. Les services cloud sont une ou plusieurs « couches d'abstraction » retirées du matériel sous-jacent. C'est ce qui distingue le cloud de l'infrastructure sur site, où les applications sont exécutées sur des serveurs spécifiques et au sein de réseaux clairement définis. Le fournisseur de cloud gère le matériel et met à disposition les services via des connexions réseau. Le cloud étant pensé selon cette architecture, l'informatique cloud est plus flexible, car il est capable d'évoluer à la demande et d'éliminer certains des coûts associés aux opérations sur site.

Si les applications sur site ont tendance à se présenter comme une entité monolithique unique, l'architecture des applications hébergées dans le cloud est généralement divisée en éléments plus petits qui sont utilisés selon les besoins. La modernisation des applications peut impliquer d'adapter l'architecture à ce format (ce n'est toutefois pas le cas pour toutes les stratégies de modernisation des applications).

Les concepts clés des applications modernisées sont les suivants :

  • Microservices : les microservices sont de petits composants déployés de manière indépendante qui remplissent chacun une fonction spécifique dans une application. Chacun fonctionne dans son propre environnement et peut être développé et mis à l'échelle séparément.
  • Conteneurs : les conteneurs regroupent le code d'application et les dépendances afin qu'ils s'exécutent de manière cohérente dans différents environnements. Ils sont couramment utilisés dans les architectures de microservices, mais pas exclusivement.
  • Informatique serverless : Ce type d’architecture cloud décompose une application en fonctions discrètes, commandées par des événements. Les fonctions serverless sont des morceaux de code individuels qui ne s'exécutent qu'à la demande. Notez que de nombreuses applications basées sur le cloud combinent l'informatique serverless, microservices et conteneurs en une seule architecture, connectée via une passerelle API.
  • API : les interfaces de programmation d'applications (API) se comportent comme un connecteur pour les microservices et les fonctions qui composent une application cloud et s'exécutent toutes indépendamment les uns des autres. Les API permettent à une application de faire appel à chaque service au fur et à mesure des besoins.
  • Orchestration : l'orchestration correspond à l'automatisation des tâches associées à la gestion des conteneurs. Une architecture d'application qui comprend des conteneurs comprend également une sorte d'orchestration ; les Kubernetes en sont une forme courante.
  • Stockage cloud : il existe plusieurs types de stockage cloud pour les données des applications, notamment le stockage d'objets, le stockage blob et le stockage en blocs.
  • Sécurité cloud-native : la sécurité cloud-native est conçue pour protéger l'infrastructure des applications dans le cloud, tout en assurant la conformité des données et la gouvernance.
  • Intégration de l'IA : les applications modernisées s'intègrent plus facilement à l'IA générative et à l'IA agentique, qui sont développées sur des modèles exécutés à distance, dans le cloud, plutôt que localement.

Quelles sont les principales stratégies de modernisation des applications ?

Les stratégies de modernisation des applications les plus courantes sont toutes connues par des noms qui (en français) commencent par « R ». Par conséquent, ces stratégies sont appelées « les 5 R » ou « les 7 R ».

Les « 5 R » (tel que défini à l'origine par Gartner en 2010) :

  • Réhébergement: également nommée « lift-and-shift » (portage vers le cloud), cette stratégie de modernisation des applications est souvent la plus rapide à mettre en œuvre. Une application monolithique sur site est déplacée vers le cloud et hébergée par un fournisseur d'infrastructure en tant que service (IaaS) au lieu d'une infrastructure autogérée. Le réhébergement revient à prendre une maison et à la traîner à l'autre bout de la rue.
  • Remaniement : le remaniement est similaire au réhébergement, mais l'application est hébergée via une plateforme en tant que service (PaaS) au lieu d'IaaS. Cela implique encore moins de frais généraux et davantage de flexibilité, mais il se peut que l'application doive être légèrement adaptée à la plateforme du fournisseur de cloud. Pour reprendre l'image de la maison, il s'agirait de l'installer sur un terrain plus long mais plus étroit que le lot sur lequel elle se trouvait auparavant et d'ajouter un deuxième étage à la maison pour mieux utiliser l'espace.
  • Révision : la stratégie de « révision » implique de réécrire en partie la base de code de l'application. Imaginez que vous « démontiez » une maison, puis que vous la reconstruisez selon un plan d'architecture plus efficace.
  • Reconstruction : cette stratégie de modernisation des applications réécrit l'application pour son déploiement via un fournisseur de PaaS. Imaginez que vous démolissiez totalement une maison avant de la reconstruire intégralement.
  • Remplacement : cette stratégie élimine les applications traditionnelles et les remplace par des applications modernisées ou basées sur le cloud qui offrent des fonctionnalités similaires. Imaginez l'achat d'une maison entièrement nouvelle.

Les autres stratégies de modernisation des applications (ou « R ») comprennent :

  • Replateformisation : cette stratégie implique d'apporter certaines modifications au code afin que l'application fonctionne correctement sur une plateforme cloud, mais pas autant de modifications que dans le cas du remaniement.
  • Refonte de l'architecture : le backend d'application est repensé et partiellement réécrit pour mieux fonctionner dans le cloud.
  • Réachat : de manière similaire à la stratégie de « remplacement », une application de remplacement est achetée auprès d'un fournisseur différent de celui précédemment utilisé pour l'application.

Quelle stratégie de modernisation des applications doit mettre en œuvre une entreprise ?

La bonne stratégie (ou, plus précisément, les stratégies, car la plupart des entreprises ont recours à plusieurs) dépend des objectifs de l'entreprise et de son budget. Une migration plus rapide avec des efforts et des coûts minimes signifie souvent que le réhébergement est la bonne stratégie pour commencer. Pour garantir l'évolutivité à long terme ou la prise en charge des pratiques de développement modernes, telles que l'intégration et le déploiement en continu (CI/CD), des changements plus importants peuvent s'avérer nécessaires. Dans ces cas, la refonte de l'architecture, le remaniement ou la reconstruction des applications peuvent mieux préparer les organisations aux demandes futures.

Les entreprises doivent déterminer leurs objectifs, leur calendrier et leur budget de modernisation avant de décider des stratégies.

Quelles sont les principales étapes de la modernisation des applications ?

Les étapes spécifiques diffèrent en fonction de la stratégie et de l'entreprise, mais en règle générale, les principales phases des efforts de modernisation des applications sont les suivantes :

  • Préparation : cela commence par l'évaluation de chaque application qui est candidate à la modernisation, l'identification de ses composants, la recherche de toutes ses données et la détermination des objectifs de post-modernisation pour l'application (par exemple, sera-t-elle exposée via une API ? Offrira-t-elle les mêmes fonctionnalités ou des fonctionnalités étendues ?) Les entreprises doivent intégrer de la flexibilité dans leurs plans, car il est possible qu'elles doivent être ajustées en fonction de conditions inattendues pendant la mise en œuvre.
  • Modernisation : lors de cette phase, les entreprises réalisent le plan défini lors de la phase de préparation, en transformant les back-ends des applications et en procédant à la migration de leurs données en fonction des besoins.
  • Basculement : les anciennes applications sont abandonnées, tandis que les applications modernisées assurer leurs fonctions. Idéalement, cette phase se déroule après la modernisation ou pendant la modernisation afin d'éviter toute incidence sur les processus métier.
  • Activité continue : les entreprises continuent de tester, de mettre à jour, d'entretenir, de sécuriser et d'améliorer leurs applications modernisées, en approvisionnant de nouvelles ressources cloud selon les besoins.

Quelles sont les difficultés de la modernisation des applications ?

La modernisation des applications coûte à une entreprise en temps, en argent et en ressources. Les équipes de développement, de DevOps, de sécurité et de conformité doivent prévoir du temps à consacrer au déplacement, à l'architecture et à la sécurisation des applications modernisées. Les équipes internes peuvent avoir besoin de réorienter le trafic réseau, de démanteler des équipements physiques et de mettre en place de nouvelles mesures de sécurité. Idéalement, les efforts de modernisation des applications finissent toutefois par rendre une entreprise plus efficace à long terme.

Quels sont les avantages de la modernisation des applications ?

Les entreprises ne modernisent pas leurs applications uniquement pour se montrer « modernes » ou utiliser le cloud ; elles cherchent plutôt à bénéficier de résultats tels que :

  • Développement plus rapide : le cloud éliminant les frais généraux et l'infrastructure, les entreprises peuvent déployer de nouvelles fonctionnalités beaucoup plus rapidement.
  • Mise à disposition d'applications par le biais d'API : cette approche permet d'intégrer les applications dans d'autres applications afin de garantir un développement et des processus automatisés plus efficaces.
  • Évolution pour l'avenir : lorsque les organisations achètent leur propre infrastructure, elles sont limitées par la capacité qu'elles achètent. Le cloud est pratiquement illimité (bien que l'intelligence artificielle teste la capacité des datacenters préexistants).
  • Amélioration des performances des applications : pour qu'une application cloud soit accessible depuis différents emplacements sans ralentir le trafic réseau, elle doit être exécutée dans un datacenter localisé (un phénomène connu sous le nom de « hairpinning (effet trombone) »).
  • Pérennisation : la flexibilité qu'offrent les stratégies de modernisation des applications permet aux entreprises de tirer parti de technologies et de synergies accrues à mesure que leurs besoins évoluent.
  • Réduction de la dette technique : les langages obsolètes, les mises en œuvre poussives et les équipements physiques défaillants peuvent être remplacés au cours du processus de modernisation.
  • Amélioration de la sécurité : la migration des applications vers le cloud élimine un certain nombre des difficultés de sécurité associées aux applications monolithiques sur site, bien que le cloud comporte ses propres problèmes de sécurité.

Cloudflare aide les organisations à profiter pleinement de ces avantages. Le cloud de connectivité de Cloudflare consolide en une seule plateforme l'accès au réseau, la sécurité, les informations sur les menaces, et d'autres services fournis par plusieurs fournisseurs, et les services pour développeurs de Cloudflare fournissent les outils nécessaires à la modernisation des applications. Découvrez comment Cloudflare dynamise les efforts de modernisation des applications.