Modifier

Migration « lift-and-shift » vers des conteneurs avec Azure App Service

Microsoft Entra ID
Azure Container Registry
Azure App Service

Idées de solution

Cet article présente une idée de solution. Si vous souhaitez nous voir développer le contenu avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le-nous savoir avec les Commentaires de GitHub.

Cette solution migre des applications web existantes vers des conteneurs déployés dans App Service, ce qui vous permet de vous concentrer sur la composition de conteneurs, sans vous préoccuper de la gestion de l’orchestration des conteneurs.

Architecture

Diagramme de l’architecture illustrant la migration des applications existantes vers des conteneurs dans Azure Kubernetes Service avec Open Service Broker for Azure pour accéder aux bases de données Azure.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Le développeur convertit l’application web existante en conteneur.
  2. Le développeur publie l’image conteneur sur :
    1. Un registre privé ou Docker Hub.
    2. Ou un registre de conteneurs Azure.
  3. App Service extrait l’image avec :
    1. Informations d’identification pour le registre privé ou Docker Hub s’il est utilisé.
    2. Ou l’identité managée, qui utilise un principal de sécurité Microsoft Entra pour accéder à Azure Container Registry.
  4. Des connecteurs de services pour accéder à d’autres ressources Azure.
  5. Le développeur envoie une nouvelle image au registre de conteneurs, ce qui déclenche les mises à jour App Service lorsque le déploiement continu est activé.

Composants

Web App pour conteneurs : avec App Service, vous pouvez déployer et exécuter des applications web conteneurisées sur Windows et Linux. Web App pour conteneurs fournit une rampe d’accès facile aux développeurs afin de tirer parti d’une plateforme entièrement managée, mais qui souhaitent également disposer d’un seul artefact déployable contenant une application et toutes ses dépendances. Un autre scénario cible est celui des développeurs qui souhaitent utiliser une infrastructure ou une version personnalisée au-delà des valeurs par défaut intégrées à la plateforme Azure App Service. Les applications web conteneurisées sur Azure App Service peuvent être mises à l’échelle en fonction des besoins et utiliser des flux de travail CI/CD rationalisés avec Docker Hub, Azure Container Registry et GitHub.

Azure Container Registry : un registre d’images Docker et OCI (Open Container Initiative), avec prise en charge de tous les artefacts OCI. Utilisez des images conteneur dans des services Azure tels que App Service, Machine Learning et Batch. Par exemple, lorsque vous configurez Web App pour conteneurs pour votre application web, vous pouvez spécifier une image conteneur à partir d’Azure Container Registry.

Azure Cosmos DB : un service de base de données NoSQL entièrement managé pour la création et la modernisation d’applications scalables haute performance. Azure Cosmos DB est intégré aux principaux services Azure, notamment Azure Functions, IoT Hub, AKS (Azure Kubernetes Service), App Service, et plus encore. Vous pouvez choisir parmi plusieurs API de base de données, notamment Azure Cosmos DB for NoSQL native, Azure Cosmos DB for MongoDB, Azure Cosmos DB for Apache Cassandra, Azure Cosmos DB for Apache Gremlin et Azure Cosmos DB for Table.

Azure SQL Database : Base de données relationnelle entièrement gérée avec intelligence intégrée. Azure SQL Database vous aide à créer des applications localement ou dans le cloud sur des plateformes et infrastructures populaires avec prise en charge des pilotes pour les langages les plus courants. SQL Database vous permet de simplifier le développement avec prise en charge native des sites web s’exécutant dans Azure App Service.

Stockage Azure : Le stockage Azure offre une solution de stockage cloud durable, hautement disponible et très évolutive qui inclut un stockage d’objets, de fichiers, de disques, de files d’attente et de tables. Le stockage Azure inclut des services pour le stockage d’objets, de blocs et de fichiers afin de répondre aux demandes de votre site web. Par exemple, les sites web peuvent facilement utiliser le stockage Blob Azure pour un stockage de blocs évolutif et sécurisé pour les médias de site web tels que des photos et des vidéos.

Azure Monitor : Application Insights assure l’intégrité du service, la surveillance des performances et les diagnostics. Azure Monitor peut être utilisé avec Web App pour conteneurs (App Service) afin de surveiller les métriques de site web telles que le nombre de connexions et le nombre de requêtes, ce qui entraîne des codes d’état HTTP.

Connecteur de services Azure : le Connecteur de services vous aide à connecter des services de calcul Azure à d’autres services de soutien. Par exemple, utilisez un connecteur de service entre Azure App Service et Azure Database pour MySQL ou PostgreSQL, Stockage Azure et Azure Key Vault. Pour obtenir la liste complète des services pris en charge, consultez Services pris en charge dans le Connecteur de services.

Détails du scénario

Migrez facilement des applications web existantes vers des conteneurs et exécutez les applications web conteneurisées dans Web App pour conteneurs dans Azure App Service. Web App pour conteneurs vous permet de vous concentrer sur la composition de vos conteneurs sans vous préoccuper de la gestion et de la maintenance d’un orchestrateur de conteneurs sous-jacent. Lorsque vous créez des applications web, Web App pour conteneurs est une bonne option pour effectuer vos premiers pas avec des conteneurs. Vos conteneurs peuvent facilement intégrer d’autres ressources Azure comme des services de stockage et de base de données.

Lorsque vous intégrez des applications web existantes à des ressources Azure, vous pouvez également profiter des connexions sans mot de passe pour services Azure. Les connexions sans mot de passe sont une fonctionnalité sans langage spécifié qui couvre plusieurs services Azure. Lorsque vous utilisez des connexions sans mot de passe, vos applications web se connectent aux services Azure sans avoir à faire pivoter les mots de passe. Vous n’avez besoin que d’une configuration : aucun nouveau code n’est nécessaire.

Cas d’usage potentiels

Cette idée de solution est idéale pour migrer des applications web actuelles vers des conteneurs exécutés sur Azure. Cette idée de solution peut être utilisée pour créer un site web lorsque les éléments suivants s’appliquent :

  • Utilise l’expérience de programmation existante utilisée pour créer des sites web déployés par du code afin de créer des sites web déployés par conteneur. Migration « lift-and-shift » des applications web existantes vers des conteneurs sur App Service.

  • Développement et déploiement simplifiés avec des outils tels que Visual Studio, Visual Studio Code, Azure CLI et Azure Cloud Shell.

  • Portabilité entre différents environnements, du développement à la production et à différents clouds. Vous pouvez tester localement, sur une plateforme différente de celle déployée pour la production.

  • L’extensibilité dans App Service signifie que vous pouvez effectuer un scale-out du nombre de workers utilisés à la demande.

  • La modularité pour les futurs sites web fonctionne dans App Service ou dans d’autres services tels qu’Azure Container Apps et Azure Kubernetes Service. Web App pour conteneurs peut être une bonne première étape pour passer aux conteneurs.

  • Un conteneur déployé dans Web App pour conteneurs est prêt pour l’intégration continue et le déploiement continu (CI/CD). Les fonctionnalités CI/CD vous permettent d’expédier les mises à jour plus rapidement.

Contributeurs

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

Auteur principal :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes

Exemples de déploiements de langage de conteneurs dans App Service :

Aide associée en matière d’architecture :