Cinq facteurs sont essentiels à la réussite de la migration :
- Gérer le projet de migration comme un projet stratégique de l’entreprise
Un programme de migration à grande échelle mobilisera un volume important de ressources de l’organisation et aura un impact sur la capacité à gérer en parallèle de nouveaux projets ou des évolutions fonctionnelles demandées par les entreprises. Afin de garantir la capacité de mobilisation, le programme de migration doit être un programme stratégique pour l’entreprise dans son ensemble, avec des objectifs alignés sur les défis stratégiques de l’entreprise (par exemple, réduction du temps de mise sur le marché, numérisation des services aux clients, optimisation des coûts, capacité d’innovation, capacité à aborder des marchés dans d’autres zones géographiques, etc.
Par conséquent, il doit être porté au plus haut niveau de l’entreprise (direction générale) afin de garantir les ressources allouées au programme dans la durée et l’alignement des différentes parties prenantes : direction commerciale, direction informatique, direction de la communication, direction financière, direction des ressources humaines, direction de l’innovation, etc. La structure de gouvernance à mettre en place est une structure de gouvernance d’un programme stratégique d’entreprise.
- Considérer le facteur humain comme critique pour le succès du programme
Le succès d’un programme de migration est lié à la capacité de l’entreprise à mobiliser des ressources avec un niveau d’investissement élevé sur une période raisonnablement longue. Cela nécessite :
- Le partage des objectifs de cette transformation et des perspectives au niveau de chaque équipe et/ou de chaque collaborateur.
- Un plan de progression des compétences ajusté en fonction du positionnement visé du personnel impliqué et de son rôle dans le programme, qui combine l’apprentissage formel, social et expérientiel
- Le partage d’expérience à tous les niveaux par le biais de communautés, d’activités pratiques et de journées de jeu.
- La mise en œuvre d’un plan de rétention des ressources clés qui permet notamment d’anticiper la demande des équipes (valeur des compétences en nuage sur le marché)
- Communication impliquant toutes les parties prenantes – Célébration des étapes clés en équipe
Il est recommandé d’utiliser des démarches d’intelligence collective afin de faciliter l’alignement continu, de prendre en compte les difficultés rencontrées et d’apporter des solutions collectives, de répondre aux questions sur les objectifs, la méthode et les moyens, et d’adapter les plans d’accompagnement en fonction des signaux faibles qui se sont manifestés.
- Disposer de fondations stables et prêtes au bon moment
Afin de réaliser la migration des applications, il est essentiel que les fondations suivantes soient prêtes pour les premières applications pilotes lors de la phase Mobilise :
- Une zone d’atterrissage suffisamment industrielle pour répondre aux besoins des applications, où l’autonomie est accordée aux opérations applicatives tout en contrôlant l’utilisation des services AWS : une stratégie de gestion du cloud claire et industrialisée au sein d’une organisation structurée qui permet de contrôler les usages par des politiques, une gestion du réseau qui permet de masquer la complexité aux usines.
- Services de sécurité : chiffrement, traçabilité, protection des accès internet entrants et sortants, capacité à autoriser les flux inter-applicatifs, gestion des rôles permettant de réaliser les tâches nécessaires au déploiement et à l’administration des applications, etc.
- Services d’infrastructure et d’exploitation partagés : DNS, AD, transferts de fichiers, gestion des logs système et applicatifs, observabilité, sauvegarde
- Une chaîne CI/CD robuste et sécurisée qui permet de déployer les services AWS et les composants applicatifs de manière sécurisée.
- Automatiser à tous les niveaux
L’identification du périmètre de la migration est l’une des premières tâches à réaliser dans le cadre d’un projet de migration. Le travail d’analyse du portefeuille et des caractéristiques des applications (différents environnements, flux, composants, etc.) doit être automatisé au maximum afin de suivre le projet de bout en bout, jusqu’à la phase de décommissionnement des composants on-premise.
Le déploiement d’applications à l’échelle nécessite une zone d’atterrissage (création de comptes AWS, VPC et sous-réseaux, flux réseau intra-AWS avec le on-premise et Internet, endpoints d’accès aux services AWS, gestion DNS, gestion AMI, volume EBS, partage EFS, etc.) et des services de sécurité (rôles IAM, logging, tunnels WAF, gestion des certificats, chiffrement des données) consommables à l’échelle pour le déploiement d’une application. La création des ressources nécessaires au déploiement d’une application dans la zone d’atterrissage doit être déléguée aux équipes Devops qui migrent une application, mais ne doit pas dépendre de la disponibilité des ressources CCOE.
La migration des applications implique souvent l’adoption de données sur site. Les délais d’exportation, de transfert et de chargement des données vers AWS sont souvent inacceptables en raison des temps d’arrêt qu’ils impliquent. Fournir des mécanismes de synchronisation des données entre on-premise et AWS, et les rendre directement activables par les équipes DevOps permet d’accélérer les migrations et de limiter les temps d’arrêt des services.
Gérer un projet de migration, c’est souvent gérer 100 à 300 migrations en parallèle, qui sont autant de projets avec des équipes potentiellement différentes. L’industrialisation de la gestion des programmes/projets est nécessaire avec de tels volumes : les plannings détaillés des projets de migration doivent être agrégés pour avoir une vision consolidée de type management, utile à la prise de décision. Des KPIs doivent permettre d’alerter sur les projets qui prennent du retard ou qui restent trop longtemps dans une phase.
La combinaison d’un outil de gestion de projet/programme agile (tel que JIRA) et d’un produit de BI peut permettre la centralisation des informations et la mise en production automatisée des KPI.
Les responsables de la migration doivent retrouver automatiquement leur « tableau de bord du projet » et passer le plus clair de leur temps à identifier les risques majeurs et les dépendances qui peuvent avoir un impact sur l’avancement optimal du projet.
- Gérer à l’échelle
Concrètement, quelques centaines de migrations devront être gérées sur une période d’un an ou de 18 mois avec des contraintes de planning fortes car cela garantit souvent le business case (un datacenter est libéré en fin de contrat, avec des extensions généralement à des prix dissuasifs par un fournisseur qui perd au moins une partie significative de son chiffre d’affaires d’hébergement). Derrière un portefeuille de plusieurs centaines d’applications, il y a, au minimum, un pool de plusieurs dizaines de chefs de projets opérationnels. Derrière ces applications, il y a aussi des milliers de ressources techniques dont il faudra surveiller le démantèlement, voire la reprise par un ou plusieurs brokers.
Pour assurer ce type de gestion, il est important de disposer d’un mécanisme de délégation efficace. Si une vision globale et précise de l’avancement du programme doit être présentée au comité stratégique, il est important de garantir la fiabilité des informations, qu’il s’agisse d’informations budgétaires ou de planification. Pour mettre en œuvre les mesures appropriées (techniques, ressources, planning, dépendances, etc.), il est également essentiel de disposer de circuits d’escalade courts qui permettront de traiter au plus vite les risques ou les déviations dès qu’ils sont diagnostiqués.
Si les méthodes agiles à l’échelle sont déjà pratiquées par les équipes, ces approches sont capitalisées. Si ce n’est pas le cas, elles ne peuvent pas être mises en œuvre dans un laps de temps aussi court. A la place, des approches de type LEAN Management (les principes du Lean management visent à créer un flux de travail stable basé sur la demande réelle du client) seront privilégiées, comme Obeya, qui facilite la prise de décision pour atteindre les objectifs.