Que désigne la modernisation ?
La modernisation consiste à mettre à jour les processus, systèmes et outils d’une organisation vers les versions ou recommandations les plus récentes. Dans le contexte du cloud computing, la modernisation est le processus de transition des applications, des processus et de la gestion des données d’une organisation vers une approche basée sur le cloud. L’objectif est d’optimiser les performances de l’organisation et des technologies, d’améliorer qualitativement l’expérience des clients et des employés, et d’accélérer le délai de commercialisation des nouvelles offres et mises à jour.
Qu’est-ce que la modernisation des applications ?
La modernisation des applications est le processus de mise à jour des applications existantes d’une organisation vers un modèle axé sur le cloud. Elle est aussi parfois appelée modernisation des systèmes existants. Si une organisation utilise des applications locales, la modernisation peut impliquer la migration de ces applications vers un cloud public, privé ou hybride. Les applications et données suivantes font fréquemment l’objet d’une modernisation :
- applications .NET ;
- applications web Linux ;
- applications Java ;
- applications SAP ;
- bases de données SQL.
Si les systèmes et programmes logiciels actuels d’une organisation étaient parfaitement adaptés lors de leur implémentation initiale, ils n’évoluent pas nécessairement au même rythme que les technologies récentes (ou futures). Une approche possible pour relever ce défi consiste à recommencer de zéro, en créant ou en achetant de nouvelles applications compatibles avec la pile technologique la plus récente disponible. (Bien que la pile la plus récente soit en constante évolution, certains des pilotes de modernisation les plus récents intègrent les dernières recommandations en matière de sécurité, exigences d’extensibilité et avancées relatives à l’IA, la virtualisation, l’IoT et les conteneurs.) Potentiellement coûteuse et fastidieuse, cette approche n’offre pas nécessairement une solution satisfaisante au problème d’origine, car même l’application la plus récente peut être dépassée par son écosystème technologique.
Plutôt que de commencer de zéro en créant des applications entièrement nouvelles, les organisations peuvent moderniser leurs applications existantes. Il est important de noter qu’il est souvent possible (et plus pratique) d’aborder la modernisation des applications par étapes. Ainsi, de nombreuses organisations commencent par simplement déplacer leurs applications de leurs centres de données locaux vers le cloud dans le cadre d’une migration "lift-and-shift", afin de tirer immédiatement parti des avantages de base du cloud computing. Elles peuvent ensuite passer à des techniques de modernisation plus avancées, telles que la réécriture de l’ensemble ou d’une partie de leurs applications dans le but d’adopter des fonctionnalités ou recommandations plus récentes.
Quels avantages présente la modernisation des applications ?
- Accélération de l’innovation et de la commercialisation. Lorsque les organisations n’ont pas besoin de mobiliser autant de temps et de ressources pour gérer les applications et l’infrastructure, elles ont davantage de temps pour innover. En simplifiant le processus de développement, les outils et services basés sur le cloud contribuent à accélérer la commercialisation des applications.
- Sécurité et fiabilité. Avec une approche basée sur le cloud, les organisations peuvent utiliser des fonctionnalités de mise à jour et de sécurité intégrées pour protéger leurs charges de travail. D’autres fonctionnalités intégrées peuvent inclure l’automatisation des tâches pour des facteurs importants tels que la haute disponibilité, la récupération d’urgence, les sauvegardes et la surveillance des performances.
- Compatibilité et agilité. Les applications modernisées peuvent fonctionner avec les technologies les plus récentes, et rester compatibles même lorsque celles-ci évoluent. Ce niveau étroit d’intégration permet d’incorporer des mises à jour et modifications rapides pour répondre aux besoins actuels et futurs de l’entreprise. Il permet également d’opérer une mise à l’échelle automatique afin que les applications continuent de fonctionner correctement en cas d’augmentation soudaine de la demande, et de réduire instantanément les coûts lorsque celle-ci baisse subitement.
- Efficacité. Lorsque le processus est judicieusement organisé, il peut être plus facile de moderniser des applications existantes que d’en créer de nouvelles de zéro. De cette façon, les organisations peuvent développer des investissements existants plutôt que d’engloutir du temps et de l’argent dans quelque chose de nouveau. La modernisation des applications permet également de conserver de nombreux processus actuels et de maintenir la continuité de l’activité plutôt que d’incorporer des applications entièrement nouvelles à des opérations existantes.
Étapes et stratégies de modernisation des applications
Piliers de la modernisation
Les étapes et stratégies pour une modernisation réussie des applications doivent œuvrer à la prise en charge d’une structure d’objectifs organisationnels. Ainsi, les cinq piliers architecturaux orientés vers des objectifs organisationnels d’ Azure Well-Architected Framework peuvent également être utilisés pour moderniser les applications :
- Fiabilité : capacité d’un système à opérer une récupération suite à une défaillance et de continue à fonctionner.
- Sécurité : protection des applications et données contre les menaces.
- Optimisation des coûts : gestion des coûts pour optimiser la valeur délivrée.
- Excellence opérationnelle : processus opérationnels assurant l’exécution d’un système en production.
- Efficacité des performances : capacité d’un système à s’adapter aux variations de la charge.
Étapes de modernisation des applications
Le processus de modernisation des applications d’une organisation se décompose généralement en trois étapes.
- Planification. Pour cette première étape, il est nécessaire que les organisations réfléchissent soigneusement à leurs objectifs de modernisation des applications et définissent leur stratégie avant d’entreprendre des actions. C’est le moment de découvrir et d’évaluer les applications et environnements existants en préparation du changement.
- Implémentation. Au cours de cette étape, les organisations créent de nouvelles compétences et commencent à moderniser leurs applications de manière itérative. Ce type d’approche donne aux organisations la possibilité de modifier l’étendue ou la stratégie de leur projet en fonction des besoins.
- Opérations. La modernisation des applications ne se résume pas à une intervention ponctuelle. Une fois que les organisations passent à une approche basée sur le cloud, elles peuvent utiliser les services et outils de plateforme cloud pour sécuriser, gouverner, gérer et optimiser leurs applications.
Stratégie de modernisation des applications
Ces stratégies se distinguent par les objectifs de modernisation d’une organisation et par la nécessité de modifier le code des applications elles-mêmes. Une stratégie de modernisation des applications est définie pendant l’étape de planification et mise en œuvre pendant l’étape d’implémentation.
Modernisation du processus de développement des applications
Outre la modernisation des applications elles-mêmes, un aspect critique de la stratégie à long terme d’une organisation doit être la modernisation de son approche de développement des applications (ou vélocité développeur). Cela passe par la modernisation des outils et processus utilisés par les équipes de développement dans une optique de maximisation de la productivité, de la collaboration et de la qualité du travail. Des outils, des études d’analyste et d’autres ressources sont disponibles pour aider les organisations à évaluer et améliorer leur vélocité développeur.
Outils et services
Les organisations qui cherchent à moderniser leurs applications peuvent recourir à des outils variés. Pour optimiser leur ressources informatiques, elles peuvent notamment s’appuyer sur les technologies suivantes :
Cloud computing
Les services cloud basés sur Internet peuvent améliorer les performances, l’efficacité et l’échelle des applications.
Conteneurs
Ces packages de logiciels regroupent le code des applications, ce qui facilite leur déploiement dans divers environnements.
Microservices
Cette approche architecturale étend l’agilité du développement d’applications en permettant à chaque fonction principale (ou service) d’être développée indépendamment.
Automatisation
Les services tiers qui effectuent automatiquement des tâches courantes peuvent optimiser le déploiement, la gestion et le diagnostic des applications.
IA et Machine Learning
Les services et solutions intelligentes aident les entreprises à analyser des informations riches issues de leurs applications et données.
Services de modernisation des applications
Ces services complètement managés aident les entreprises à accélérer le développement des applications, améliorer l’expérience des clients et employés, et renforcer la sécurité et la fiabilité des applications.
-
Azure Cosmos DB
Modernisez des applications évolutives et performantes grâce à un service de base de données NoSQL complètement managé.
-
Azure Monitor
Bénéficiez d’une observabilité totale des applications, de l’infrastructure et du réseau.
-
Azure Virtual Desktop
Permettez une expérience de bureau à distance sécurisée depuis pratiquement partout.
-
Gestion des API Azure
Progressez plus rapidement grâce à la gestion unifiée des API dans l’ensemble des environnements multicloud et hybrides.
-
Azure DevOps
Effectuez une planification plus efficace, collaborez mieux et distribuez vos applications plus rapidement qu’avant grâce à un ensemble de services de développement modernes.
-
Azure Spring Apps
Créez et déployez des applications Spring Boot à l’aide d’un service complètement managé de Microsoft et VMware.
-
Azure App Service
Créez rapidement et facilement des applications web et mobiles intelligentes adaptées à l’ensemble des appareils et plateformes.
-
Azure Kubernetes Services (AKS)
Déployez et mettez à l’échelle des conteneurs sur des services Kubernetes managés.
-
Azure SQL Database
Créez des applications évolutives grâce à une base de données SQL managée et intelligente dans le cloud.
-
Azure Web Application Firewall
Protégez les applications à l’aide d’un puissant service de pare-feu d’application web natif du cloud.
-
Azure Arc
Sécurisez, développez et gérez votre infrastructure, vos applications et vos services Azure en tout lieu.
-
Azure SQL Managed Instance
Modernisez les applications existantes à grande échelle grâce à des compétences, des ressources et des outils familiers.
Outils de modernisation des applications
Si la modernisation des systèmes informatiques existants peut de prime abord susciter de l’appréhension, les organisations qui souhaitent actualiser leurs investissements technologiques ne sont pas tenues d’agir seules. Les fournisseurs de services cloud proposent de nombreux outils d’évaluation, méthodologies et programmes conçus pour aider les entreprises à mettre à jour leurs systèmes.
Pour aider les entreprises à initier une modernisation à leur rythme, Microsoft Azure offre par exemple les ressources suivantes :
Livre électronique sur la modernisation des applications et données avec Microsoft Azure
Vue d’ensemble de la migration et éclairages, stratégies et conseils sur la modernisation pour commencer.
Azure Migrate
Centre d’informations sur les outils de migration Azure pour la plupart des scénarios de modernisation.
Programme de modernisation et de migration Azure
Assistance d’experts, formations techniques et ressources utilisables par les entreprises pour configurer en toute confiance leur environnement cloud.
Microsoft Cloud Adoption Framework pour Azure
Ensemble éprouvé de documents, directives, recommandations et outils conçus pour accélérer l’adoption du cloud.
Outils de migration d’Azure App Service
Outils gratuits et intuitifs pour aider les entreprises à évaluer rapidement leurs applications web et les migrer vers Azure.
Documentation sur la conteneurisation des applications ASP.NET et la migration vers Azure App Service
Directives détaillées sur la conteneurisation et la migration des applications ASP.NET vers Azure à l’aide de l’outil de conteneurisation d’applications Azure Migrate.
Outil stratégique de préparation et d’évaluation pour la migration (SMART)
Outil d’évaluation qui aide les entreprises à mesurer le niveau de préparation dans la perspective de la migration de leurs applications vers Azure.
Outil de préparation à la modernisation des applications et données
Outil d’évaluation permettant aux entreprises d’évaluer leurs stratégies commerciales en lien avec la modernisation de leurs applications et données.
Forum aux questions
-
En modernisant leurs applications, les organisations opèrent une transition vers un modèle basé d’abord sur le cloud. Ce processus peut inclure une migration si elles utilisent des applications locales.
-
La "modernisation des systèmes existants" est une autre façon de désigner la "modernisation des applications." Tant les anciennes applications que les nouvelles peuvent être modernisées à l’aide de technologies cloud pour atteindre un niveau accru d’agilité, de stabilité et d’innovation.
-
La modernisation des applications offre des avantages variés pour les applications elles-mêmes, mais aussi pour les organisations qui l’entreprennent : efficacité renforcée, compatibilité avec les technologies cloud, sécurité renforcée, disponibilité accrue ou encore commercialisation accélérée.
-
La modernisation des applications comporte trois étapes centrales : planification, implémentation et opérations. La planification a trait à la définition d’une stratégie de modernisation. L’implémentation implique le renforcement des compétences et la modernisation des applications. Les opérations recouvrent la gouvernance, la gestion et l’optimisation en continu.
-
Les stratégies de modernisation des applications doivent être conçues pour prendre en charge les objectifs de modernisation d’une organisation. L’infrastructure Azure Well-Architected Framework expose cinq piliers permettant d’atteindre ces objectifs : fiabilité, sécurité, optimisation des coûts, excellence opérationnelle et efficacité des performances.
Il existe six grandes stratégies de modernisation, caractérisée chacune par le niveau de modification qu’une organisation souhaite apporter au code de ses applications. Le réhébergement (rehosting) déplace l’application telle quelle d’un ancien environnement vers un plus récent. La plateformisation (replatforming) implique quelques changements du code pour connecter les applications au cloud. De même, le remaniement (refactoring) appelle aussi certaines modifications du code pour que les applications tirent pleinement parti d’un environnement axé d’abord sur le cloud. La refonte (rearchitecting) implique l’apport de modifications considérables aux applications dans une optique d’extensibilité dans le cloud. La réécriture (rebuilding) nécessite de recréer des applications à l’aide de solutions natives du cloud. Le remplacement (replacing) troque les applications d’une organisation par d’autres complètement différentes afin de satisfaire les besoins actuels de l’entreprise.
-
Un vaste éventail d’outils et de services de modernisation d’applications sont disponibles en fonction des besoins de chaque organisation. Par exemple, si une organisation souhaite optimiser ses coûts, opérer en toute confiance et livrer des fonctionnalités plus rapidement en migrant ses applications et données vers le cloud, le choix d’un service entièrement géré tel qu’Azure App Service pourrait être judicieux.