Idées de solution
Cet article présente une idée de solution. Votre architecte cloud peut s’appuyer sur ces conseils pour visualiser les principaux composants d’une implémentation typique de cette architecture. Utilisez cet article comme point de départ pour concevoir une solution bien conçue qui répond aux exigences spécifiques de votre charge de travail.
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
Téléchargez un fichier Visio de cette architecture.
Dataflow
- Le développeur convertit l’application web existante en conteneur.
- Le développeur publie l’image conteneur sur :
- Un registre privé ou Docker Hub.
- Ou un registre de conteneurs Azure.
- App Service extrait l’image avec :
- Informations d’identification pour le registre privé ou Docker Hub s’il est utilisé.
- Ou l’identité managée, qui utilise un principal de sécurité Microsoft Entra pour accéder à Azure Container Registry.
- Des connecteurs de services pour accéder à d’autres ressources Azure.
- 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 :
- Marc Gelormino | Développeur de contenu
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Déployer et exécuter une application web conteneurisée avec Azure App Service
- Gérer les images conteneur dans Azure Container Registry
- Vue d’ensemble sur Web App pour conteneurs et Azure App Service sur Linux
- Comparaison des applications conteneur à d’autres options de conteneur Azure
- Connexions sans mot de passe pour les services Azure
Exemples de déploiements de langage de conteneurs dans App Service :
- Déployer l’application web Python conteneurisée sur Azure App Service
- Déployer Express.js avec Visual Studio Code sur Azure App Service
- Déployer un conteneur ASP.NET Core dans Azure App Service à l’aide de Visual Studio
Ressources associées
Aide associée en matière d’architecture :