Migrer vers le cloud, c'est (beaucoup) plus que migrer des VM
Relocaliser ses applications dans le cloud amène à se poser plus de questions que le simple fait de bouger des VM. Automatisation des déploiements, Infrastructure as a Code, dépendance à la plateforme sous-jacente, CI/CD, etc. sont autant de problématiques clefs que Gilles Knoery (Digora) et Paul Bramy, Enterprise Cloud Architect (Relocalabs), abordent dans cet article.
De plus en plus d’entreprises considèrent l'utilisation du cloud pour l'implémentation de leurs applications d'entreprise du type ERP, CRM, etc. Cette évolution est souvent motivée par des aspects économiques, structurels ou technologiques (évolution des « data-centers », architectures matérielles obsolètes, réseau à repenser, compétences internes décalées… ) et / ou déclenchée par une montée de version applicative, l'intégration de nouveaux modules ou un plan de reprise à conforter.
Cette démarche implique une refonte des socles d'implémentation des applications, la mise en place d'une nouvelle gouvernance et elle demande l'introduction de nouveaux processus d'automatisation, de supervision et d'administration afin de tirer profit de ce nouvel environnement qu'est le cloud.
L'idée directrice n'est donc pas de déplacer une ou des « VMs » dans un cloud unique. L'enjeu est de « relocaliser » à la demande et à l'endroit approprié, l'architecture applicative de référence escomptée, de préparer l’évolution des environnements et l'intégration de nouvelles technologies à court, moyen et long terme.
Dans le même temps, l'accélération de la maturité des entreprises et l'expansion de l'offre cloud amènent aujourd'hui les DSI à considérer « l'hybridation » et le « multi-cloud » comme les piliers de cette transformation. En effet, les entreprises doivent se préparer au « poly-cloud », en fonction de critères aussi variés que la disponibilité d'une offre « frontoffice » ou « backoffice » chez tel ou tel CSP (Cloud Service Provider), de données devant être localisées dans l’Union Européenne, de pics de charge mieux assurés par un CSP ayant des ressources peu chères sur la plaque asiatique...
La « relocalisation dynamique » est rendue accessible, de la PME à la grande entreprise, par la manipulation des composants d'infrastructure comme de simples éléments logiciels (Infrastructure as Code, IAC) permettant de passer de la gestion de « data-centers » départementaux à un modèle déclaratif et standardisé de ressources décentralisées. Le challenge réside donc dans l'élaboration d'une orchestration complète couvrant l'infrastructure et l'application comme un seul ensemble.
Ce type de projet commence par une phase d'ingénierie comportant :
- Une décomposition de l'application en entités logicielles atomiques (base de données, serveur d'application et de batch, pare-feux...).
- L'intégration de modules déclaratif d'infrastructure (disques, serveurs, réseau, image OS, ...).
- La création de flux automatisés et dynamiques de reconfiguration.
Automatisation et Infrastructure As Code (IaC), piliers de la « relocalisation » des applications dans le cloud
L'IaC est l'élément clé dans cette transformation. Le challenge réside donc dans la mise en place de solides fondations afin que tout déploiement soit pensé « Production Ready », comme :
- La simplification de l'opérationnel : une fois la phase d’ingénierie de l'architecture de référence exécutée, l'opérationnel se voit simplifié pour toutes les phases de développement, de tests, de Q/A, de pré-production, l'intégration dans le processus CI/CD de l'entreprise accéléré et la mise en production sécurisée.
- L'augmentation de la qualité des déploiements : la garantie d'obtenir le résultat désiré quel que soit le nombre de déploiements effectués est crucial pour tous les équipes de l'entreprise, des études aux équipes opérationnelles d'infrastructure sans oublier les développeurs.
- L'amélioration de la gestion du cycle de vie des implémentations : la description du déploiement plutôt que de la construction est un élément fédérateur et simplificateur dans les échanges pluri-disciplinaires et collaboratifs entre tous les acteurs (de l'infrastructure à l'application) tout au long du cycle de vie de l'application.
- La consolidation de l'administration des d’environnements : en associant la reproductibilité, l'approche modulaire et la variabilisation, l'entreprise s'offre la possibilité d'administrer à la demande des environnements répondants aux besoins des projets au moment et pour la période escomptée.
- L'accroissement de la bonne gouvernance des déploiements : l'équipe d'infrastructure est replacée au centre d'une gouvernance partagée, par sa capacité à déployer une nouvelle version ou environnement respectant la chaine incluant l'infrastructure et l'application.
- Le développement de la « réversibilité » et de l'adaptabilité des architectures de référence : dès la phase d'ingénierie, les déploiements reposent sur des modules réutilisables, adaptables et compréhensibles en vue de l'évolution vers un modèle multi-cloud et d'adaptation aux changements des applications.
Construire ces bonnes fondations avec le bon outil
Le choix d'un outil est toujours sujet à caution, mais dans ce nouveau contexte une solution est rapidement sortie du lot, Terraform de la société Hashicorp. Il y a quatre années le nombre, la diversité des plugins et les CSP supportés n'étaient pas arrivés au niveau actuel (aujourd'hui plus de 100 plugins disponibles et tous les leaders du cloud sont accessibles), mais les orientations annoncées comme son « plugin-based architecture », son ADN « multi-cloud », la robustesse de son orchestrateur et la flexibilité de son langage déclaratif ont été des critères déterminants. L'évolution constante de ses possibilités et l'attraction de cet outil sur le marché du cloud ont confirmé le choix initial.
A ce jour, l'intégration d'un outil comme Terraform dans les processus de transformation et d'automatisation des déploiements des applications d'entreprise, permet d'optimiser les stratégies d'utilisation d'environnements de développement, les tests et le Q/A. Mais aussi de concevoir rapidement des implémentations de production robustes, d'accélérer l'intégration de nouvelles solutions, l'adaptation de nouvelles technologies et d'étendre le spectre initial pour la mise en place de PRA, de réplication « inter-région », etc. Le tout en garantissant l'évolution irrémédiable des services applicatifs et de leur infrastructure cloud associée, à « l'hybridation » et au « multi-cloud ».
Les auteurs : Paul Bramy et Gilles Knoery
Paul Bramy « Enterprise Cloud Architect et entrepreneur » est le créateur de Relocalabs, jeune société spécialisée dans le déploiement d’applications dans le cloud.
Gilles Knoery est fondateur et Directeur Général de Digora, entreprise de service du numérique française spécialiste des services managés dans le cloud.