Udostępnij przez


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 internetowa kontenera może używać lokalnego wystąpienia bazy danych MongoDB lub usługi Azure DocumentDB (ze zgodnością z bazą danych MongoDB) 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 DocumentDB (ze zgodnością z bazą danych MongoDB)

    • Usługa Azure DocumentDB jest bazą danych zgodną z bazą danych MongoDB używaną w tym samouczku na potrzeby przechowywania danych.

    • Konteneryzowana aplikacja łączy się z zasobem usługi Azure DocumentDB i uzyskuje do niej dostęp przy użyciu parametrów połączenia, które są przechowywane jako zmienna środowiskowa i udostępniane 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 DocumentDB 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