Partager via


Vue d’ensemble : Application web Python conteneurisée sur Azure avec MongoDB

Cette série de tutoriels vous montre comment conteneuriser une application web Python, puis l’exécuter localement ou la déployer sur Azure App Service. App Service Web App for Containers vous permet de vous concentrer sur la création de vos conteneurs sans vous soucier de la gestion et de la maintenance d’un orchestrateur de conteneurs sous-jacent. Lorsque vous créez des applications web, Azure App Service est une bonne option pour suivre vos premières étapes avec des conteneurs. Cette application web conteneur peut utiliser une instance MongoDB locale ou MongoDB pour Azure Cosmos DB pour stocker des données. Pour en savoir plus sur l’utilisation des conteneurs dans Azure, consultez Comparaison des options de conteneurs Azure.

Dans ce tutoriel, vous allez :

Une fois les articles de cette série de didacticiels terminés, vous aurez la base de l’intégration continue (CI) et du déploiement continu (CD) d’une application web Python sur Azure.

Présentation des services

Le diagramme de service prenant en charge ce didacticiel présente deux environnements : l’environnement développeur et l’environnement Azure. Il met en évidence les principaux services Azure utilisés dans le processus de développement.

Capture d’écran des services utilisés dans le didacticiel - Application Python conteneurisée sur Azure.

Environnement de développeur

Les composants prenant en charge l’environnement de développement dans ce tutoriel sont les suivants :

  • Système de développement local : un ordinateur personnel utilisé pour le codage, la compilation et le test du conteneur Docker.

  • Mise en conteneur Docker : Docker est utilisé pour empaqueter l’application et ses dépendances dans un conteneur portable.

  • Outils de développement : Inclut un éditeur de code ainsi que d'autres outils indispensables pour le développement logiciel.

  • Instance MongoDB locale : base de données MongoDB locale utilisée pour le stockage des données pendant le développement.

  • Connexion MongoDB : accès à la base de données MongoDB locale fourni via une chaîne de connexion.

Environnement Azure

Les composants prenant en charge l’environnement Azure dans ce tutoriel sont les suivants :

  • Azure App Service

    • Dans Azure App Service, Web App for Containers utilise la technologie des conteneurs Docker pour héberger des images intégrées et personnalisées.
    • Web App for Containers utilise un webhook dans Azure Container Registry (ACR) pour être averti des nouvelles images. Lorsqu’une nouvelle image est envoyée au registre, la notification de webhook amène App Service à extraire la mise à jour et à redémarrer l’application.
  • Azure Container Registry

    • Azure Container Registry vous permet de stocker et de gérer des images Docker et leurs composants dans Azure. Il fournit un registre situé près de vos déploiements dans Azure, ce qui vous permet de contrôler l’accès à l’aide de vos groupes et autorisations Microsoft Entra.

    • Dans ce tutoriel, Azure Container Registry est la source du Registre, mais vous pouvez également utiliser Docker Hub ou un registre privé avec des modifications mineures.

  • Azure Cosmos DB pour MongoDB

    • Azure Cosmos DB pour MongoDB est une base de données NoSQL utilisée dans ce didacticiel pour le stockage de données.

    • L’application conteneurisée se connecte à la ressource Azure Cosmos DB et y accède à l’aide d’une chaîne de connexion, qui est stockée en tant que variable d’environnement et fournie à l’application.

Authentification

Dans ce tutoriel, vous créez une image Docker, localement ou dans Azure, puis déployez-la sur Azure App Service. App Service extrait l’image conteneur à partir d’un référentiel Azure Container Registry.

Pour extraire en toute sécurité des images à partir du référentiel, App Service utilise une identité managée affectée par le système. Cette identité managée accorde les autorisations d’application web pour interagir avec d’autres ressources Azure, ce qui élimine la nécessité d’informations d’identification explicites. Pour ce tutoriel, l’identité managée est configurée lors de l’installation d’App Service pour utiliser une image conteneur de Registre.

L’exemple d’application web du didacticiel utilise MongoDB pour stocker des données. L’exemple de code se connecte à Azure Cosmos DB via une chaîne de connexion.

Conditions préalables

Pour suivre ce didacticiel, vous avez besoin des éléments suivants :

  • Un compte Azure dans lequel vous pouvez créer :

  • Visual Studio Code ou Azure CLI, selon l'outil de votre choix. Si vous utilisez Visual Studio Code, vous avez besoin des extensions Docker et Azure App Service.

  • Ces packages Python :

  • Docker installé localement.

Exemple d’application

Le résultat final de ce didacticiel est une application de révision de restaurant, déployée et en cours d’exécution dans Azure, qui ressemble à la capture d’écran suivante.

Capture d’écran de l’exemple d’application créé à partir de l’application web en conteneur Python utilisée dans le didacticiel - Application Python conteneurisée sur Azure.

Dans ce tutoriel, vous créez une application de révision de restaurant Python qui utilise MongoDB pour le stockage de données. Pour obtenir un exemple d’application utilisant PostgreSQL, consultez Créer et déployer une application web Flask sur Azure avec une identité managée.

Étape suivante

Construire et tester localement