Migration Cloud : pourquoi et comment ?

Brouillon

À venir

0 commentaire

samuel-zeller-358865-unsplash

1) Pourquoi migrer son application existante dans le cloud ?

De plus en plus d’entreprises considèrent la migration de leurs applications existantes dans le cloud comme faisant partie intégrante de leur stratégie de transformation digitale. Les objectifs peuvent être multiples : accroitre leur flexibilité, maitriser leurs coûts, améliorer leurs performances et sécuriser leurs données. Il est vrai que le Cloud présente plusieurs avantages, que nous listons ci-dessous :

1. Gain d’exploitation :

C’est le fournisseur Cloud qui assurer l’exploitation de l’infrastructure physique selon le modèle choisi.

En Iaas (Infrastructure as a Service), le gain se trouve au niveau de la maintenance du matériel. Le fournisseur de service Cloud prend en charge la redondance des disques durs, le remplacement d’un commutateur réseau, etc… Mais la maintenance du système d’exploitation reste à la charge du client.

En PaaS (Platform as a Service), le gain augmente et la maintenance du système d’exploitation n’est plus à la charge du client. Ce dernier gère uniquement ses applications et ses données métier.

Ces gains en termes de charge d’exploitation permettent de se concentrer sur qui est vraiment important, apporter de la valeur à ses propres clients.

Cela permet également la montée en compétence des collaborateurs sur des tâches ayant une plus forte valeur ajoutée, comme la mise en œuvre de déploiement d’environnements avec une approche Infrastructure As Code, puis de conserver et embaucher de nouveaux talents.

2. Dimensionnement :

La migration d’une application vers le Cloud autorise un dimensionnement au plus près de son besoin : le client paye pour ce qu’il consomme.

Comme par exemple, un site eCommerce qui peut connaître des pics d’accès pendant les périodes de solde ou pendant les fêtes de fin d’année. Avec le cloud il est possible d’accroitre temporairement les capacités d’une application puis de revenir à un niveau habituel, à la demande ou de manière automatisée.

Outre cette mise à l’échelle (scalabilité), le Cloud permet d’avoir une visibilité sur les coûts qu’il est difficile de calculer lorsque l’infrastructure est gérée en interne (On Premise).

Il faut prendre en compte les heures des collaborateurs, imputer le coût de la bande passante, de l’électricité, les différentes licences logicielles mais pas totalement, … Les responsables informatiques apprécieront la maîtrise des coûts que permet le Cloud.

De plus, l’offre de services pléthorique du Cloud permet de tester facilement des technologies qui peuvent être assez difficiles à mettre en œuvre en interne. Comme par exemple un cluster Kubernetes pour gérer des containers de micro-services ou alors la création d’une machine virtuelle pour tester un logiciel sans compromettre des postes de travail sécurisés.

La flexibilité du Cloud permet d’ailleurs de bénéficier de nouveaux services ou d’obtenir de nouvelles ressources en temps réel. Cela ouvre la porte à des capacité de dimensionnement qu’il est rarement possible d’atteindre avec son propre Datacenter.

3. Redondance simplifiée :

Une application sur le Cloud vous simplifie grandement la gestion de la redondance : un aspect crucial pour assurer la pérennité de vos données en cas de problème.

4. Sécurité des données :

Les fournisseurs Cloud permettent, sans exception, un premier niveau de sécurité des données qui est matériel. Les disques durs sont doublés voire même triplés et il est également possible de demander la réplication des données dans des datacenter distant de plusieurs centaines de kilomètres en cas de problèmes majeurs comme un tremblement de terre ou un raz de marée.

Ensuite, les fournisseurs Cloud prennent la sécurité des données très au sérieux et sont équipés pour faire face aux différentes menaces. Les données, logiciels y sont souvent plus en sécurité que dans des datacenters traditionnels par défaut. Il s’agit pourtant d’un des freins à l’adoption les plus importants.

Ainsi, les données sont cryptées, pendant leur transfert (in motion) et lors de leur stockage (at rest). De plus, tous les fournisseurs Cloud sont conformes RGPD, certains sont certifiés hébergeurs de données de santé, hébergeur de données gouvernementales, …

Cela étant dit, comme pour un datacenter traditionnel, il faut suivre les bonnes pratiques de sécurité fournies par le fournisseur Cloud. Tel que mettre en place des firewalls, configurer des réseaux virtuels, donner les bons droits d’accès aux collaborateurs, ajouter un WAF à une application web.

5. Exposition sur Internet

Lorsqu’une application est utilisée par des personnes extérieures à la société, qu’il s’agisse de clients ou de partenaires, ou lorsque les collaborateurs sont éparpillés, il est nécessaire de donner accès à ses services sur Internet. Même si cela rend la protection de l’application et des données et la gestion des accès plus ardues.


2) Comment migrer son application vers le Cloud ?

1. Stratégies de migration

Il y a principalement trois méthodes de migration d’une application vers le Cloud. Elles se distinguent par leur complexité mais également par leur degré d’adaptation aux Cloud et leur capacité à en tirer parti.

Rehosting:

Appelée également ‘Lift-and-Shift’ car elle s’apparente plus ou moins à un copier-coller des VMs hébergeant l’application vers le Cloud. L’opération ne nécessite en effet aucune modification de celle-ci. Cette stratégie est la plus simple, la plus rapide et peut être automatisable grâce à de nombreux outils sur le marché. Elle intervient surtout dans un contexte où l’on souhaite réduire ses coûts sans forcément tirer pleinement parti des avantages du Cloud car celle-ci ne sera pas optimisée en conséquence. Attention, l’apparente simplicité de cette méthode n’exclut pas les échecs car la reconfiguration des VMs vers le Cloud peut soulever quelques problématique lors de son redémarrage. Cette migration fait appel à des compétences infrastructure.

Replatforming :

Cette méthode consiste à optimiser l’application au niveau de la couche système avant d’opérer la migration vers le Cloud. L’architecture de l’application reste quant à elle inchangée. Ces modifications ‘mineures’ permettent de tirer davantage parti des bénéfices apportés par le Cloud (automatisation, dimensionnement, réduction des coûts, etc.). Cette stratégie est nécessaire, lorsque l’on souhaite migrer sans trop d’efforts mais que l’application ne fonctionnerait pas sans ces modifications. Cela peut être le cas lorsque l’environnement système actuel n’est pas disponible dans le Cloud.

Refactoring :

Sans doute la stratégie de migration d’applications vers le Cloud la plus longue et la plus complexe mais certainement celle qui permet de tirer le mieux parti du Cloud. Il s’agit en effet de transformer l’application afin d’adapter son architecture au Cloud. Cette méthode permet de bénéficier de nouvelles fonctionnalités disponibles dans le Cloud mais également d’améliorer son agilité et ses performances.

Nous avons donc détaillé trois stratégies de migration Cloud. Nous pouvons également en évoquer rapidement trois autres qui permettent de compléter la liste des ‘6R’ que l’on rencontre dans de nombreux articles. Il ne s’agit cependant pas de réelle migration d’une application existante vers le Cloud : 

- Repurcharsing : consiste à remplacer sa solution existante et d’adopter une solution SaaS

- Retire : consiste à se délester de l’application car celle-ci n’est plus utilisée

- Retain : consiste à rester dans la situation actuelle (ne rien faire) pour différentes raisons (application non prioritaire, effort jugé trop important pour l’application concernée, etc.)


2) Audit de Migration vers le Cloud : l’application est-elle Cloud Ready ?

Une fois la décision prise d'aller dans le Cloud, il est nécessaire de se poser la question de la faisabilité du projet. En d’autres termes, l’application est-elle Cloud Ready ou pas ?

Pour répondre à cette question, il est nécessaire de passer par un audit de pré-migration. Cette analyse exhaustive cherche à mettre en avant tous les composants et paramètres de l’application concernée qui vont permettre ou compromettre la migration dans le Cloud. Elle se conclue par la prise de décision sur la réalisation du projet et l’élaboration d’un plan de migration.

Que regarde-t-on ?

L’architecture logicielle dont les briques technologiques utilisées

Les flux réseaux internes (interne au Datacenter) et externe (utilisation de services Saas externes par exemple)

Les sources de données métier ou de référence

Les utilisateurs : de quels types, où sont-ils ?

Les modes d’authentification et de gestion des droits

Les résultats de l’audit permettent de déterminer si

L’application peut être migrée dans le Cloud et à quel niveau (PaaS ? IaaS ?) pour chacun de ses sous-systèmes

L’application ne peut être migrée dans le Cloud

L’application peut être migrée partiellement dans le Cloud.

Si cette dernière option ressort de l’analyse, celle-ci va plus loin et permet de répondre à d’autres questions :

Quelle partie de l’application peut être migrée ?

Quels impacts pour le reste de l’application et sur l’infrastructure du(des) Datacenter(s) existant(s)?

Quels sont les différents freins à la migration complète ?

Quels changements opérer ?

Est-ce que l’application est déployable automatiquement (DevOps) ?

Doit-on faire monter des collaborateurs en compétence ou faire appel à une société de services ?

3) L'architecture Cloud : un point central de la migration

Migrer son application dans le Cloud n’est pas chose aisée et cela ne peut se faire avec un principe de copier/coller.

L’architecture logicielle est au centre des préoccupations lors de cette migration. Pourquoi ?

Tout d’abord, car, comme vu précédemment, elle peut conditionner la transition vers le Cloud.

Ensuite, car une architecture non adaptée aux enjeux du Cloud peut compromettre son bon fonctionnement, son interopérabilité avec le reste du système d’information et la sécurisation des différents flux de données.

Pour éviter cela, il est nécessaire d’opérer des changements d’architecture applicative. SoftFluent peut vous conseiller dans la définition de l’architecture Cloud de votre application et vous accompagner dans la migration vers le Cloud. Notre solution passe par un audit de l’existant, la conception de la nouvelle architecture et le déploiement dans le Cloud. Contactez-nous.

Florine GIllebert

Profil de l'auteur