Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Seri tutorial ini menunjukkan kepada Anda cara membuat kontainer aplikasi web Python lalu menjalankannya secara lokal atau menyebarkannya ke Azure App Service. App Service Web App for Containers memungkinkan Anda untuk fokus membangun kontainer tanpa khawatir mengurus dan menjaga orkestrator kontainer yang mendasarinya. Saat Anda membangun aplikasi web, Azure App Service adalah opsi yang baik untuk mengambil langkah pertama Anda dengan kontainer. Aplikasi web kontainer ini dapat menggunakan instans MongoDB lokal atau MongoDB untuk Azure Cosmos DB untuk menyimpan data. Untuk informasi selengkapnya tentang menggunakan kontainer di Azure, lihat Membandingkan opsi kontainer Azure.
Di tutorial ini, Anda akan:
Buat dan jalankan kontainer Docker secara lokal. Lihat Membangun dan menjalankan aplikasi web Python dalam kontainer secara lokal.
Buat gambar kontainer Docker langsung di Azure. Lihat Membangun aplikasi web Python dalam kontainer di Azure.
Konfigurasikan App Service untuk membuat aplikasi web berdasarkan gambar kontainer Docker. Lihat Menyebarkan aplikasi Python dalam kontainer ke App Service.
Setelah menyelesaikan artikel dalam seri 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 lingkungan Azure. Ini menyoroti layanan Azure utama yang digunakan dalam proses pengembangan.
Lingkungan pengembang
Komponen yang mendukung lingkungan pengembang dalam tutorial ini meliputi:
Sistem Pengembangan Lokal: Komputer pribadi yang digunakan untuk mengoding, membangun, dan menguji kontainer Docker.
Kontainerisasi Docker: Docker digunakan untuk mengemas aplikasi dan dependensinya ke dalam kontainer portabel.
Alat Pengembangan: Menyertakan editor kode dan alat lain yang diperlukan untuk pengembangan perangkat lunak.
Instans MongoDB Lokal: Database MongoDB lokal yang digunakan untuk penyimpanan data selama pengembangan.
Koneksi MongoDB: Akses ke database MongoDB lokal yang disediakan melalui string koneksi.
Lingkungan Azure
Komponen yang mendukung lingkungan Azure dalam tutorial ini meliputi:
-
- Di Azure App Service, Aplikasi Web untuk Kontainer menggunakan teknologi kontainer Docker untuk menyediakan hosting kontainer gambar bawaan dan gambar kustom menggunakan Docker.
- Aplikasi Web untuk Kontainer menggunakan webhook di Azure Container Registry (ACR) untuk mendapatkan pemberitahuan tentang gambar baru. Saat gambar baru didorong ke registri, pemberitahuan webhook memicu App Service untuk menarik pembaruan dan memulai ulang aplikasi.
-
Azure Container Registry memungkinkan Anda menyimpan dan mengelola gambar Docker dan komponennya di Azure. Ini menyediakan registri yang terletak di dekat penyebaran Anda di Azure yang memberi Anda kemampuan untuk mengontrol akses menggunakan grup dan izin Microsoft Entra Anda.
Dalam tutorial ini, Azure Container Registry adalah sumber registri, 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 penyimpanan data.
Aplikasi kontainer terhubung ke dan mengakses sumber daya Azure Cosmos DB menggunakan string koneksi, yang disimpan sebagai variabel lingkungan dan disediakan untuk aplikasi.
Otentikasi
Dalam tutorial ini, Anda membangun gambar Docker, baik secara lokal atau di Azure, lalu menyebarkannya ke Azure App Service. App Service menarik gambar kontainer dari repositori Azure Container Registry.
Untuk menarik gambar dengan aman dari repositori, App Service menggunakan identitas terkelola yang ditetapkan sistem. Identitas terkelola ini memberikan izin aplikasi web untuk berinteraksi dengan sumber daya Azure lainnya, menghilangkan kebutuhan akan kredensial eksplisit. Untuk tutorial ini, identitas terkelola dikonfigurasi pada saat penyiapan App Service agar dapat menggunakan citra kontainer dari 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, ikuti langkah-langkah di bagian 2 tutorial ini.
Visual Studio Code atau Azure CLI, bergantung pada alat pilihan Anda. Jika Anda menggunakan Visual Studio Code, Anda memerlukan ekstensi Docker dan ekstensi Azure App Service.
Paket Python ini:
- MongoDB Shell (mongosh) untuk terhubung ke MongoDB.
- Flask atau Django sebagai kerangka kerja web.
Docker diinstal secara lokal.
Aplikasi Contoh
Hasil akhir tutorial ini adalah aplikasi ulasan restoran, yang disebarkan dan berjalan di Azure, yang terlihat seperti cuplikan layar berikut.
Dalam tutorial ini, Anda membangun aplikasi ulasan restoran Python yang menggunakan MongoDB untuk penyimpanan data. Untuk contoh aplikasi menggunakan PostgreSQL, lihat Membuat dan menyebarkan aplikasi web Flask ke Azure dengan identitas terkelola.