Udostępnij za pośrednictwem


Omówienie: Konteneryzowana aplikacja internetowa w języku Python na platformie Azure przy użyciu bazy danych MongoDB

W tej serii samouczków pokazano, jak konteneryzować aplikację internetową w języku Python, a następnie uruchomić ją lokalnie lub wdrożyć w usłudze Azure App Service. Usługa App Service Web App for Containers umożliwia skoncentrowanie się na tworzeniu kontenerów bez martwienia się o zarządzanie bazowym orkiestratorem kontenerów i konserwowanie go. Podczas tworzenia aplikacji internetowych usługa Azure App Service jest dobrym rozwiązaniem do wykonywania pierwszych kroków z kontenerami. Ta aplikacja kontenerowa może używać lokalnej instancji MongoDB lub MongoDB dla usługi Azure Cosmos DB do przechowywania danych. Aby uzyskać więcej informacji na temat używania kontenerów na platformie Azure, zobacz Porównanie opcji kontenera platformy Azure.

W tym samouczku nauczysz się:

Po ukończeniu artykułów z tej serii samouczków będziesz mieć podstawę dla ciągłej integracji (CI) i ciągłego wdrażania (CD) aplikacji internetowej w języku Python na platformie Azure.

Omówienie usługi

Diagram usługi obsługujący ten samouczek przedstawia dwa środowiska: środowisko deweloperskie i środowisko platformy Azure. Wyróżnia ona kluczowe usługi platformy Azure używane w procesie programowania.

Zrzut ekranu przedstawiający usługi używane w samouczku — konteneryzowana aplikacja języka Python na platformie Azure.

Środowisko programistyczne

Składniki obsługujące środowisko deweloperskie w tym samouczku obejmują:

  • Lokalny system programowania: komputer osobisty używany do kodowania, kompilowania i testowania kontenera platformy Docker.

  • Konteneryzacja platformy Docker: platforma Docker jest stosowana do tworzenia pakietów aplikacji i jej zależności w kontenerze przenośnym.

  • Narzędzia programistyczne: zawiera edytor kodu i inne niezbędne narzędzia do tworzenia oprogramowania.

  • Lokalne wystąpienie bazy danych MongoDB: lokalna baza danych MongoDB używana do przechowywania danych podczas programowania.

  • Połączenie z bazą danych MongoDB: dostęp do lokalnej bazy danych MongoDB udostępnianej za pośrednictwem parametrów połączenia.

Środowisko platformy Azure

Składniki obsługujące środowisko platformy Azure w tym samouczku obejmują:

  • Azure App Service

    • W usłudze Azure App Service usługa Web App for Containers używa technologii kontenera platformy Docker do udostępniania hostingu kontenerów zarówno wbudowanych obrazów, jak i obrazów niestandardowych przy użyciu platformy Docker.
    • Usługa Web App for Containers używa webhooku w usłudze Azure Container Registry (ACR), aby otrzymywać powiadomienia o nowych obrazach. Po wypchnięciu nowego obrazu do rejestru powiadomienie webhook wyzwala usługę App Service do pobrania aktualizacji i ponownego uruchomienia aplikacji.
  • Azure Container Registry

    • Usługa Azure Container Registry umożliwia przechowywanie obrazów platformy Docker i ich składników oraz zarządzanie nimi na platformie Azure. Udostępnia rejestr znajdujący się w pobliżu wdrożeń na platformie Azure, który umożliwia kontrolowanie dostępu przy użyciu grup i uprawnień firmy Microsoft Entra.

    • W tym samouczku usługa Azure Container Registry jest źródłem rejestru, ale można również użyć usługi Docker Hub lub prywatnego rejestru z drobnymi modyfikacjami.

  • Azure Cosmos DB dla MongoDB

    • Usługa Azure Cosmos DB for MongoDB to baza danych NoSQL używana w tym samouczku do przechowywania danych.

    • Konteneryzowana aplikacja łączy się z zasobem usługi Azure Cosmos DB i uzyskuje do niej dostęp przy użyciu parametrów połączenia, które są przechowywane jako zmienna środowiskowa i dostarczane do aplikacji.

Uwierzytelnianie

W tym samouczku utworzysz obraz platformy Docker lokalnie lub na platformie Azure, a następnie wdrożysz go w usłudze Azure App Service. Usługa App Service ściąga obraz kontenera z repozytorium usługi Azure Container Registry.

Aby bezpiecznie ściągać obrazy z repozytorium, usługa App Service korzysta z tożsamości zarządzanej przypisanej przez system. Ta tożsamość zarządzana przyznaje aplikacji internetowej uprawnienia do interakcji z innymi zasobami platformy Azure, eliminując potrzebę jawnych poświadczeń. Na potrzeby tego samouczka tożsamość zarządzana jest konfigurowana w trakcie konfiguracji usługi App Service do wykorzystania obrazu kontenera z rejestru.

Przykładowa aplikacja internetowa z samouczka używa bazy danych MongoDB do przechowywania danych. Przykładowy kod łączy się z usługą Azure Cosmos DB za pośrednictwem parametrów połączenia.

Wymagania wstępne

Do ukończenia tego samouczka potrzebne są następujące elementy:

Przykładowa aplikacja

Wynikiem końcowym tego samouczka jest aplikacja do przeglądu restauracji, wdrożona i uruchomiona na platformie Azure, która wygląda jak na poniższym zrzucie ekranu.

Zrzut ekranu przedstawiający przykładową aplikację utworzoną na podstawie konteneryzowanej aplikacji internetowej języka Python używanej w artykule Samouczek — konteneryzowana aplikacja python na platformie Azure.

W tym samouczku utworzysz aplikację do recenzowania restauracji w Pythonie, która korzysta z MongoDB do przechowywania danych. Aby zapoznać się z przykładową aplikacją korzystającą z bazy danych PostgreSQL, zobacz Tworzenie i wdrażanie aplikacji internetowej platformy Flask na platformie Azure przy użyciu tożsamości zarządzanej.

Następny krok