Partager via


Effectuer une migration vers Azure Container Apps

Remarque

Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.

Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.

Cet article s’applique à :✅ Essentiel/Standard ✅ Entreprise

Azure Spring Apps et Azure Container Apps sont des plateformes managées sur Azure conçues pour simplifier l’exécution d’applications sans gérer l’infrastructure complexe. Les deux services permettent aux développeurs de se concentrer sur leurs applications plutôt que de se soucier de la configuration et de la maintenance des systèmes sous-jacents. Ils s’intègrent en mode natif à l’écosystème Azure, ce qui facilite la connexion avec des services tels qu’Azure Monitor, Key Vault et Azure DevOps pour la surveillance, la sécurité et le déploiement.

En raison de la mise hors service d’Azure Spring Apps, nous vous recommandons d’utiliser Azure Container Apps comme service principal pour votre migration des charges de travail exécutées sur Azure Spring Apps. Azure Container Apps fournit une base moderne, flexible et évolutive pour les applications conteneurisées, ce qui garantit que vos charges de travail sont prêtes pour l’avenir et intégrées en toute transparence à l’écosystème Azure.

Cet article fournit un guide détaillé pour vous aider à migrer vos charges de travail d’Azure Spring Apps vers Azure Container Apps, en réduisant les interruptions et en vous aidant à optimiser les avantages de la nouvelle plateforme.

Mappage de concepts

Le tableau de mappage de concept suivant met en évidence les parallèles entre Azure Spring Apps et Azure Container Apps. Il vous aide à comprendre comment les concepts familiers dans Azure Spring Apps se traduisent en fonctionnalités équivalentes dans Azure Container Apps.

Diagramme du mappage de concept entre Azure Spring Apps et Azure Container Apps.

Service Azure Spring Apps Service Azure Container Apps
Une instance de service héberge et sécurise une limite pour les applications et d’autres ressources, et prend en charge un réseau virtuel personnalisé. Un environnement établit une limite sécurisée pour les applications conteneur et prend en charge les réseaux virtuels personnalisés.
Une application est une application métier qui sert de ressource enfant dans une instance de service. Une application conteneur est une application métier, définie comme une ressource Azure indépendante qui se connecte à un environnement managé.
Un déploiement est la version d’une application. Une application peut avoir un déploiement de production et un déploiement intermédiaire. Une révision est un instantané immuable de chaque version d’une application conteneur. Une application conteneur peut avoir une ou plusieurs révisions.
Une instance d’application est l’unité d’exécution minimale gérée par le service. Les conteneurs (Réplica) sont un ensemble de conteneurs et l’unité d’exécution minimale. Vous pouvez configurer plusieurs conteneurs ensemble, y compris des conteneurs sidecar et init, pour servir une application conteneur.

Paramètres du contrôle d’accès en fonction du rôle Azure

Azure Spring Apps et Azure Container Apps prennent tous deux en charge les paramètres de contrôle d’accès en fonction du rôle (RBAC) Azure. Toutefois, leurs expériences diffèrent en raison de leurs hiérarchies de ressources distinctes.

Dans Azure Spring Apps, la hiérarchie de ressources est centrée autour de l’instance de service. Les attributions de rôles s’appliquent à l’instance et se propagent automatiquement aux ressources enfants, telles que les applications et les déploiements. Cette conception fournit une gestion centralisée. Toutefois, si un utilisateur a besoin d’accéder à une application ou à un déploiement spécifique plutôt qu’à l’instance de service, vous devez accorder des autorisations spécifiques pour ces ressources.

Du point de vue de l’API, Azure Container Apps conçoit les types de ressources pour les environnements et les applications conteneur en tant qu’entités indépendantes distinctes au même niveau hiérarchique. Vous pouvez attribuer des rôles au niveau de l’environnement managé ou des applications conteneur individuelles. Cette structure permet un contrôle précis sur des applications spécifiques. Par exemple, vous pouvez accorder l’accès à différentes applications conteneur pour différentes équipes ou personnes. Cette flexibilité facilite la gestion des ressources indépendamment dans un environnement partagé. Il s’aligne également bien sur l’expérience familière de gestion d’autres ressources Azure.

Approche de migration

L’approche de migration d’Azure Spring Apps vers Azure Container Apps implique les étapes clés suivantes :

Diagramme des étapes de migration décrites dans cet article.

  1. Évaluer et planifier : évaluez vos charges de travail actuelles sur Azure Spring Apps, notamment les dépendances, les configurations et les paramètres réseau.

  2. Conteneuriser des applications : bien qu’Azure Container Apps prenne en charge le déploiement à partir du code JAR ou source, nous vous recommandons de conteneuriser des applications dans des conteneurs Docker, ce qui offre une meilleure portabilité et efficacité. Vous pouvez conteneuriser des applications en créant des fichiers Dockerfiles et en créant des images conteneur à l’aide d’outils tels qu’Azure Container Registry ou Docker Hub. Vous pouvez également générer des images conteneur en buildpacks localement. Pour savoir comment conteneuriser votre application et générer une image conteneur similaire à celle exécutée dans Azure Spring Apps, consultez Vue d’ensemble de la conteneurisation.

  3. Configurez l’environnement Azure Container Apps : approvisionnez un environnement managé dans Azure Container Apps, notamment la configuration de réseaux virtuels, de sous-réseaux et les paramètres de sécurité nécessaires pour correspondre à vos configurations réseau précédentes dans Azure Spring Apps. Pour plus d’informations, consultez Approvisionner Azure Container Apps ou Migrer un réseau virtuel personnalisé.

  4. Créez et configurez des composants Java dans Azure Container Apps : activez et configurez Eureka Server, le serveur de configuration, la passerelle et l’administrateur managé. Ces composants sont essentiels pour l’orchestration et la gestion des microservices dans les applications Spring. Vérifiez qu’ils sont configurés correctement pour une transition transparente.

    Si vous utilisez le plan Entreprise, consultez les articles suivants :

    Si vous utilisez le plan Standard, consultez les articles suivants :

  5. Déployer des conteneurs : déployez les applications conteneurisées dans l’environnement Azure Container Apps. Configurez les révisions d’application, les stratégies de mise à l’échelle et les configurations réseau en fonction de vos besoins. Pour plus d’informations, consultez Vue d’ensemble de la migration d’applications.

  6. Surveiller : pendant la migration, surveillez en permanence les performances des applications à l’aide d’Azure Monitor et ajustez les configurations en fonction des besoins pour l’optimisation, telles que l’ajustement des paramètres de mise à l’échelle ou des allocations de ressources. Pour plus d’informations, consultez Journal et Métriques dans Azure Container Apps.

  7. Testez et validez : exécutez des tests approfondis pour vous assurer que les applications conteneurisées fonctionnent comme prévu dans le nouvel environnement. Vérifiez la connectivité réseau, la mise à l’échelle et l’intégration à d’autres services.

  8. Outils clients et d’automatisation : pour simplifier le développement quotidien et les tâches opérationnelles, tirez parti des outils clients et des solutions d’automatisation. Ces outils incluent Azure CLI, Azure DevOps, GitHub Actions et des extensions dans les outils clients ou les IDE. Ces outils peuvent aider à automatiser les déploiements, à surveiller les performances et à gérer efficacement les ressources, à réduire les efforts manuels et à améliorer l’agilité opérationnelle. Pour en savoir plus sur les outils populaires, consultez Clients ou outils d’automatisation pour Azure Container Apps.

Didacticiel

Nous fournissons un didacticiel pour illustrer l’expérience de bout en bout de l’exécution de l’application ACME Fitness Store sur Azure Container Apps. Pour plus d’informations, consultez acme-fitness-store/azure-container-apps. Ce didacticiel fournit des conseils pratiques, vous aidant ainsi à obtenir rapidement des insights pratiques et à obtenir une confiance en matière de déploiement et de gestion d’applications conteneurisées sur la plateforme.