Share via


Migrer votre solution e-commerce vers Azure

Introduction

Le déplacement d’une solution e-commerce existante vers le cloud présente de nombreux avantages pour une entreprise : il permet la scalabilité, il offre aux clients une accessibilité 24h/24, 7j/7 et il simplifie l’intégration des services cloud. Mais c’est avant tout une tâche d’envergure, dont les coûts doivent être compris par ceux qui décident de la mettre en œuvre. Ce document explique la portée d’une migration vers Azure dans le but de vous informer des options disponibles. La première phase consiste à déplacer les composants vers le cloud. Une fois la migration sur Azure effectuée, nous décrivons les étapes à suivre pour l’équipe e-commerce afin augmenter le retour sur investissement et tirer profit du cloud.

À la croisée des chemins

Bien que les transactions e-commerce mondiales ne représentent qu’une fraction du total des ventes au détail, ce canal croît régulièrement année après année. Depuis 2024, les ventes en ligne représentent un cinquième du total des ventes au détail, soit une hausse de 8,6 % en 2016 (source). Le développement de l’e-commerce et l’arrivée du cloud computing placent les détaillants à la croisée des chemins. Des choix doivent être effectués. Ils peuvent intégrer à leur modèle d’entreprise de nouvelles fonctionnalités rendues possibles par les développements technologiques et planifier leur modernisation à partir des fonctionnalités existantes.

Amélioration du parcours des clients

L’e-commerce, qui se concentre principalement sur le parcours des clients, a beaucoup d’attributs différents. Ces attributs peuvent être regroupés en quatre domaines principaux : découverte, évaluation, achat et post-achat.

Le comportement des clients est capturé en tant que données. Et l’entonnoir de vente est jalonné de points de connexion à des applications servant à voir les données sur les produits, les transactions, le stock, les modalités d’expédition, le traitement de la commande, le profil client, le panier d’achat, les suggestions de produits, etc.

Une entreprise de distribution classique s’appuie sur une grande collection de solutions logicielles allant des applications orientées client aux applications fondamentales. Le schéma suivant montre une vue des fonctionnalités présentes dans une entreprise de distribution classique.

Diagramme compare les fonctionnalités externe visibles avec les fonctionnalités de base.

Le cloud permet de redéfinir la façon dont une organisation obtient, utilise et gère une technologie. Parmi les autres avantages, citons la réduction des coûts de maintenance des centres de données, l’amélioration de la fiabilité et des performances et la possibilité d’ajouter des services. Dans ce cas d’usage, nous examinons le chemin qu’une entreprise de distribution peut emprunter pour migrer son infrastructure existante vers Azure. Nous tirons également parti du nouvel environnement à l’aide d’une approche progressive du réhébergement, de la refactorisation et de la reconstruction. Bien que de nombreuses organisations puissent suivre cet itinéraire vers la modernisation, dans la plupart des cas, les organisations peuvent démarrer à partir de n’importe quelle phase. Les organisations peuvent choisir de renoncer au réhébergement de leur application actuelle sur Azure et passer directement à la refactorisation, voire à la reconstruction. Cette décision, qui est propre à l’application et à l’organisation, dépend étroitement des besoins de modernisation à satisfaire.

Réhéberger

Également appelée « lift and shift » (soulever et déplacer), cette phase implique la migration des serveurs physiques et des machines virtuelles tels quels vers le cloud. En déplaçant simplement votre environnement de serveurs actuel directement vers IaaS, vous bénéficiez d’une réduction des coûts, de la sécurité et d’une fiabilité accrue. Les économies proviennent de techniques telles que l’exécution des charges de travail sur des machines virtuelles correctement dimensionnées. Aujourd’hui, les fonctionnalités des machines virtuelles locales et des machines physiques dépassent fréquemment les besoins quotidiens des détaillants. Les machines virtuelles doivent être en mesure de gérer les rares pics d’activité saisonniers. Ainsi, vous payez pour des fonctionnalités non utilisées pendant la saison creuse. Avec Azure, vous pouvez choisir une machine virtuelle dont la taille est adaptée au cycle économique actuel.

Le réhébergement dans Azure comprend trois phases :

  • Analyse : identifier et inventorier les ressources locales telles que les applications, les charges de travail, le réseau et la sécurité. À la fin de cette phase, vous devez disposer d’une documentation complète sur le système existant.
  • Migration : déplacer chaque sous-système depuis l’environnement local vers Azure. Pendant cette phase, vous allez utiliser Azure en tant qu’extension de votre centre de données, sans que les applications ne cessent de communiquer.
  • Optimisation : à mesure que les systèmes sont déplacés vers Azure, assurez-vous que tout est correctement dimensionné. Si l’environnement montre que trop de ressources sont allouées à certaines machines virtuelles, changez le type de machine virtuelle au profit d’un type ayant une combinaison plus appropriée de processeur, de mémoire et de stockage local.

Analyser

Effectuez les étapes suivantes :

  1. Listez les applications et les serveurs locaux. Ce processus s’appuie sur un agent ou outil de gestion qui rassemble les métadonnées sur les serveurs, les applications s’exécutant sur les serveurs, l’utilisation actuelle des serveurs et la façon dont les serveurs et leurs applications sont configurés. Il en résulte un rapport de tous les serveurs et applications dans l’environnement.
  2. Identifiez les dépendances. Vous pouvez utiliser des outils pour identifier les serveurs qui communiquent entre eux et les applications qui communiquent entre elles. Il en résulte un mappage, ou des mappages, de toutes les applications et charges de travail. Ces mappages alimentent la planification de la migration.
  3. Analysez les configurations. L’objectif est de savoir quels sont les types de machine virtuelle dont vous avez besoin dans Azure. Il en résulte un rapport sur toutes les applications qui peuvent être déplacées vers Azure. Celles-ci peuvent être classées comme suit :
    1. Aucune modification
    2. Modifications de base telles que des modifications de nom
    3. Modifications mineures, telles que de légères modifications de code
    4. Charges de travail incompatibles, dont le déplacement nécessite un effort supplémentaire
  4. Créez votre budget. Vous avez maintenant une liste qui énumère chaque CPU (mémoire, etc.) et les exigences pour chaque application. Placez ces charges de travail sur des machines virtuelles correctement dimensionnées. Les coûts de facturation de la plateforme cloud se basent sur l’utilisation. Il existe des outils qui vous permettent de dimensionner les machines virtuelles Azure en fonction de vos besoins. Si vous migrez des machines virtuelles Windows ou SQL Server, vous devez également examiner l’offre Azure Hybrid Benefit, qui permet de réduire vos dépenses sur Azure.

Microsoft met à votre disposition plusieurs outils pour analyser et cataloguer vos systèmes. Si vous exécutez VMware, vous pouvez utiliser Azure Migrate, qui facilite la découverte et l’évaluation. L’outil identifie les machines qui peuvent être déplacées vers Azure, recommande le type de machine virtuelle à exécuter et estime le coût de la charge de travail. Pour les environnements Hyper-V, utilisez le Planificateur de déploiement Azure Site Recovery. Pour les grandes migrations où vous devez déplacer des centaines de machines virtuelles, voire davantage, vous pouvez faire appel à un partenaire de migration Azure. Ces partenaires ont l’expertise et l’expérience pour déplacer vos charges de travail.

Migrate

Commencez à planifier les services à déplacer vers le cloud et dans quel ordre. Cette phase impliquant le déplacement des charges de travail, suivez cet ordre :

  1. Configurez le réseau.
  2. Incorporer un système d’identité (Microsoft Entra ID).
  3. Provisionnez les éléments de stockage dans Azure.

Pendant la migration, l’environnement Azure est une extension de votre réseau local. Vous pouvez connecter les réseaux logiques avec le Réseau virtuel Azure. Vous pouvez choisir d’utiliser Azure ExpressRoute pour conserver les communications entre votre réseau et Azure sur une connexion privée qui n’est jamais reliée à Internet. Vous pouvez également utiliser un VPN de site à site dans lequel une passerelle VPN Azure communique avec votre périphérique VPN local, tout le trafic étant envoyé de manière sécurisée à l’aide d’une communication chiffrée entre Azure et votre réseau. Nous avons publié ici une architecture de référence expliquant comment configurer un réseau hybride.

Une fois le réseau configuré, planifiez la continuité de l’activité. Nous vous recommandons d’utiliser une réplication en temps réel pour déplacer vos données locales vers le cloud et de vous assurer que les données cloud et les données existantes sont les mêmes. Les magasins e-commerce ne ferment jamais ; la duplication offre la possibilité de basculer d’un environnement local vers Azure avec un impact minimal sur vos clients.

Commencez à déplacer les données, les applications et les serveurs associés vers Azure. De nombreuses entreprises utilisent le service Azure Site Recovery pour effectuer une migration vers Azure. Le service cible la continuité d’activité et la récupération d’urgence (BCDR). C’est parfait pour une migration depuis l’environnement local vers Azure. Votre équipe en charge de la mise en œuvre peut découvrir ici comment migrer des machines virtuelles et des serveurs physiques locaux vers Azure.

Après avoir déplacé un sous-système vers Azure, effectuez des tests pour vérifier que tout fonctionne comme prévu. Une fois tous les problèmes résolus, déplacez les charges de travail vers Azure.

Optimiser

À ce stade, vous continuez à superviser l’environnement ; à mesure que celui-ci évolue, vous changez les options de calcul sous-jacentes en fonction des charges de travail. Toute personne qui supervise l’intégrité de l’environnement doit surveiller le degré d’utilisation de chaque ressource. L’objectif doit être une utilisation de 75 à 90 % sur la plupart des machines virtuelles. Concernant les machines virtuelles qui affichent une utilisation exceptionnellement faible, envisagez d’y installer davantage d’applications ou d’effectuer une migration vers les machines virtuelles les moins coûteuses sur Azure qui maintiennent le niveau de performance approprié.

Azure fournit des outils pour optimiser l’environnement également. Azure Advisor supervise les composants de votre environnement et fournit des suggestions personnalisées basées sur des bonnes pratiques. Les suggestions aident à améliorer les performances, la sécurité et la disponibilité des ressources utilisées dans vos applications. Le portail Azure expose également des informations sur l’intégrité de vos applications. Vos machines virtuelles doivent tirer parti des extensions de machine virtuelle pour Linux et Windows. Ces extensions prennent en charge, entre autres, la configuration post-déploiement, les dispositifs antivirus et la supervision des applications. Vous pouvez également exploiter de nombreux autres services Azure pour les diagnostics réseau, l’utilisation des services et la génération d’alertes, dont Network Watcher, Service Map, Application Insights et Log Analytics.

Bien que certaines parties de l’organisation optimisent le système maintenant dans Azure, les équipes de développement peuvent passer à la phase de post-migration : la refactorisation.

Refactorisation

Une fois la migration terminée, votre application e-commerce peut commencer à tirer parti de son nouvel emplacement dans Azure. La phase de refactorisation peut commencer avant que tout l’environnement ait été déplacé. Si votre équipe CMS a migré, mais pas l’équipe ERP, cela ne pose aucun problème. L’équipe CMS peut commencer à procéder à la refactorisation. Cette phase implique l’utilisation de services Azure supplémentaires pour optimiser le coût, la fiabilité et les performances en refactorisant vos applications. Dans la phase « lift and shift », vous ne tiriez parti que du système d’exploitation et du matériel managé par le fournisseur ; dans ce modèle, vous pouvez également recourir à des services cloud pour réduire les coûts. Vous continuez à utiliser votre application actuelle telle quelle, avec certaines modifications mineures de la configuration ou du code d’application, et connectez votre application à de nouveaux services d’infrastructure tels que les conteneurs ainsi que les systèmes de base de données et de gestion d’identité.

L’effort de refactorisation change très peu le code et la configuration. Vous vous concentrez plus longtemps sur l’automatisation, principalement parce que les technologies adoptées au cours de cette phase s’appuient sur des scripts conçus pour construire et déployer les ressources ; les instructions de déploiement sont un script.

Bien que de nombreux services Azure puissent être utilisés, nous nous pencherons essentiellement sur les services les plus fréquemment utilisés dans la phase de refactorisation : conteneurs, services d’application et services de base de données. Pourquoi nous intéressons-nous à la refactorisation ? La refactorisation fournit une base de code renforcée qui réduit les coûts à long terme en maintenant la dette technique à un niveau raisonnable.

Les conteneurs permettent de regrouper les applications. En raison de la façon dont un conteneur virtualise le système d’exploitation, vous pouvez empaqueter plusieurs conteneurs dans une même machine virtuelle. Vous pouvez déplacer une application vers un conteneur moyennant peu de modifications de code, voire aucune ; vous pouvez être amené à modifier la configuration. Cet effort aboutit également à l’écriture de scripts qui regroupent les applications dans un conteneur. Vos équipes de développement consacrent leur temps de refactorisation à l’écriture et au test de ces scripts. Azure prend en charge la conteneurisation par le biais d’Azure Kubernetes Service (AKS) et du registre de conteneurs Azure connexe que vous pouvez utiliser pour gérer les images conteneur.

Pour les services d’application, vous pouvez tirer parti de divers services Azure. Par exemple, votre infrastructure existante peut gérer une commande client en plaçant les messages dans une file d’attente comme RabbitMQ. (Par exemple, un message concerne la facturation du client, un second l’expédition de la commande.) Durant le réhébergement, vous placez RabbitMQ dans une machine virtuelle distincte. Pendant la refactorisation, vous pouvez ajouter une file d’attente ou une rubrique Service Bus à la solution. À ce stade, vous pouvez réécrire votre code RabbitMQ et arrêter d’utiliser les machines virtuelles ayant servi la fonctionnalité de mise en file d’attente. S’il n’est pas possible de réécrire tout votre code en même temps, vous pouvez utiliser des modèles tels que le pont de messagerie pour combler l’écart entre des files d’attente de messagerie. Cela vous permet de migrer vos points de terminaison un par un plutôt que tous en même temps. Dans les deux cas, lorsque tous les points de terminaison ont finalement été déplacés vers Azure Service Bus, cela remplace un ensemble de machines virtuelles par un service de file d’attente de messages toujours actif pour un coût inférieur. Vous trouverez d’autres services d’application dans le Portail Azure.

Concernant votre base de données, vous pouvez la déplacer depuis une machine virtuelle vers un service. Azure prend en charge les charges de travail SQL Server avec Azure SQL Database et Azure SQL Database Managed Instance. Le service de migration de données évalue votre base de données, vous informe du travail à effectuer avant la migration, puis déplace la base de données depuis votre machine virtuelle vers le service. Azure prend en charge les services de moteur de base de données MySQL, PostgreSQL et d’autres.

Reconstruire

Jusqu’à présent, nous avons essayé de réduire au minimum les modifications apportées aux systèmes e-commerce, préférant ne pas toucher aux systèmes opérationnels. À présent, examinons comment tirer pleinement parti du cloud. Cette phase consiste à revoir l’application existante en adoptant franchement une architecture et des services SaaS ou même PaaS. Le processus englobe des révisions majeures visant à ajouter de nouvelles fonctionnalités ou à réorganiser l’application pour le cloud. Les API managées sont un nouveau concept qui tire parti des systèmes cloud. Nous pouvons faciliter la mise à jour de notre système en créant des API pour la communication entre les services. Un deuxième avantage est la possibilité d’obtenir des insights sur les données dont nous disposons. Nous y parvenons en adoptant une architecture qui combine microservices et API, et nous utilisons le machine learning et d’autres outils pour analyser les données.

Microservices plus API

Les microservices communiquent par le biais d’API externes. Chaque service est autonome et doit implémenter une fonctionnalité métier unique, par exemple : recommander des articles aux clients, mettre à jour les paniers d’achat, etc. La décomposition d’une application en microservices nécessite du temps et un effort de planification. Bien qu’il n’existe aucune règle absolue pour définir un microservice, l’idée générale implique de réduire l’unité déployable à un ensemble de composants qui changent presque toujours en même temps. Les microservices vous permettent de déployer des modifications aussi souvent que nécessaire tout en réduisant le fardeau des tests pour l’ensemble de l’application. Certains services peuvent être extrêmement petits. Pour ces derniers, l’adoption d’une configuration serverless avec Azure Functions fonctionne bien pour effectuer un scale-out afin d’obtenir autant d’appelants que nécessaire, tout en ne consommant aucune ressource quand ils ne sont pas utilisés. Les autres services sont répartis autour des fonctionnalités métier : gestion des produits, capture des commandes des clients, etc.

Les mécanismes serverless présentent des inconvénients : sous une charge faible, ils peuvent être lents à répondre, car un serveur dans le cloud met quelques secondes à se configurer et à exécuter votre code. Pour les parties de votre environnement largement utilisées par les clients, vous souhaitez vous assurer qu’ils peuvent rechercher des produits, passer des commandes, demander des retours, etc. avec rapidité et simplicité. Chaque fois que les performances ralentissent, vous risquez de perdre des clients dans l’entonnoir d’achat. Si vous disposez de fonctionnalités qui doivent être réactives, reconstruisez-les en tant qu’unités déployables séparément dans Azure Kubernetes Service. Pour les autres cas, tels que les services qui nécessitent à la fois une grande quantité de mémoire, plusieurs processeurs et un stockage local conséquent, il peut être judicieux d’héberger le microservice dans sa propre machine virtuelle.

Chaque service utilise une API pour l’interaction. L’accès à l’API peut mener directement au microservice, ce qui suppose que toute personne communiquant avec le service connaît la topologie de l’application. Un service comme la Gestion des API vous permet de publier les API de façon centralisée. Toutes les applications se connectent simplement au service Gestion des API. Les développeurs peuvent découvrir quelles API sont disponibles. Le service Gestion des API fournit également des fonctionnalités pour rendre votre environnement de distribution performant. Le service peut limiter l’accès à l’API par différentes parties de l’application (afin d’éviter les goulots d’étranglement), mettre en cache les réponses pour les valeurs qui évoluent lentement, effectuer une conversion de JSON en XML et bien plus encore. Une liste complète de stratégies est disponible ici.

Utiliser vos données et la Place de marché Azure

La totalité de vos données et systèmes se trouvant dans Azure, vous pouvez facilement incorporer d’autres solutions SaaS dans votre activité. Vous pouvez effectuer certaines choses immédiatement. Par exemple, utilisez Power BI pour combiner diverses sources de données afin de créer des visualisations et des rapports et d’obtenir ainsi des insights.

Ensuite, examinez les offres disponibles dans la Place de marché Azure qui peuvent vous aider à effectuer des opérations telles que l’optimisation du stock, la gestion des campagnes en fonction des attributs des clients et la présentation des articles adéquats à chaque client en fonction de ses préférences et de son historique. Prévoyez de consacrer du temps à la configuration de vos données afin de pouvoir exploiter les offres de la Place de marché.

Composants

Utilisées pendant le réhébergement :

  • Azure Advisor est un conseiller cloud personnalisé qui vous aide à suivre les bonnes pratiques pour optimiser vos déploiements Azure.
  • Le service Azure Migrate évalue les charges de travail locales pour la migration vers Azure.
  • Azure Site Recovery orchestre et gère la reprise d’activité pour les machines virtuelles Azure, les machines virtuelles locales et les serveurs physiques.
  • Le Réseau virtuel Azure permet à de nombreux types de ressources Azure, telles que les machines virtuelles (VM) Azure, de communiquer de manière sécurisée entre elles, avec Internet et avec les réseaux locaux.
  • Azure ExpressRoute vous permet d’étendre vos réseaux locaux au cloud de Microsoft via une connexion privée assurée par un fournisseur de connectivité.

Utilisées pendant la refactorisation :

  • Azure Kubernetes Service gère votre environnement Kubernetes hébergé, ce qui vous permet de déployer et de gérer de manière simple et rapide des applications conteneurisées sans avoir à maîtriser l’orchestration de conteneurs.
  • Azure SQL Database est un service managé de base de données relationnelle à usage général dans Microsoft Azure. Il prend en charge les structures telles que les données relationnelles, JSON, XML et les données spatiales. SQL Database offre des bases de données SQL uniques managées, des bases de données SQL managées dans un pool élastique et des instances managées (Managed Instance) SQL.

Utilisées pendant la reconstruction :

  • La Gestion des API Azure aide les organisations à publier des API pour des développeurs externes, partenaires et internes, afin de libérer le potentiel de leurs données et services.
  • Azure Functions est une solution conçue pour exécuter facilement des petits morceaux de code, ou « fonctions », dans le cloud.
  • Power BI est une suite d’outils d’analytique métier qui fournit des insights à l’échelle de votre organisation.

Conclusion

Le déplacement de votre système e-commerce vers Azure nécessite une analyse, une planification et une approche définie. Nous avons étudié une approche en trois phases : réhébergement, refactorisation et reconstruction. Cette approche permet à une organisation de passer d’un état opérationnel à un autre, tout en réduisant la quantité de modifications à chaque étape. Les détaillants peuvent également choisir de refactoriser ou même de reconstruire les composants, sans passer par le réhébergement. N’hésitez pas à emprunter la voie de la modernisation dès qu’elle se présente à vous dégagée. À mesure que vous accumulerez de l’expérience dans Azure, vous aurez de temps en temps l’occasion d’ajouter de nouvelles fonctionnalités, de réduire les coûts et d’améliorer l’ensemble du système.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Étapes suivantes

De nombreuses équipes de développement sont tentées d’effectuer le réhébergement et la refactorisation simultanément pour résoudre la dette technique et mieux tirer parti des capacités. Le fait de procéder au réhébergement avant de passer aux étapes suivantes présente des avantages. Les problèmes éventuels de déploiement sur le nouvel environnement sont plus faciles à diagnostiquer et à résoudre. Ainsi, vos équipes de développement et de support bénéficient-elles de temps pour adopter Azure en guise de nouvel environnement. Quand vous commencez à refactoriser et à reconstruire le système, vous vous appuyez sur une application opérationnelle stable. Cette approche permet des modifications plus petites et ciblées et des mises à jour plus fréquentes.

Documentation du produit :