Delen via


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 MongoDB voor Azure Cosmos DB gebruiken om gegevens op te slaan. Zie Opties voor Azure-containers vergelijkenvoor meer informatie over het gebruik van containers in Azure.

In deze tutorial doet u het volgende:

Nadat u de artikelen in deze reeks zelfstudies hebt voltooid, hebt u de basis voor Continue integratie (CI) en Continue implementatie (CD) 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 onderdelen die de ontwikkelaarsomgeving in deze zelfstudie ondersteunen, zijn onder andere:

  • 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: bevat een code-editor en andere benodigde hulpprogramma's voor softwareontwikkeling.

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

  • MongoDB-verbinding: toegang tot de lokale MongoDB-database die via een verbindingsreeks wordt geleverd.

Azure-omgeving

De onderdelen die de Azure-omgeving in deze zelfstudie ondersteunen, zijn onder andere:

  • Azure App Service

    • In Azure App Service maakt Web App for Containers gebruik van de Docker--containertechnologie om containerhosting van zowel ingebouwde installatiekopieën als aangepaste installatiekopieën te bieden 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 een nieuwe afbeelding naar het register wordt gepusht, activeert de webhookmelding App Service om de update 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 Cosmos DB voor MongoDB-

    • Azure Cosmos DB voor MongoDB is een NoSQL-database die in deze zelfstudie wordt gebruikt voor gegevensopslag.

    • De containertoepassing maakt verbinding met en opent de Azure Cosmos DB-resource met behulp van een verbindingsreeks, die wordt opgeslagen als een omgevingsvariabele en wordt geleverd aan de app.

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 maakt gebruik van een door het systeem toegewezen beheerde identiteit om veilig afbeeldingen uit de repository op te halen. Deze beheerde identiteit verleent de web-app machtigingen om te communiceren met andere Azure-resources, waardoor expliciete referenties niet meer nodig zijn. Voor deze zelfstudie wordt de beheerde identiteit tijdens de configuratie van App Service ingesteld voor het gebruik van een containerimage van een register.

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.

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