Avant même de sélectionner la bonne stratégie Cloud, il vous faut d’abord comprendre les raisons qui vous poussent à aller sur le Cloud. Cette compréhension implique d’analyser vos besoins, pour ce faire, tout au long de cet article, je vous présenterai les différentes approches Cloud et vous donnerai mes conseils pour réussir votre migration.

 

 

Pourquoi aller sur le Cloud ?

Avant de choisir une stratégie Cloud et une méthodologie de migration, nous devons comprendre et analyser les besoins qui nous poussent à aller vers le Cloud.

 

Prenons quelques exemples :

  • Les infrastructures On-Premise doivent être renouvelées : il faut donc choisir entre des investissements lourds à amortir sur les cinq prochaines années ou passer dans le Cloud et avoir des investissements variables par mois.
  • Le SI doit offrir plus de puissance de manière occasionnelle : le Cloud peut me permettre d’absorber les pics de sollicitations.
  • Les équipes IT souhaitent se tourner vers le DevOps et améliorer leur agilité : le Cloud avec ses outils de “continuous delivery” peuvent les aider.

 

En effet, le Cloud n’est pas une réponse en soi, il doit nous permettre d’améliorer une équation complexe mêlant les coûts, les ressources humaines, la scalabilité, … et d’autres critères techniques ou politiques qui constituent la stratégie IT de l’entreprise.

Ainsi, lors de la définition de votre stratégie IT, nous devons répondre aux questions :

  • Quelle stratégie Cloud adopter ?
  • Quelle méthodologie de migration applicative utiliser ?

 

Cloud Mogration Rapid Value

 

 

La transition vers le Cloud

Dans leurs transitions vers le Cloud, les DSI se demandent souvent quelle est la bonne approche pour limiter leurs dépendances, surtout vis-à-vis des grands Cloud Providers comme ceux de AWS , Azure Microsoft et Google Cloud.

Les échanges que j’ai pu avoir avec plusieurs DSI dans des contextes très variés comme les banques, le retail ou l’industrie, m’ont permis de constater quatre grandes approches du Cloud :

  • une stratégie Single Cloud,
  • une stratégie Multi Cloud,
  • une stratégie Cloud Agnostique,
  • une Stratégie Cloud Opportuniste.

Découvrons ensemble chacune de ces approches.

 

La stratégie Single Cloud

La stratégie Single Cloud désigne le fait de n’utiliser qu’un seul fournisseur de Cloud.

Dans ce cadre, les équipes Dev et Ops peuvent utiliser à 100% les services du Cloud provider ainsi que les outils et les langages.

Cette stratégie semble être facile au premier abord, elle limite les impacts sur la montée en compétences des équipes. Les équipes DevOps peuvent alors complètement utiliser la puissance du Cloud et notamment des services PaaS pour leurs développements. Ces services fournissent nativement de la résilience et de la scalabilité, ce qui permet d’optimiser les coûts sans déployer une infrastructure très complexe.

Le Single Cloud est la stratégie qui se rapproche le plus du “NoOps” par l’utilisation massive des services Platform As A Service (PaaS).

Cette stratégie peut aussi s’accompagner d’une hybridation entre le On Premise et le Cloud pour sécuriser les accès et mieux intégrer le Cloud comme un nouveau data center.

 

La stratégie Multi Cloud

La stratégie Multi Cloud désigne le fait de pouvoir déployer, sur plusieurs fournisseurs de Cloud de même type, la même application.

Cette stratégie offre une grande souplesse pour répondre aux besoins des métiers ainsi qu’une grande résilience. En revanche, elle implique des compétences techniques sur plusieurs Cloud providers et impose aux développeurs de fortes contraintes. L’un des plus gros challenge de cette approche est notamment de maintenir le même type d’infrastructure sur les Cloud.

Nous pouvons d’ailleurs retrouver cette stratégie complexe au sein du secteur bancaire. En effet, les banques ont, pour la majorité d’entre elles, des contraintes imposées par le régulateur, notamment pour garantir l’indépendance et la résilience.

Plus encore que pour la stratégie Single Cloud, l’hybridation des Cloud et du On Premise est nécessaire pour faciliter et sécuriser les échanges.

 

La stratégie Cloud Agnostique

La stratégie Cloud Agnostique est à mi-chemin entre la stratégie Single Cloud et Multi Cloud. Dans les faits, cette stratégie simplifie la montée en compétences des équipes d’infrastructures mais elle impose des contraintes très strictes sur les outils et sur les développements.

Ainsi, on privilégiera ici des outils comme les Containers et Kubernetes pour la partie compute. L’hébergement de la data pose aussi un réel problème, c’est pourquoi je recommande d’utiliser des bases PaaS tout en utilisant des protocoles ouverts (par exemple : Azure CosmosDB avec un protocole MongoDB).

La montée en compétence ne se porte pas vers le Cloud Provider mais vers des outils standardisés et agnostiques du Cloud. Il faudra alors reporter notre attention sur des compétences Kubernetes par exemple.

L’objectif ici est de se prémunir d’une dépendance trop grande au Cloud Provider pour simplifier la réversibilité. Nous devons donc reporter notre attention sur les outils et les protocoles.

Tout comme la stratégie précédente, l’hybridation est au cœur du système car ici l’hypothèse de revenir sur le data center On Premise est une réalité.

 

La stratégie Cloud Opportuniste

La stratégie Cloud Opportuniste peut être vue comme un savant mélange des trois stratégies précédentes dont l’objectif est de tirer le meilleur profit des spécificités des Cloud. Attention, car cette approche peut vite devenir un méli-mélo désorganisé.

Dans ce contexte, ce qui prime c’est l’usage métier avant tout, on prend l’outil le plus en adéquation avec le besoin où qu’il soit. Les challenges techniques sont multiples pour garantir la cohésion du système, le niveau de compétences techniques se rapproche beaucoup de celui du multi Cloud, les contraintes sur les développeurs sont aussi celles du Single Cloud.

Avec cette approche, l’hybridation est un mal nécessaire puisque dans certains cas, la meilleure solution est On Premise.

Cette stratégie a un niveau très disparate en fonction des équipes et des outils et peut s’avérer très intéressante si on utilise beaucoup d’outils SaaS.

 

 

Quelle stratégie Cloud privilégier ?

Je ne pense pas qu’il y ait une unique et meilleure stratégie Cloud à adopter, il est effectivement important d’adapter votre stratégie au contexte technique, humain et contractuel.

Au travers des différentes missions que j’ai pu réalisé chez mes clients, je ne pense aujourd’hui pas que la stratégie Single Cloud soit la plus pérenne. Bien qu’elle permette de démarrer plus facilement votre transition vers le Cloud, je me suis rendu compte qu’elle ne répondait finalement pas aux attentes des petites équipes.

 

Pour ce qui est de la stratégie Multi Cloud, elle me semble encore trop complexe. Je ne connais d’ailleurs pas de contexte où elle soit totalement déployée (ça reste encore un vœu pieux), cela peut s’expliquer par le fait qu’elle nécessite un nombre important de ressources humaines.

 

Quant à la stratégie Cloud Opportuniste, elle reste pour moi un casse tête et résulte d’un état incontrôlé de la transition vers le Cloud.

 

Voilà finalement pourquoi je favorise la stratégie Cloud Agnostic, bien que plus complexe pour les développeurs, elle s’appuie essentiellement sur la normalisation des protocoles et des infrastructures (Kubenetes, Prometheus, Swagger, …).

 

Enfin, le constat que j’ai pu faire est que quelque soit la stratégie, l’hybridation avec le On-Premise n’est plus une question mais une obligation, tout comme la sécurisation des services Cloud en fonction des contraintes du client. Le Cloud n’a ainsi que de public son nom, car suite à ces étapes nous créons une vraie bulle de protection privée.

Face à la complexité de ces différentes approches, les stratégies Cloud imposent donc aux Directeurs des Systèmes Informatiques (DSI) une gouvernance claire du/des Cloud(s) mêlant technologies, utilisateurs et processus pour garantir la sécurité et simplifier les déploiements.

 

advisory services process

 

 

 

Que se passe-t-il après la stratégie ?

Après avoir choisi votre stratégie Cloud, il faut relever le challenge de la migration des applications.

La migration vers le Cloud est un processus qui vise à déplacer les applications et les services vers le Cloud. Là aussi, plusieurs méthodologies existent et dépendent de l’architecture de l’application, du contexte (par exemple les délais des migrations) et de la stratégie Cloud qui a été fixée. Ces méthodologies ont d’ailleurs été listées par Gartner en 2011 sous l’acronyme « 5R ».  Dans son étude, Gartner propose cinq conseils pour réussir sa migration vers le cloud, les voici :

  • Rehost (lift and shift) : cette première recommandation consiste à ré-héberger vos applications vers le cloud sans modifier son architecture. “Moving applications to the cloud as-is”.
  • Replatform : cette deuxième recommandation de migration conseille ici de déplacer vos applications vers le Cloud sans changements majeurs, tout en profitant des avantages de l’environnement Cloud. “Moving applications to the cloud without major changes, but taking advantage of benefits of the cloud environment”.
  • Refactor : cette troisième recommandation explique que la modification de vos applications vous permettra de mieux prendre en charge l’environnement Cloud vers lequel il sera migré.“Modifying applications to better support the cloud environment”.
  • Rebuild : cette quatrième recommandation conseil de réécrire votre application à partir de zéro. “Rewrite the application from scratch”.
  • Replace : enfin, cette dernière recommandation vous à invite à retirer vos applications pour les remplacer par de nouvelles applications natives du Cloud. “Retire the application and replace it with a new cloud-native application”.

 

J’ai envie, ici, de me focaliser sur les trois premières méthodologies de migrations vers le Cloud (Rehost, Refactor et Replatform) car les autres nécessitent à mon sens une volonté de changement plus fondamentalement des métiers.

Pour ce qui est de l’approche Lift and Shift (rehosting), elle est parfois utilisée comme recours à une migration forcée de data center vieillissant ou de renouvellement de contrat d’hébergement. Selon moi, cette méthodologie ne peut être une fin en soit, même si elle peut faire du sens dans les stratégies Cloud Agnostique ou Multi Cloud. C’est l’occasion de classer les applications et de les faire évoluer vers du replateforming, de la refactorisation (ou refactoring), ou d’autres méthodologies plus disruptives pour optimiser les coûts et la résilience en allant vers du PaaS ou vers de la containerisation.

 

Pour finir, il est important de rappeler que ces stratégies Cloud et ces méthodologies de migration applicative doivent s’accompagner d’un plan de formation et d’une organisation (bimodale ou trimodale) pour accompagner les équipes dans la modernisation IT. Il est primordial que l’ensemble de ces paramètres se retrouvent dans la stratégie IT de votre entreprise.

Si vous souhaitez en savoir plus sur ce vaste sujet, je vous invite à découvrir mon dernier article qui présente l’impact qu’a le Cloud sur les DSI.