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 effectuer vos premières étapes avec des conteneurs. Cette application web conteneur peut utiliser une instance MongoDB locale ou Azure DocumentDB (avec compatibilité MongoDB) 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 avez la base de l’intégration continue (CI) et du déploiement continu (CD) d’une application web Python pour 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

L’environnement de développement de ce didacticiel comprend les composants suivants :

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

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

  • Outils de développement : éditeur de code et autres outils nécessaires pour le développement de logiciels.

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

  • Connexion MongoDB : chaîne de connexion qui fournit l’accès à la base de données MongoDB locale.

Environnement Azure

Les composants qui prennent 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 de conteneur Docker pour fournir l’hébergement de conteneurs pour les images intégrées et les images personnalisées à l’aide de Docker.
    • Web App for Containers utilise un webhook dans Azure Container Registry (ACR) pour être averti des nouvelles images. Lorsque vous envoyez une nouvelle image au Registre, la notification de webhook déclenche App Service pour 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 qui vous donne la possibilité 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 DocumentDB (avec compatibilité MongoDB)

    • Azure DocumentDB est une base de données compatible MongoDB utilisée dans ce didacticiel pour le stockage des données.

    • L’application conteneurisée se connecte et accède à la ressource DocumentDB Azure à l’aide d’un chaîne de connexion, que vous stockez en tant que variable d’environnement et fournissez à 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, de sorte que vous n'avez pas besoin d'informations d'identification explicites. Pour ce tutoriel, configurez l’identité managé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 DocumentDB via une chaîne de connexion.

Conditions préalables

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

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