Stratégies de migration vers le cloud avec API Gateway
January 18, 2023
La migration vers le cloud est le processus de déplacement des données, des applications ou d'autres éléments métier d'un environnement sur site vers un environnement basé sur le cloud, partiellement ou entièrement, proposé par un fournisseur de services cloud populaire comme Azure, AWS, ou Google Cloud. Cet article explore différentes approches pour élaborer votre stratégie de migration vers le cloud en utilisant une API Gateway.
Avantages de la migration vers le cloud
Pour les entreprises qui entreprennent le processus de migration vers le cloud, celui-ci peut avoir un impact considérable. Cela inclut des économies sur le matériel nécessaire pour l'infrastructure informatique, un temps de livraison plus rapide, la possibilité de faire évoluer vos applications selon vos besoins, la sécurisation des charges de travail critiques pour l'entreprise et des données les plus sensibles, ainsi que des opportunités accrues d'innovation.
Ici, nous avons résumé d'autres avantages de la migration vers le cloud :
- Agilité et flexibilité accrues
- Capacité à innover plus rapidement
- Gestion facilitée des demandes croissantes de ressources
- Meilleure gestion des attentes accrues des clients
- Réduction des coûts
- Livraison immédiate de résultats métier
- Simplification de l'informatique
- Passage à tout-en-tant-que-service
- Meilleure gestion de la consommation
- Évolutivité du cloud
- Amélioration des performances
Défis de la migration vers le cloud
La migration vers le cloud peut apporter des avantages significatifs, mais il existe plusieurs défis en cours de route, tels que l'absence de stratégie de migration au départ, une architecture existante complexe, un processus de migration long, des interruptions d'activité pendant la migration, l'adoption organisationnelle, la sécurité et la conformité.
Les entreprises migrent vers le cloud pour bénéficier d'une disponibilité accrue des services, de l'évolutivité ou de tout autre avantage promis par le cloud. Cependant, tirer pleinement parti du cloud nécessite une conception et une planification minutieuses pour s'assurer que l'organisation a choisi le cloud le mieux adapté à son cas d'utilisation.
Stratégies de migration vers le cloud
Il existe plusieurs approches pour faire évoluer ou migrer un système basé sur des API vers le cloud, allant de la conservation ("ne rien faire"), à la réhébergement, la replateforme, le rachat, la refactorisation/re-architecture (réécriture pour tirer parti de l'infrastructure cloud), et la retraite.
Cet article présente 6 stratégies de migration différentes et constitue un excellent point de départ si vous avez été chargé d'évaluer ou de diriger une migration de votre architecture et systèmes existants vers le cloud. Comme les API sont souvent le composant métier le plus proche de l'utilisateur—et un point d'entrée clé pour la majorité des requêtes—vous devriez leur accorder une attention particulière lors de la décision de votre approche de migration. Les six R présentent un éventail d'options allant de "ne rien faire" jusqu'à une reconstruction complète ou la retraite d'un système. Ce sont :
- Conserver ou Revisiter
- Réhéberger
- Replateformer
- Rachat
- Refactoriser/Re-architecturer
- Retirer
Rôle de la gestion des API dans la migration vers le cloud
Quelle que soit la stratégie choisie pour votre parcours évolutif, la gestion des API peut jouer un rôle clé dans la migration et la valorisation des API au sein et en dehors d'une organisation. Les gestionnaires d'API sont essentiellement une passerelle surpuissante, offrant diverses fonctionnalités supplémentaires pour la publication et le contrôle des API. Les gestionnaires d'API fournissent des politiques qui permettent de gérer les préoccupations de bord, telles que les défis OAuth2, la validation du contenu, la limitation du débit, la mise en cache, la limitation de bande passante, et bien d'autres fonctionnalités typiques d'une passerelle. Il existe de nombreux outils de gestion des API, et il est important de savoir comment choisir le bon.
De plus, ils peuvent fournir des portails développeurs contenant un marché de toutes les API que les développeurs peuvent utiliser lors de la construction de systèmes pour consommer les API offertes. Les organisations peuvent également utiliser la gestion des API pour monétiser l'accès aux API, à la fois pour les clients externes et pour les "rétrofacturations" internes, qui sont courantes dans les entreprises et les déploiements inter-divisionnels. Peut-être la partie la plus importante de la gestion des API est qu'elle peut offrir un point central pour découvrir les API, tout en continuant à apporter des modifications en coulisses.
API Gateway comme outil de migration
L'API Gateway est un composant essentiel des solutions de gestion des API. Vous pouvez lire les 10 cas d'utilisation les plus courants d'une API Gateway sur le blog Apache APISIX. L'utilisation d'une passerelle API peut fournir une transparence de localisation pour les services et les API servis, ce qui permet le déploiement d'un service dans le cloud et le transfert progressif du trafic du service existant vers le nouveau avec un impact limité (ou nul) sur les consommateurs.
Voici 3 stratégies possibles :
-
Une façon d'utiliser une API Gateway dans une stratégie de migration vers le cloud est de commencer par créer un proxy pour vos services sur site. Cela vous permet de rediriger le trafic de vos services sur site vers les services correspondants dans le cloud, sans apporter de modifications à vos applications existantes. Nous pouvons également effectuer des tests A/B simples, collecter des métriques sur les performances du nouveau point de terminaison cloud et l'expérience utilisateur, et revenir au service sur site si, pour une raison quelconque, le nouveau service dans le cloud ne convient pas.
-
Une autre stratégie consiste à utiliser une API Gateway comme façade pour vos services cloud. Cela vous permet de masquer la complexité de votre architecture de microservices aux consommateurs externes, tout en leur permettant d'accéder aux fonctionnalités dont ils ont besoin.
-
Une troisième stratégie consiste à utiliser une API Gateway pour implémenter un maillage de services qui peut vous aider à implémenter des réseaux zero-trust. Cela vous permet de gérer et de sécuriser la communication entre les microservices, sans avoir à apporter de modifications aux services individuels.
Les services d'Apache APISIX s'avèrent être une solution efficace pour implémenter les préoccupations ci-dessus, car ils peuvent agir comme un proxy pour l'ensemble de l'application, ou autrement comme un point d'accès unique. Agissant comme un proxy, l'API Gateway est capable de gérer efficacement les requêtes et de router l'application legacy avec des points de terminaison refactorisés.
Replateforme d'une application exemple vers le cloud
Supposons que nous ayons une application de conférence qui comporte 5 composants principaux : une application web, une API Gateway, un système de conférence legacy, et deux microservices (Session et Participant). Vous pouvez voir la responsabilité de chaque service dans le diagramme architectural ci-dessous.
Votre équipe choisit de migrer progressivement les services de l'application de conférence vers un cloud—plutôt que de risquer un big bang—le fonctionnement des services sur plusieurs environnements cloud et centres de données sur site présente des défis supplémentaires. Compte tenu de cette tâche, vous décidez de "replateformer" d'abord le service Participant. Comme vous avez déjà ré-architecturé la fonctionnalité des participants en l'extrayant dans un microservice indépendant à une étape antérieure, les stratégies de refactorisation/re-architecture ne semblaient pas appropriées. Cependant, lorsque vous ajouterez de nouvelles fonctionnalités au système de conférence à l'avenir, la re-architecture du système (potentiellement en extrayant un service) et son déplacement vers le cloud seraient une option à envisager sérieusement. Le réhébergement pourrait être une stratégie solide, mais nous tenons à tirer parti d'une base de données en tant que service basée sur le cloud plutôt que de "soulever et déplacer" notre propre instance de base de données MySQL.
De plus, vous devez migrer la passerelle API vers le cloud (ou utiliser des solutions APIM fournies par les fournisseurs de cloud) car, avec de nombreuses migrations cloud incrémentielles, le trafic devra transiter par plusieurs réseaux pour satisfaire une requête API faite par un utilisateur. Déplacer la passerelle API vers le cloud maintenant aidera également à supporter le trafic API étant progressivement routé de l'emplacement sur site existant vers le cloud. Le diagramme ci-dessous montre l'état final de l'architecture replateformée.
Résumé
En résumé, l'utilisation d'une API Gateway dans une stratégie de migration vers le cloud peut apporter de nombreux avantages, tels que la facilité de gestion, la sécurité et l'évolutivité. Elle vous permet de déplacer progressivement vos services vers le cloud, et peut vous aider à masquer la complexité de votre architecture de microservices aux consommateurs externes. Par exemple, Apache APISIX est une solution de gestion du trafic API entièrement open-source et cloud-native que vous pouvez déployer sur n'importe quel cloud et améliorer la productivité des développeurs avec des plugins intégrés qui réduisent le temps de votre migration vers le cloud.
Ressources connexes
Contenu recommandé
Communauté
🙋 Rejoignez la communauté Apache APISIX 🐦 Suivez-nous sur Twitter 📝 Retrouvez-nous sur Slack