Share via


Overzicht: In containers geplaatste Python-web-app in Azure met MongoDB

In deze zelfstudie leert u hoe u een Python-web-app in een container kunt zetten en deze implementeert in Azure. De web-app met één container wordt gehost in Azure-app Service en gebruikt MongoDB voor Azure Cosmos DB om gegevens op te slaan. Met App Service Web App for Containers kunt u zich richten op het opstellen van uw containers zonder dat u zich zorgen hoeft te maken over het beheren en onderhouden van een onderliggende containerorchestrator. Bij het bouwen van web-apps is Azure-app Service een goede optie voor het uitvoeren van uw eerste stappen met containers. Zie Azure-containeropties vergelijken voor meer informatie over het gebruik van containers in Azure.

In deze zelfstudie gaat u:

Na deze zelfstudie hebt u de basis voor Continue integratie (CI) en Continue implementatie (CD) van een Python-web-app naar Azure.

Serviceoverzicht

In het servicediagram dat deze zelfstudie ondersteunt, ziet u twee omgevingen (ontwikkelomgeving en Azure) en de verschillende Azure-services die in de zelfstudie worden gebruikt.

A screenshot of the services using in the Tutorial - Containerized Python App on Azure.

De onderdelen die deze zelfstudie ondersteunen en in het bovenstaande diagram worden weergegeven, zijn:

  • Azure App Service

    • De onderliggende App Service-functionaliteit die containerisatie mogelijk maakt, is Web App for Containers. Azure-app Service maakt gebruik van de Docker-containertechnologie voor het hosten van zowel ingebouwde installatiekopieën als aangepaste installatiekopieën. In deze zelfstudie bouwt u een installatiekopieën van Python-code en implementeert u deze in Web App for Containers.

    • Web App for Containers maakt gebruik van een webhook in het register om op de hoogte te worden gesteld van nieuwe installatiekopieën. Met een push van een nieuwe installatiekopie naar de opslagplaats wordt App Service geactiveerd om de installatiekopie op te halen en opnieuw op te starten.

  • Azure Container Registry

    • Met Azure Container Registry kunt u werken met Docker-installatiekopieën en de bijbehorende onderdelen in Azure. Het biedt een register dat zich dicht bij uw implementaties in Azure bevindt en die u controle geeft over de toegang, zodat u uw Microsoft Entra-groepen en -machtigingen kunt gebruiken.

    • In deze zelfstudie is de registerbron Azure Container Registry, maar u kunt ook Docker Hub of een privéregister gebruiken met kleine wijzigingen.

  • Azure Cosmos DB voor MongoDB

    • De Azure Cosmos DB voor MongoDB is een NoSQL-database die in deze zelfstudie wordt gebruikt om gegevens op te slaan.

    • Toegang tot Azure Cosmos DB-resource is via een verbindingsreeks, die wordt doorgegeven als een omgevingsvariabele aan de container-app.

Verificatie

In deze zelfstudie bouwt u een Docker-installatiekopieën (lokaal of rechtstreeks in Azure) en implementeert u deze in Azure-app Service. De App Service haalt de containerinstallatiekopie op uit een Azure Container Registry-opslagplaats.

De App Service gebruikt beheerde identiteit om installatiekopieën op te halen uit Azure Container Registry. Met beheerde identiteit kunt u machtigingen verlenen aan de web-app, zodat deze toegang heeft tot andere Azure-resources zonder referenties op te geven. In deze zelfstudie wordt een door het systeem toegewezen beheerde identiteit gebruikt. Beheerde identiteit wordt geconfigureerd tijdens de installatie van App Service voor het gebruik van een registercontainerinstallatiekopieën.

De voorbeeldweb-app in de zelfstudie maakt gebruik van MongoDB om gegevens op te slaan. De voorbeeldcode maakt via een verbindingsreeks verbinding met Azure Cosmos DB.

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

Voorbeeld-app

De Python-voorbeeld-app is een app voor restaurantbeoordeling waarmee restaurant wordt opgeslagen en gegevens in MongoDB worden gecontroleerd. Zie Een Flask-web-app maken en implementeren in Azure met een beheerde identiteit voor een voorbeeld van een web-app met PostgreSQL.

Aan het einde van de zelfstudie hebt u een app voor restaurantbeoordeling geïmplementeerd en uitgevoerd in Azure die eruitziet als in de onderstaande schermopname.

A screenshot of the sample app created from the Python containerized web app used in the Tutorial - Containerized Python App on Azure.

Volgende stap