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

Deze reeks zelfstudies laat zien hoe u een Python-web-app in een container kunt zetten en deze vervolgens lokaal uitvoert of implementeert in Azure App Service. Met App Service Web App for Containers kunt u zich richten op het bouwen van uw containers zonder dat u zich zorgen hoeft te maken over het beheren en onderhouden van een onderliggende containerorchestrator. Wanneer u web-apps bouwt, is Azure App Service een goede optie voor het uitvoeren van uw eerste stappen met containers. Deze containerweb-app kan een lokaal MongoDB-exemplaar of Azure DocumentDB (met MongoDB-compatibiliteit) gebruiken om gegevens op te slaan. Zie Opties voor Azure-containers vergelijkenvoor meer informatie over het gebruik van containers in Azure.

In deze handleiding leert u:

Nadat u de artikelen in deze zelfstudieserie hebt voltooid, hebt u een basis voor continue integratie (CI) en CD (continue implementatie) van een Python-web-app naar Azure.

Overzicht van de service

Het servicediagram dat deze zelfstudie ondersteunt, bevat twee omgevingen: ontwikkelomgeving en Azure-omgeving. Hierin worden de belangrijkste Azure-services gemarkeerd die in het ontwikkelingsproces worden gebruikt.

Een schermopname van de services die worden gebruikt in de zelfstudie : In containers geplaatste Python-app in Azure.

Ontwikkelomgeving

De ontwikkelomgeving voor deze zelfstudie bevat de volgende onderdelen:

  • Local Development System: een persoonlijke computer die wordt gebruikt voor het coderen, bouwen en testen van de Docker-container.

  • Docker-containerisatie: Docker wordt gebruikt om de app en de bijbehorende afhankelijkheden in een draagbare container te verpakken.

  • Ontwikkelhulpprogramma's: een code-editor en andere benodigde hulpprogramma's voor softwareontwikkeling.

  • Lokaal MongoDB-exemplaar: een lokale MongoDB-database die wordt gebruikt voor gegevensopslag tijdens de ontwikkeling.

  • MongoDB-verbinding: een verbindingsreeks die toegang biedt tot de lokale MongoDB-database.

Azure-omgeving

De onderdelen die ondersteuning bieden voor de Azure-omgeving in deze zelfstudie zijn onder andere:

  • Azure App Service

    • In Azure App Service gebruikt Web App for Containers de Docker-containertechnologie om containerhosting te bieden voor zowel ingebouwde installatiekopieën als aangepaste installatiekopieën met behulp van Docker.
    • Web App for Containers maakt gebruik van een webhook in de Azure Container Registry (ACR) om op de hoogte te worden gesteld van nieuwe images. Wanneer u een nieuwe installatiekopie naar het register pusht, activeert de webhookmelding App Service om de update op te halen en de app opnieuw te starten.
  • Azure Container Registry

    • Met Azure Container Registry kunt u Docker-installatiekopieën en hun onderdelen opslaan en beheren in Azure. Het biedt een register in de buurt van uw implementaties in Azure waarmee u de toegang kunt beheren met behulp van uw Microsoft Entra groepen en machtigingen.

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

  • Azure DocumentDB (met MongoDB-compatibiliteit)

    • Azure DocumentDB is een mongoDB-compatibele database die in deze zelfstudie wordt gebruikt voor gegevensopslag.

    • De containertoepassing maakt verbinding met en opent de Azure DocumentDB-resource met behulp van een verbindingsreeks, die u opslaat als een omgevingsvariabele en aan de app levert.

Authenticatie

In deze handleiding bouwt u een Docker-image, lokaal of in Azure, en rolt u deze vervolgens uit naar Azure App Service. De App Service haalt de containerinstallatiekopie op uit een Azure Container Registry-opslagplaats.

App Service gebruikt een door het systeem toegewezen beheerde identiteit om veilig installatiekopieën op te halen uit de opslagplaats. Deze beheerde identiteit verleent de web-app machtigingen om te communiceren met andere Azure resources, zodat u geen expliciete referenties nodig hebt. Configureer in deze zelfstudie de beheerde identiteit tijdens het instellen van App Service zodat deze een containerinstallatiekopie uit een register gebruikt.

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

Voorwaarden

U hebt het volgende nodig om deze zelfstudie te voltooien:

Voorbeeld-app

Het eindresultaat van deze zelfstudie is een restaurantbeoordelings-app, geïmplementeerd en uitgevoerd in Azure, die eruitziet als de volgende schermopname.

Een schermopname van de voorbeeld-app die is gemaakt op basis van de python-web-app in containers die wordt gebruikt in de zelfstudie: In containers geplaatste Python-app in Azure.

In deze zelfstudie bouwt u een Python-restaurantbeoordelings-app die Gebruikmaakt van MongoDB voor gegevensopslag. Zie Een Flask-web-app maken en implementeren in Azure met een beheerde identiteit voor een voorbeeld-app met PostgreSQL.

Volgende stap