Přehled: Kontejnerizovaná webová aplikace v Pythonu v Azure s MongoDB

V této sérii kurzů se dozvíte, jak kontejnerizovat webovou aplikaci v Pythonu a pak ji spustit místně nebo ji nasadit do služby Azure App Service. App Service Web App for Containers umožňuje soustředit se na vytváření kontejnerů, aniž byste se museli starat o správu a údržbu základního orchestrátoru kontejnerů. Při vytváření webových aplikací je Azure App Service dobrou volbou pro první kroky s kontejnery. Tato webová aplikace kontejneru může k ukládání dat použít místní instanci MongoDB nebo Azure DocumentDB (s kompatibilitou MongoDB ). Další informace o používání kontejnerů v Azure najdete v tématu Porovnání možností kontejneru Azure.

V tomto kurzu se naučíte:

Po dokončení článků v této sérii kurzů máte základ pro kontinuální integraci (CI) a průběžné nasazování (CD) webové aplikace Python k Azure.

Přehled služby

Diagram služby podporující tento kurz ukazuje dvě prostředí: vývojové prostředí a prostředí Azure. Zvýrazňuje klíčové služby Azure používané v procesu vývoje.

snímek obrazovky se službami použitými v kurzu – Kontejnerizovaná aplikace Pythonu v Azure.

Vývojářské prostředí

Vývojářské prostředí pro účely tohoto kurzu obsahuje následující komponenty:

  • místního vývojového systému: Osobní počítač používaný pro kódování, sestavování a testování kontejneru Dockeru.

  • Docker Containerization: Docker se používá k zabalení aplikace a jejích závislostí do přenosného kontejneru.

  • Vývojové nástroje: Editor kódu a další nezbytné nástroje pro vývoj softwaru.

  • Místní instance MongoDB: Místní databáze MongoDB použitá pro ukládání dat během vývoje.

  • Připojení MongoDB: připojovací řetězec, která poskytuje přístup k místní databázi MongoDB.

Prostředí Azure

Mezi komponenty, které podporují Azure prostředí v tomto kurzu, patří:

  • Azure App Service

    • Ve Azure App Service používá Služba Web App for Containers technologii kontejneru Dockeru k zajištění hostování kontejnerů pro integrované image i vlastní image pomocí Dockeru.
    • Služba Web App for Containers používá webhook ve službě Azure Container Registry (ACR) k oznámení o nových imagech. Když do registru nasdílíte novou image, oznámení webhooku aktivuje službu App Service, aby si stáhla aktualizaci a restartovala aplikaci.
  • Azure Container Registry

    • Azure Container Registry umožňuje ukládat a spravovat image Dockeru a jejich komponenty v Azure. Poskytuje registr umístěný v blízkosti vašich nasazení v Azure, který umožňuje řídit přístup pomocí skupin a oprávnění Microsoft Entra.

    • V tomto kurzu je azure Container Registry zdrojem registru, ale můžete také použít Docker Hub nebo privátní registr s menšími úpravami.

  • Azure DocumentDB kompatibilní s MongoDB

    • Azure DocumentDB je databáze kompatibilní s MongoDB, která se používá v tomto kurzu pro ukládání dat.

    • Kontejnerizovaná aplikace se připojí k prostředku Azure DocumentDB a přistupuje k němu pomocí připojovací řetězec, který uložíte jako proměnnou prostředí a poskytnete aplikaci.

Autentizace

V tomto kurzu vytvoříte image Dockeru( místně nebo v Azure) a pak ji nasadíte do Služby Azure App Service. App Service načte image kontejneru z úložiště Azure Container Registry.

K bezpečnému načtení imagí z úložiště používá App Service spravovanou identitu přiřazenou systémem. Tato spravovaná identita uděluje webové aplikaci oprávnění k interakci s jinými Azure prostředky, takže nepotřebujete explicitní přihlašovací údaje. Pro účely tohoto kurzu nakonfigurujte spravovanou identitu během instalace služby App Service tak, aby používala image kontejneru registru.

Ukázková webová aplikace kurzu používá k ukládání dat MongoDB. Ukázkový kód se připojí k Azure DocumentDB prostřednictvím připojovacího řetězce.

Požadavky

K dokončení tohoto kurzu potřebujete:

Ukázková aplikace

Konečným výsledkem tohoto kurzu je aplikace pro kontrolu restaurace nasazená a spuštěná v Azure, která vypadá jako na následujícím snímku obrazovky.

snímek obrazovky ukázkové aplikace vytvořené z kontejnerizované webové aplikace Pythonu použité v kurzu – Kontejnerizovaná aplikace v Pythonu v Azure.

V tomto kurzu vytvoříte aplikaci pro kontrolu restaurace v Pythonu, která využívá MongoDB pro ukládání dat. Ukázkovou aplikaci využívající PostgreSQL najdete v tématu Vytvoření a nasazení webové aplikace Flask do Azure se spravovanou identitou.

Další krok