Gambaran Umum: Aplikasi web Python kontainer di Azure dengan MongoDB

Tutorial ini menunjukkan kepada Anda cara membuat kontainer aplikasi web Python dan menyebarkannya ke Azure. Aplikasi web kontainer tunggal dihosting di Azure App Service dan menggunakan MongoDB untuk Azure Cosmos DB untuk menyimpan data. App Service Web App for Containers memungkinkan Anda untuk fokus menyusun kontainer Tanpa khawatir mengelola dan memelihara orkestrator kontainer yang mendasar. Saat membangun aplikasi web, Azure App Service adalah opsi yang baik untuk mengambil langkah pertama Anda dengan kontainer. Untuk informasi selengkapnya tentang menggunakan kontainer di Azure, lihat Membandingkan opsi kontainer Azure.

Dalam tutorial ini, Anda akan:

  • Buat dan jalankan kontainer Docker secara lokal. Langkah ini bersifat opsional.

  • Buat gambar kontainer Docker langsung di Azure.

  • Konfigurasikan App Service untuk membuat aplikasi web berdasarkan gambar kontainer Docker.

Setelah tutorial ini, Anda akan memiliki dasar untuk Integrasi Berkelanjutan (CI) dan Penyebaran Berkelanjutan (CD) dari aplikasi web Python ke Azure.

Gambaran umum layanan

Diagram layanan yang mendukung tutorial ini menunjukkan dua lingkungan (lingkungan pengembang dan Azure) dan berbagai layanan Azure yang digunakan dalam tutorial.

A screenshot of the services using in the Tutorial - Containerized Python App on Azure.

Komponen yang mendukung tutorial ini dan ditunjukkan pada diagram di atas adalah:

  • Azure App Service

    • Fungsionalitas App Service yang mendasar yang memungkinkan kontainerisasi adalah Aplikasi Web untuk Kontainer. Azure App Service menggunakan teknologi kontainer Docker untuk menghosting gambar bawaan dan gambar kustom. Dalam tutorial ini, Anda akan membuat gambar dari kode Python dan menyebarkannya ke Aplikasi Web untuk Kontainer.

    • Aplikasi Web untuk Kontainer menggunakan webhook di registri untuk mendapatkan pemberitahuan tentang gambar baru. Dorongan gambar baru ke repositori memicu App Service untuk menarik gambar dan memulai ulang.

  • Azure Container Registry

    • Azure Container Registry memungkinkan Anda bekerja dengan gambar Docker dan komponennya di Azure. Ini menyediakan registri yang dekat dengan penyebaran Anda di Azure dan yang memberi Anda kontrol atas akses, sehingga memungkinkan untuk menggunakan grup dan izin Microsoft Entra Anda.

    • Dalam tutorial ini, sumber registri adalah Azure Container Registry, tetapi Anda juga dapat menggunakan Docker Hub atau registri privat dengan modifikasi kecil.

  • Azure Cosmos DB untuk MongoDB

    • Azure Cosmos DB for MongoDB adalah database NoSQL yang digunakan dalam tutorial ini untuk menyimpan data.

    • Akses ke sumber daya Azure Cosmos DB adalah melalui string koneksi, yang diteruskan sebagai variabel lingkungan ke aplikasi kontainer.

Autentikasi

Dalam tutorial ini, Anda akan membuat gambar Docker (baik secara lokal atau langsung di Azure) dan menyebarkannya ke Azure App Service. App Service menarik gambar kontainer dari repositori Azure Container Registry.

App Service menggunakan identitas terkelola untuk menarik gambar dari Azure Container Registry. Identitas terkelola memungkinkan Anda memberikan izin ke aplikasi web sehingga dapat mengakses sumber daya Azure lainnya tanpa perlu menentukan kredensial. Secara khusus, tutorial ini menggunakan identitas terkelola yang ditetapkan sistem. Identitas terkelola dikonfigurasi selama penyiapan App Service untuk menggunakan gambar kontainer registri.

Contoh aplikasi web tutorial menggunakan MongoDB untuk menyimpan data. Kode sampel tersambung ke Azure Cosmos DB melalui string koneksi.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan:

Aplikasi sampel

Aplikasi sampel Python adalah aplikasi ulasan restoran yang menyimpan restoran dan meninjau data di MongoDB. Untuk contoh aplikasi web menggunakan PostgreSQL, lihat Membuat dan menyebarkan aplikasi web Flask ke Azure dengan identitas terkelola.

Di akhir tutorial, Anda akan memiliki aplikasi ulasan restoran yang disebarkan dan berjalan di Azure yang terlihat seperti cuplikan layar di bawah ini.

A screenshot of the sample app created from the Python containerized web app used in the Tutorial - Containerized Python App on Azure.

Langkah selanjutnya