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.
Komponen yang mendukung tutorial ini dan ditunjukkan pada diagram di atas adalah:
-
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 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 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:
Akun Azure tempat Anda dapat membuat:
- Azure Container Registry
- Azure App Service
- Azure Cosmos DB for MongoDB (atau akses ke yang setara). Untuk membuat database Azure Cosmos DB for MongoDB, kami sarankan Anda mengikuti langkah-langkah di bagian 2 tutorial ini.
Visual Studio Code atau Azure CLI, bergantung pada alat apa yang akan Anda gunakan.
Paket Python:
Docker diinstal secara lokal jika Anda ingin menjalankan kontainer secara lokal.
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.
Langkah selanjutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk