Migrer une application critique pour le fonctionnement au quotidien d’une entreprise peut s’avérer être un projet périlleux, bien qu’indispensable. Beaucoup d’entreprises qui songent à basculer leurs infrastructures vers le Cloud public se contentent de porter l’existant chez un acteur du Cloud. C’est pourtant l’occasion unique de changer de paradigme et d’adopter une organisation réellement agile.

Il n’existe pas de recette miracle pour migrer une application complexe. Chaque projet mène à ses propres solutions, car tout dépend du contexte business de l’entreprise, de sa maturité vis-à-vis du Cloud et de la criticité des applications. Dans certains cas, l’entreprise peut préférer un simple « lift-and shift » de son application, une simple translation de l’existant vers le Cloud. Cette approche offre l’avantage d’aller vite, permet de migrer un large parc applicatif en quelques mois. Toutefois, elle ne permet pas réellement de tirer profit des capacités du Cloud alors qu’elle peut parfois être aussi coûteuse en exploitation.

Plus qu’une migration, une modernisation

Le but d’une migration Cloud doit être de moderniser en profondeur le système d’information. Il ne s’agit pas seulement d’un simple sujet technique et d’un renouvellement d’infrastructure IT. Il s’agit avant tout d’un projet de transformation.

L’unité de base de la migration, c’est l’application. Or, moderniser une application métier implique d’en comprendre le fonctionnement intrinsèque, d’analyser son architecture et son code source. Ce travail est indispensable si on souhaite ensuite tirer pleinement profit du Cloud, notamment mettre en œuvre les services managés de type conteneurs, fonctions Serverless, changer de type de bases de données ou encore accéder à des services plus innovants par exemple autour de l’AI/ML qui sont mis à disposition par le fournisseur Cloud. Ainsi, on va pouvoir accroître de manière significative la résilience de l’application, ses performances et réduire ses coûts d’exploitation. C’est un véritable changement de posture qui n’est possible que si cet effort de modernisation est fait. Contrairement aux grands programmes de modernisation des applications COBOL qui ont échoué par le passé, ces modernisations Cloud disposent à la fois d’outils mais surtout de méthodologies éprouvées qui permettent de réduire le niveau de risque inhérent à tout grand projet de transformation.

Une méthode de modernisation désormais éprouvée

Le projet débute logiquement par une phase d’audit. L’analyse détaillée de l’application permet de comprendre son fonctionnement métier, son architecture, son comportement et ses problèmes récurrents. Cette phase peut demander jusqu’à quelques mois lorsqu’il s’agit d’une application critique de grande ampleur, mais c’est un préalable indispensable à la modernisation. Lors de cette phase, l’équipe de migration juge le niveau de maturité de l’entreprise vis-à-vis du Cloud.

Certaines DSI sont déjà très aguerries aux méthodes d’exploitation du Cloud, d’autres beaucoup moins. Un plan d’action est alors élaboré pour former le personnel et mettre en place les outils et les process d’exploitation qui lui permettront de gérer l’application modernisée à l’issue du projet. Par ailleurs, le plan de montée en compétences du personnel est établi profil par profil et peut être lancé en parallèle des travaux de modernisation eux-mêmes.

A l’issue de cette première phase, l’équipe projet va pouvoir présenter aux équipes dirigeantes les différents scénarios possibles, avec celui d’une application 100% modernisée, ou des scénarios alternatifs moins ambitieux mais plus rapides à mener.

Dès que le « GO » de la direction est donné sur un scénario, la validation de l’architecture cible est lancée. Les derniers ajustements sont réalisés avant le lancement des développements. La « landing zone », c’est-à-dire l’espace d’accueil de l’application sur le Cloud est préparée ou améliorée, équipée des outils d’observabilité et de cyberprotection. L’idée est de tendre vers une sécurité « by design » avec une protection non plus seulement périmétrique, mais en profondeur de chacun des composants de l’application et une sécurité assurée tout au long de la chaîne de production du code.

Une modernisation d’application va de pair avec une modernisation profonde des processus d’exploitation pour aller concrètement vers du DevSecOps, c’est-à-dire l’introduction de l’agilité dans les processus de développement des applications, mais aussi d’exploitation et de sécurisation des infrastructures. C’est une véritable usine de production logicielle qui est mise en place à l’occasion de cette modernisation et c’est ce qui va ensuite apporter l’agilité à l’entreprise et faire de son application un véritable atout concurrentiel pour le business.

Pour un transfert fluide et sans impact business, tout doit être testé et simulé à de multiples reprises avant de basculer définitivement sur la nouvelle application. Les plans de bascule peuvent être parfois extrêmement complexes et un fonctionnement en « double run» peut être nécessaire, en particulier pour les migrations sans interruption de service. L’application historique continuera à fonctionner en parallèle avec les premières briques modernisées afin de ne pas entraver son activité tout en bénéficiant des nouveaux développements. C’est aussi un moyen d’éviter l’effet tunnel avec des mois d’attente pour les utilisateurs avant que l’équipe de migration ne puisse leur livrer de nouvelles fonctionnalités.

Replacer l’innovation au cœur de l’activité de la DSI

Les méthodologies de modernisation et le concept d’usine logicielle sont aujourd’hui bien maîtrisés et les équipes ont déjà mené de multiples projets de migration. Le risque lié à ces grands projets est désormais bien maîtrisé et les plateformes Cloud capables de porter les applications les plus critiques. De même, l’approche FinOps permet de maîtriser les coûts d’exploitation des applications Cloud et d’éviter toute mauvaise surprise après la migration.

Migrer sur le Cloud est souvent synonyme de traitement de la dette technique, d’une volonté de faire des économies d’infrastructures et aussi d’orienter davantage les ressources vers des projets à forte valeur ajoutée. Le Cloud est aussi un moyen de hausser le niveau de sécurité et de résilience des applications. Mais l’argument qui doit motiver une migration Cloud est surtout la capacité à moderniser et évoluer beaucoup plus rapidement grâce aux cycles courts. Le but à atteindre est non pas d’exploiter un service Cloud par rapport à un autre, mais d’améliorer le « Time to Market » des applications digitales. Il s’agit en définitive de ce qu’il y a de plus important pour une entreprise : innover.
____________________________

Par Tristan Miche, Architecte Cloud Devops chez Ippon Technologies

À lire également :

Pourquoi une démarche DevOps est-elle importante ? 

L’architecture d’entreprise, pierre angulaire de la migration cloud SAP

Cloud public : une migration indispensable pour les prestataires de services…

Les quatre étapes clés d’une migration réussie vers le cloud

La migration vers le cloud : retarder pour mieux sauter !