Mis à jours 1 novembre 2017 Il y a quelques années, de nombreuses entreprises ont progressé petit à petit pour se rapprocher du cloud. Selon 451 Research, 34% des entreprises auront 60% ou plus de leurs applications sur une plate-forme cloud dans les deux ans.
De nos jours, les entreprises accélèrent la migration d’un grand nombre d’applications vers les cloud hybrides. Certaines sont nouvelles, mais la majorité ont plus de 10 ans.
Alors, comment peut-on les déplacer vers le cloud hybride ?
En premier lieu, l’astuce consiste à sélectionner les bonnes applications. Pour ce faire, vous devez comprendre le fonctionnement de chaque application, évaluer l’analyse de la rentabilisation de cette migration puis, choisir la bonne approche. Déterminer quelles applications apporteront plus de valeur à un déplacement vers le cloud devrait être le point de départ. À partir de là, vous allez aborder les compromis technologiques tels que la sélection de la meilleure approche pour migrer l’application et traiter des questions importantes comme la sécurité, la gouvernance et la récupération des données en cas de catastrophe. Vous pouvez ainsi moderniser vos processus de développement d’applications et votre technologie pour tirer le meilleur profit de votre cloud hybride récemment déployé.
Faire sauter le cloud hybride
Avant de migrer les anciennes applications vers un cloud hybride, assurez-vous de comprendre la différence entre les architectures des applications traditionnelles et les plates-formes de cloud hybrides. Les cloud hybrides ont au moins un côté cloud privé et public en termes d’architecture cependant les architectures multicloud comprennent plus qu’un nuage privé et un nuage public.
Les cloud hybrides sont intéressants car ils sont capables d’offrir le meilleur des mondes cloud privé et cloud public en vous permettant de déplacer les charges de travail entre les deux plates-formes. Vous pouvez également partitionner les applications afin que les composants puissent résider à la fois sur le cloud public et privé.
Grâce au cloud hybride, les entreprises peuvent héberger les applications et les données sur une plate-forme qui offrent la combinaison optimale de la rentabilité, de la sécurité et de la performance. Par exemple, une application exploitant une grande quantité de données et nécessitant des systèmes de stockage onéreux peut être plus rentable sur un cloud public, tandis que les données qui doivent être proches de l’utilisateur final pour des raisons de performances ou sensibles restent hébergées sur un cloud privé et ce, pour réduire les risques.
Dans ce cas, il est important d’effectuer l’analyse des applications à code source et de comprendre complètement les types de charges de travail impliqués. Grâce à ces informations, vous serez prêt à prendre une décision éclairée sur les changements requis par chaque application et sur le type d’approche le plus efficace lors du réhébergement sur un cloud hybride. En effet, vous avez trois options : « lift and shift » ou réhéberger, partitionner ou refactoriser l’application.
Lift and Shift
Dans cette approche, vous déplacez l’application et ses données sans apporter de modifications significatives à l’application elle-même. Cela signifie choisir le cloud public ou privé comme destination de l’application. Vous sélectionnez le meilleur hôte en fonction des exigences de charge de travail.
Par exemple, disons que vous avez une application de contrôle d’inventaire, écrite en Java, qui fonctionne à côté d’une base de données relationnelle sur un système Linux. L’application est en contact permanent avec l’interface utilisateur, de sorte que toute latence réseau sera remarquée par l’utilisateur final. Afin de fournir les meilleures performances, l’application doit être réhébergée et déplacée vers les composants de cloud privé du cloud hybride, où elle peut fonctionner relativement sans besoin de recourir à une modification.
L’avantage de cette méthode « lift and shift » est le coût. Comme vous n’avez pas besoin de redessiner ou de modifier les applications, vos coûts sont limités au déplacement et au test de l’application sur le cloud privé ou public.
L’inconvénient est que vous utilisez toujours une seule plate-forme, publique ou privée. Vous ne profitez pas de la capacité distribuée d’un cloud hybride en distribuant la charge de travail.
Partitionner
Pour partitionner une application pour un cloud hybride, vous séparez les charges de travail de l’application pour qu’elles s’exécutent simultanément sur les côtés cloud public et privé du cloud hybride. En outre, vous pouvez généralement le faire avec des modifications minimes à l’application, en minimisant les coûts et les risques.
Disons que votre application de contrôle d’inventaire dispose d’une couche de transaction moins coûteuse à exécuter sur le cloud public, mais que les données et l’interface utilisateur fonctionnent mieux dans le cloud privé. Vous partitionnez l’application entre votre cloud privé et public, mais les partitions doivent être en communication constante, comme si chacune fonctionnait sur un seul système physique.
Les applications peuvent être partitionnées pour tirer le meilleur profit de votre cloud hybride, mais pour une meilleure efficacité, vous devez comprendre l’application en détail et être prêt pour certaines modifications, ainsi que pour les tests et le déploiement.
Pour ces raisons, le coût de partitionnement des applications est plus élevé qu’avec l’approche « lift and shift ». Cependant, cette méthode est avantageuse lorsque les économies de coûts liées à l’exécution de la charge de travail appropriée sur le cloud approprié l’emportent sur les coûts de modification de l’application.
Refactoriser
La refactorisation d’une application implique une réécriture complète (ou presque) de celle-ci pour tirer pleinement profit des fonctionnalités de votre cloud hybride. En optimisant les fonctionnalités dites « cloud-native », vous optimisez également l’application pour utiliser les ressources Cloud privées et publiques sous-jacentes le plus efficacement possible. Par exemple, vous pouvez modifier les anciennes applications de cette manière pour améliorer les performances.
En règle générale, vous accédez aux fonctionnalités des couches. Ceux-ci incluent la plate-forme virtuelle ou le système d’exploitation le plus haut niveau ; les ressources sous-jacentes telles que le stockage et les données ; et les services natifs du cloud tels que le provisionnement et la gestion des locataires.
Le refactoring vous permet également d’accéder aux fonctionnalités natives des services cloud public ou privé pour offrir de meilleures performances que les fonctionnalités non natives. Par exemple, si vous travaillez avec un système d’entrée/sortie (E/S) fonctionnant avec un système de mise à l’échelle automatique et d’équilibrage de charge, vous pouvez le faire de manière dynamique à partir de l’application.
De plus, les applications natives du cloud peuvent utiliser des fonctionnalités et des API natives du cloud pour consommer plus efficacement les ressources sous-jacentes. De cette manière, vous pouvez mieux gérer l’impact de l’application sur le matériel et les logiciels sous-jacents, et obtenir ainsi de meilleures performances. En outre, vous pouvez généralement réduire le coût des ressources cloud public et privé.
Comme pour le partitionnement, vous distribuez les composants de votre application entre le cloud public et le cloud privé, toutefois la refactorisation vous permet de séparer l’application de manière beaucoup plus précise. Cela implique généralement de les réécrire sous la forme de groupes de services ou de microservices qui peuvent résider sur le cloud public ou privé afin de pouvoir les réinstaller au besoin pour maximiser les coûts d’exploitation et les performances.
Le grand compromis avec cette approche est le coût. La refactorisation ou refactoring signifie généralement reconcevoir et réécrire l’application. Vous devrez payer une équipe de développement pendant plusieurs mois ou plus afin qu’ils retravaillent l’application. Alors, assurez-vous que les avantages l’emportent sur les coûts avant de continuer.
Continuité d’activité et reprise après sinistre
Pour les applications exécutées dans un cloud hybride, la continuité d’activité est importante alors vous avez plusieurs options. Vous pouvez compter sur le service de cloud hybride lui-même pour fournir des services de résilience, mais c’est à vous de veiller à ce que le fournisseur de cloud public maintienne des services redondants dans son infrastructure afin que les pannes sur les centres de cloud primaire basculent vers les centres secondaires sans interrompre les services d’application. Vous devez également répliquer les mêmes services sur le cloud privé.
Vous pouvez également créer des services de continuité des activités directement dans l’application. Cela signifie investir le temps et l’argent nécessaires pour modifier l’application afin de fournir ces services. Cela peut nécessiter le stockage de données à deux endroits en même temps, de garder les instances de sauvegarde de l’application en cours d’exécution à tout moment et même de distribuer l’application géographiquement pour éviter les perturbations géographiquement orientées comme les événements météorologiques.
Sécurité et gouvernance
Vous avez deux choix principaux pour la sécurité lorsque vous déplacez les anciennes applications vers un cloud hybride :
- Laissez l’application non modifiée et augmentez le niveau des services de sécurité cloud autour de votre application et de vos données. Cela signifie souvent restreindre l’accès à l’instance de la machine ou aux niveaux de stockage. Cette approche est une solution de sécurité de type « you’re in » ou « you’re out ».
- Modifiez l’application pour utiliser les services de sécurité au niveau de l’application comme ceux basés sur l’entité. Cela permet un contrôle d’accès à grain fin précis aux services et aux données de l’application et restreint la façon dont l’application est utilisée. Cependant, cela nécessite généralement les modifications de l’application pour tirer profit de ce type de sécurité, telles que l’utilisation de SAML (Security Assertion Markup Language), norme ouverte pour l’identité fédérée.
Tout comme la sécurité, la gouvernance peut être appliquée au niveau de la ressource ou de l’ordinateur de l’ancienne application, au niveau de l’application ou du service, et au niveau des données. Toutefois, lorsque vous mettez en œuvre la gouvernance au niveau du service, il se peut que l’application doive être modifiée. Les problèmes de coûts et de risques entrent de nouveau en jeu et peuvent changer l’analyse de rentabilisation.
Sélection d’applications
Ici, l’idée est de classer les anciennes applications par ordre d’importance dans l’entreprise, par la facilité de passer au cloud hybride, et par le coût de tout changement qui devrait se produire lors du déplacement de l’application. Grâce à un système de classement, vous pouvez ensuite déterminer quelles applications devraient avoir la priorité sur d’autres et même déterminer quelles applications ne devraient pas être déplacées ou remplacées.
Il est important que les personnes qui choisissent les applications qui vont être migrées vers le cloud hybride analysent correctement ces applications en termes d’avantages, de fonction, d’architecture, de technologie, de configuration, etc. Elles doivent être en possession de toutes les informations concernant l’application afin d’évaluer correctement si chaque application devrait être migrée vers le cloud ou non et comment le faire. Généralement, des erreurs se produisent lorsque l’entreprise ne prend pas le temps de comprendre l’étendue et la profondeur de chaque ancienne application. Cela conduit à des conclusions incorrectes.
Soyez prêt !
Il est maintenant temps de commencer à examiner votre portefeuille d’applications en considérant les meilleurs moyens de tirer profit de votre cloud hybride. Beaucoup de choses devront changer avant que vous puissiez commencer, y compris les processus et les outils de développement de l’application ainsi que l’acceptation culturelle des cloud public et privé au sein de votre entreprise.
Vous disposez de nombreuses options lors du portage vers un cloud hybride, et vous pouvez même sécuriser vos paris en termes de détermination du meilleur emplacement pour exécuter les charges de travail des applications, qu’elles soient publiques ou privées. Le cloud peut fournir le moyen nécessaire pour améliorer les performances, la sécurité et la résilience. Ce n’est pas facile, mais la récompense en vaut la peine. Une fois cela fait correctement, les anciennes applications migrées vers des cloud hybrides s’exécutent plus rapidement et à moindre coût.