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.
Azure Container Apps adalah layanan kontainer serverless yang sepenuhnya dikelola untuk menjalankan layanan mikro dan aplikasi terkontainerisasi di Azure. Ini menyediakan penskalaan otomatis bawaan, termasuk penskalaan ke nol, dan mendukung berbagai bahasa pemrograman serta kerangka kerja. Aplikasi Kontainer mengintegrasikan dengan Azure Kubernetes Service (AKS) untuk jaringan lanjutan dan pemantauan. Ini juga menyediakan penerapan dan pengelolaan aplikasi yang terkontainerisasi dengan lancar tanpa perlu mengelola infrastruktur yang mendasarinya. Ini mendukung aplikasi berbasis HTTP dan berbasis acara, sehingga ideal untuk membangun aplikasi cloud-native yang modern, skalabel, dan tangguh.
Artikel ini mengasumsikan bahwa sebagai seorang arsitek, Anda telah meninjau pohon keputusan komputasi dan memilih Container Apps sebagai platform komputasi untuk beban kerja Anda. Panduan dalam artikel ini memberikan rekomendasi arsitektur yang dipetakan ke prinsip pilar kerangka kerja Well-Architected.
Penting
Cara menggunakan panduan ini
Setiap bagian memiliki daftar pengecekan desain yang menyajikan aspek arsitektur yang perlu diperhatikan serta strategi desain yang disesuaikan dengan cakupan teknologi.
Juga termasuk rekomendasi untuk kemampuan teknologi yang dapat membantu mewujudkan strategi tersebut. Rekomendasi tidak mewakili daftar lengkap semua konfigurasi yang tersedia untuk Aplikasi Kontainer dan dependensinya. Sebaliknya, mereka mencantumkan rekomendasi-rekomendasi kunci yang dipetakan berdasarkan perspektif desain. Gunakan rekomendasi untuk membangun bukti konsep Anda atau untuk mengoptimalkan lingkungan Anda yang ada.
Arsitektur dasar yang menunjukkan rekomendasi utama: Microservices dengan Azure Container Apps.
cakupan teknologi
Tinjauan ini berfokus pada keputusan yang saling terkait untuk sumber daya Azure berikut:
- Aplikasi Kontainer
Keandalan
Tujuan pilar Keandalan adalah untuk memberikan fungsionalitas berkelanjutan dengan membangun ketahanan yang cukup dan kemampuan untuk memulihkan dengan cepat dari kegagalan.
prinsip desain Keandalan menyediakan strategi desain tingkat tinggi yang diterapkan untuk komponen individu, alur sistem, dan sistem secara keseluruhan.
Daftar periksa desain
Mulai strategi desain Anda berdasarkan daftar periksa tinjauan desain untuk Keandalan. Tentukan relevansinya dengan kebutuhan bisnis Anda sambil mengingat kinerja dan keandalan aplikasi Anda. Perluas strategi untuk menyertakan lebih banyak pendekatan sesuai kebutuhan.
Pilih konfigurasi SKU yang sesuai. Pilih SKU lingkungan yang selaras dengan persyaratan sumber daya dan performa aplikasi kontainer Anda.
Bangun redundansi untuk meningkatkan ketahanan. Untuk aplikasi yang terekspos masuk (HTTP atau Transmission Control Protocol (TCP)), gunakan setidaknya tiga replika untuk membantu memastikan ketersediaan. Untuk meminimalkan start dingin, konfigurasikan jumlah minimum replika yang selalu siap.
Gunakan zona ketersediaan sebagai bagian dari strategi ketahanan Anda untuk meningkatkan ketersediaan saat Anda menyebarkan ke satu wilayah. Banyak wilayah Azure menyediakan zona ketersediaan. Zona-zona tersebut diposisikan cukup dekat untuk memastikan koneksi berlatensi rendah di antara mereka, tetapi cukup jauh untuk meminimalkan risiko gangguan lokal yang mempengaruhi beberapa zona.
Untuk beban kerja yang kritis, sebarkan lingkungan Container Apps di berbagai wilayah dan gunakan Azure Front Door atau Azure Traffic Manager untuk manajemen lalu lintas. Layanan ini membantu memastikan ketersediaan tinggi dan kelanjutan bisnis. Jika terjadi pemadaman regional, Anda dapat secara otomatis mengalihkan lalu lintas ke wilayah sekunder untuk meminimalkan waktu henti dan kehilangan data.
Terapkan penskalaan otomatis horizontal. Konfigurasikan penskalaan otomatis dengan menggunakan aturan penskalaan yang didasarkan pada permintaan HTTP, koneksi TCP, atau metrik kustom, seperti ambang CPU dan memori. Anda dapat mendefinisikan metrik kustom di Azure Service Bus, Azure Event Hubs, Apache Kafka, dan Azure Cache untuk Redis. Gunakan autoscaling untuk mengelola beban secara dinamis dan mempertahankan ketersediaan tinggi selama waktu penggunaan puncak.
Pastikan aplikasi kontainer Anda tetap dapat melayani permintaan sesuai dengan tujuan tingkat layanan (SLO) Anda saat dalam beban tinggi.
Pantau keandalan dan indikator kesehatan keseluruhan dari aplikasi kontainer. "Kumpulkan log dan metrik untuk memantau kesehatan, mengidentifikasi tren kinerja dan keandalan, serta memecahkan masalah." Untuk informasi lebih lanjut tentang merancang solusi pemantauan kesehatan dan keandalan untuk beban kerja Anda, lihat Pemodelan kesehatan untuk beban kerja.
Terapkan alat pemantauan dan peringatan. Aktifkan alat pemantauan, seperti Azure Monitor dan OpenTelemetry. Siapkan pemberitahuan untuk segera mendeteksi dan merespons peristiwa yang memengaruhi keandalan.
Konfigurasi pengecekan kesehatan. Siapkan pemeriksaan awal, kesiapan, dan kelangsungan untuk semua layanan guna memantau dan menjaga kesehatan aplikasi.
Konfigurasikan mekanisme penyembuhan mandiri untuk secara otomatis memulai ulang instans kontainer yang tidak sehat. Pengulangan otomatis meningkatkan keandalan dan ketersediaan aplikasi Anda. Mereka membantu memastikan pemulihan cepat dari kegagalan tanpa intervensi manual. Gunakan pemeriksaan kesehatan untuk mendeteksi kontainer yang gagal dan mengonfigurasi kebijakan ketahanan untuk menangani percobaan ulang dan pemutus sirkuit secara otomatis.
Rekomendasi
Rekomendasi | Keuntungan |
---|---|
Aktifkan dukungan zona ketersediaan untuk Container Apps untuk secara otomatis mendistribusikan replika ke berbagai zona dalam satu wilayah. Lalu lintas dibagi beban di antara replika-replika. | Jika kegagalan zona terjadi, lalu lintas secara otomatis diarahkan ke replika di zona yang tersisa. |
Definisikan kuota sumber daya dan batasan. | Mencegah perebutan sumber daya untuk membantu memastikan alokasi yang adil dan menghindari penurunan kinerja. Gunakan pemantauan dari waktu ke waktu untuk mengamati penggunaan sumber daya yang sebenarnya dan sesuaikan kuota serta batas yang sesuai. |
Gunakan volume mounts untuk menyimpan data di luar kontainer dalam aplikasi yang bersifat stateful. Untuk meningkatkan ketahanan data, gunakan penyimpanan redundansi zona Azure (ZRS) untuk membantu memastikan ketersediaan tinggi dan daya tahan data Anda. | Pastikan persistensi dan integritas data terhadap restart dan kegagalan kontainer. Gunakan ZRS untuk melindungi terhadap kehilangan data akibat kegagalan zona, yang menyediakan solusi tangguh untuk aplikasi status kritis. |
Terapkan pemeriksaan kesehatan "liveness," "readiness," dan "startup" untuk aplikasi container Anda. Deteksi keberlangsungan memeriksa dan me-restart kontainer yang berada dalam kondisi gagal. Pengaturan yang disarankan: failureThreshold: 3 , periodSeconds: 10 , timeoutSeconds: 5 , successThreshold: 1 , dan initialDelaySeconds: 10 Pengujian kesiapan memastikan bahwa hanya kontainer yang sehat yang menerima trafik. Pengaturan yang disarankan: failureThreshold: 60 , periodSeconds: 1 , timeoutSeconds: 1 , successThreshold: 1 , dan initialDelaySeconds: 5 Probe startup mencegah restart sebelum waktunya dengan memungkinkan aplikasi yang lambat untuk memulai beroperasi dengan benar. Pengaturan yang disarankan: failureThreshold: 60 , periodSeconds: 1 , timeoutSeconds: 1 , successThreshold: 1 , dan initialDelaySeconds: 0 |
Konfigurasi probe yang tepat membantu memastikan bahwa aplikasi container Anda berjalan dengan lancar dan dapat menangani lalu lintas. Konfigurasi probe yang tidak tepat dapat menyebabkan restart yang tidak diinginkan atau waktu henti. |
Gunakan fitur observabilitas bawaan Aplikasi Kontainer, seperti streaming log, konsol kontainer, serta metrik dan pemberitahuan Azure Monitor, untuk memastikan pemantauan proaktif dan penelusuran kesalahan yang efisien. | Container Apps menyediakan dukungan observabilitas yang mendalam, termasuk integrasi dengan dasbor .NET Aspire dan metrik Java. Alat-alat ini memungkinkan wawasan yang lebih mendalam untuk ekosistem penting. Anda juga dapat menggunakan kolektor OpenTelemetry untuk pengumpulan metrik dan pelacakan terdistribusi yang komprehensif. Fitur-fitur ini meningkatkan keandalan aplikasi karena Anda dapat dengan cepat mengidentifikasi dan menyelesaikan masalah. |
Terapkan kebijakan ketahanan penemuan layanan, seperti pengulangan, batas waktu, dan pemutus sirkuit, untuk secara proaktif mencegah, mendeteksi, dan memulihkan dari kegagalan permintaan layanan. | Tingkatkan keandalan aplikasi kontainer Anda dengan memastikan komunikasi antar-layanan yang lebih lancar dan lebih tangguh. |
Menerapkan autoscaling horizontal dengan menggunakan aturan-aturan skala yang didasarkan pada permintaan HTTP, koneksi TCP, atau metrik khusus, seperti ambang batas CPU dan memori. Anda dapat mendefinisikan metrik khusus di Service Bus, Event Hubs, Apache Kafka, dan Azure Cache untuk Redis. | Beban kerja dapat secara dinamis mengelola beban dan mempertahankan ketersediaan tinggi selama waktu penggunaan puncak. |
Keamanan
Tujuan pilar keamanan adalah untuk memberikan jaminan kerahasiaan , integritas, dan ketersediaan terhadap beban kerja.
Prinsip desain Keamanan memberikan strategi desain tingkat tinggi untuk mencapai tujuan tersebut dengan menerapkan pendekatan pada desain teknis Aplikasi Kontainer.
Daftar periksa desain
Mulailah strategi desain Anda dengan berdasarkan daftar periksa tinjauan desain untuk Keamanan dan identifikasi kerentanan serta mekanisme kontrol untuk meningkatkan postur keamanan sistem. Perluas strategi untuk menyertakan lebih banyak pendekatan sesuai kebutuhan.
Tinjau garis besar keamanan. Untuk meningkatkan kesiapan keamanan dari beban kerja Anda, tinjau standar keamanan untuk Container Apps.
Integrasikan dengan Microsoft Entra ID untuk manajemen identitas dan akses. Gunakan kontrol akses berbasis peran (RBAC) dengan ID Microsoft Entra untuk akses hak istimewa paling rendah.
Gunakan identitas terkelola dengan Microsoft Entra ID untuk akses yang aman dan bebas kredensial ke sumber daya Azure.
Terapkan segmentasi dan pengendalian jaringan. Terapkan lingkungan aplikasi container pribadi dan gunakan mode ingress internal untuk isolasi dari internet publik.
Kontrol lalu lintas keluar. Untuk mencegah eksfiltrasi data, integrasikan lingkungan aplikasi kontainer Anda ke dalam jaringan virtual kustom yang memiliki rute yang ditentukan pengguna untuk membantu mengamankan lalu lintas keluar.
Memelihara rantai pasokan perangkat lunak dari beban kerja yang diperkuat. Terapkan pemindaian yang menyadari konteks kontainer dalam pipeline integrasi dan pengiriman berkelanjutan (CI/CD) Anda yang aman. Fitur ini mendeteksi kerentanan dan membantu memastikan integritas gambar kontainer Anda. Untuk informasi lebih lanjut, lihat Containers Secure Supply Chain.
Kurangi permukaan serangan. Memperkuat gambar kontainer dan menghapus komponen yang tidak digunakan. Gunakan gambar dasar yang ramping dan minimal seperti gambar Alpine dan Chiselled Ubuntu.
Berintegrasi dengan Microsoft Defender. Gunakan Microsoft Defender for Containers untuk memindai gambar di Azure Container Registry.
Enkripsi data saat tidak aktif dan data dalam transit. Gunakan metode standar industri modern untuk menjaga kerahasiaan dan integritas.
Gunakan Azure Key Vault. Simpan nilai dan rahasia konfigurasi sensitif di Key Vault untuk melindunginya dari akses yang tidak sah.
Aktifkan keamanan lapisan transport mutual (mTLS). Gunakan mTLS untuk mengotentikasi dan mengenkripsi lalu lintas antar layanan. Fitur ini memverifikasi kedua belah pihak, yang meningkatkan keamanan.
Terapkan HTTPS. Konfigurasikan proxy Envoy untuk mengalihkan semua lalu lintas HTTP ke HTTPS. Konfigurasi default untuk Envoy adalah
allowInsecure: false
.Terapkan strategi pemantauan keamanan. Tangkap log terperinci untuk pemantauan dan audit. Kirim log sistem dan konsol ke ruang kerja Log Analytics, Event Hubs, atau solusi non-Microsoft untuk tujuan pemantauan dan audit. Bersihkan data sensitif dari log. Log konsol berasal dari
stderr
danstdout
stream di dalam aplikasi.
Rekomendasi
Rekomendasi | Keuntungan |
---|---|
Gunakan managed identities untuk mengakses sumber daya yang dilindungi oleh Microsoft Entra ID. Tetapkan identitas terkelola pada aplikasi container Anda untuk mengakses sumber daya Azure yang dilindungi oleh Microsoft Entra ID, seperti akun penyimpanan atau brankas kunci, tanpa perlu menggunakan kunci atau kata sandi. | Sentralisasi manajemen identitas dan hilangkan kebutuhan untuk pengelolaan kredensial manual. Sederhanakan akses aman ke sumber daya Azure. |
Terapkan aplikasi container dalam jaringan pribadi untuk mengintegrasikannya ke dalam jaringan virtual yang sudah ada. Gunakan fitur seperti konektivitas aplikasi privat, penggabungan grup keamanan jaringan (NSG), dan komunikasi sumber daya melalui alamat IP privat. | Memberikan isolasi dari internet publik dan memungkinkan komunikasi yang aman antara aplikasi kontainer dan sumber daya jaringan lainnya. |
Gunakan Key Vault untuk mengelola sertifikat dan rahasia aplikasi dengan keamanan yang ditingkatkan. Key Vault menyimpan sertifikat dan rahasia aplikasi lainnya terpisah dari pengaturan konfigurasi aplikasi Anda. Selain itu, sistem ini menyediakan log audit akses yang merinci waktu sertifikat dan rahasia diperbarui, diambil, dan diputar. | Bantu melindungi informasi sensitif, memastikan kepatuhan, dan mendukung pengelolaan rahasia yang aman dengan menggunakan kemampuan pencatatan dan rotasi sertifikat. |
Gunakan Azure Application Gateway dengan Web Application Firewall diaktifkan untuk membantu mengamankan lalu lintas HTTP dan HTTPS saat Anda menerbitkan aplikasi kontainer Anda melalui proxy terbalik. Firewall Aplikasi Web memindai lalu lintas HTTP yang masuk untuk potensi serangan dari Open Web Application Security Project (OWASP). | Tingkatkan keamanan dengan melindungi dari kerentanan web umum dan menyediakan manajemen lalu lintas terpusat. |
Otentikasi menggunakan Microsoft Entra ID ke Container Registry untuk menghindari penggunaan kredensial administratif. Anda dapat mengontrol akses melalui RBAC. | Aktifkan kontrol akses rinci melalui RBAC untuk manajemen gambar container, yang membantu memastikan otentikasi yang aman dan bebas kredensial. |
Gunakan aturan NSG untuk membantu mengamankan lalu lintas yang mengakses titik akhir aplikasi kontainer internal Anda. Aturan NSG menyediakan kontrol yang lebih rinci mengenai jaringan virtual mana yang dapat berkomunikasi dengan aplikasi kontainer Anda. | Tingkatkan keamanan jaringan dengan membatasi akses hanya pada jaringan tepercaya, yang akan meminimalkan permukaan serangan. |
Kontrol lalu lintas keluar dengan menggunakan rute jaringan yang ditentukan pengguna. Kendalikan bagaimana kontainer Anda berkomunikasi dengan sumber daya di luar lingkungan kontainer. Anda dapat mengarahkan lalu lintas ke Azure Firewall, Azure NAT Gateway, atau perangkat non-Microsoft. | Pastikan arus lalu lintas keluar yang terkontrol dan aman, yang mendukung kebijakan perutean dan inspeksi tingkat lanjut. |
Konfigurasi opsi penebangan untuk mengirim log ke ruang kerja Log Analytics, Event Hubs, atau solusi non-Microsoft. | Mendukung pemantauan terpusat, diagnostik, dan audit sambil memastikan kepatuhan terhadap kebijakan penanganan data sensitif. |
Pengoptimalan Biaya
Pengoptimalan Biaya berfokus pada mendeteksi pola pengeluaran, memprioritaskan investasi di area penting, dan mengoptimalkan area lainnya agar sesuai dengan anggaran organisasi sekaligus memenuhi persyaratan bisnis.
Prinsip desain Pengoptimalan Biaya memberikan strategi desain tingkat tinggi untuk mencapai tujuan tersebut dan membuat pengorbanan yang diperlukan dalam desain teknis yang terkait dengan Aplikasi Kontainer dan lingkungannya.
Daftar periksa desain
Mulai strategi desain Anda berdasarkan daftar periksa ulasan desain untuk pengoptimalan biaya investasi. Sesuaikan desain sehingga beban kerja selaras dengan anggaran yang dialokasikan untuk beban kerja. Desain Anda harus menggunakan kemampuan Azure yang tepat, memantau investasi, dan menemukan peluang untuk dioptimalkan dari waktu ke waktu.
Pilih rencana harga yang sesuai. Pilih paket harga yang paling hemat biaya untuk aplikasi kontainer Anda berdasarkan kebutuhan beban kerja dan pola penggunaan yang diharapkan.
Manfaatkan rencana penghematan Azure untuk komputasi dengan berkomitmen pada tarif per jam tetap selama satu atau tiga tahun. Gunakan rencana tabungan untuk menghemat hingga 17% dibandingkan dengan harga bayar sesuai pemakaian. Optimalkan anggaran Anda dan kurangi pengeluaran keseluruhan untuk beban kerja jangka panjang yang dapat diprediksi.
Optimalkan biaya komponen beban kerja. Secara teratur tinjau dan sesuaikan alokasi CPU dan memori agar sesuai dengan kebutuhan aplikasi Anda. Praktik ini mencegah penyediaan yang berlebihan dan meminimalkan biaya.
Gunakan tingkat disk terkelola. Ketika Anda menggunakan penggandengan volume, pilih tingkatan dan ukuran disk terkelola yang sesuai untuk mengoptimalkan biaya penyimpanan data persisten. Hanya bayar untuk yang Anda butuhkan.
Gunakan gambar kontainer yang ramping dan dioptimalkan untuk meningkatkan waktu mulai dan efisiensi sumber daya, yang mengurangi biaya penyimpanan dan jaringan.
Optimalkan biaya skalabilitas. Konfigurasikan kebijakan penskalaan otomatis untuk secara otomatis menurunkan sumber daya selama periode permintaan rendah dan meningkatkan selama waktu puncak. Praktik ini memastikan penggunaan sumber daya yang efisien.
Optimalkan biaya jaringan. Optimalkan jalur jaringan untuk meminimalkan biaya transfer data, terutama untuk aplikasi yang memiliki volume bandwidth tinggi.
Gunakan alat manajemen biaya. Gunakan alat Microsoft Cost Management untuk melacak dan menganalisis pengeluaran, mengatur anggaran, membuat peringatan biaya, dan menerapkan penandaan konsisten di seluruh sumber daya.
Alat-alat ini memberikan visibilitas yang detail terhadap pengeluaran cloud, membantu mengidentifikasi peluang penghematan biaya, memastikan kepatuhan terhadap batasan anggaran, dan memungkinkan pelacakan serta pelaporan biaya yang terperinci terkait dengan beban kerja, aplikasi, dan lingkungan tertentu.
Rekomendasi
Rekomendasi | Keuntungan |
---|---|
Secara teratur tinjau dan sesuaikan alokasi CPU, memori, dan metrik lainnya untuk sesuai dengan kebutuhan aktual aplikasi Anda. | Hindari over-provisioning dan kurangi biaya yang tidak perlu dengan memastikan sumber daya disesuaikan secara tepat untuk beban kerja. |
Terapkan aturan penskalaan-otomatis hingga nol untuk aplikasi yang tidak perlu berjalan terus menerus. | Hilangkan biaya selama periode tidak aktif, yang memastikan bahwa Anda hanya membayar untuk sumber daya saat Anda membutuhkannya. Pendekatan ini secara signifikan mengurangi biaya untuk aplikasi yang memiliki pola penggunaan yang bervariasi atau jarang. |
Pilih tingkat disk terkelola yang sesuai untuk aplikasi stateful. Dasarkan pilihan Anda pada kinerja dan kebutuhan kapasitas penyimpanan, dan pertimbangkan untuk menggunakan disk cadangan untuk beban kerja yang dapat diprediksi. | Pastikan Anda hanya membayar untuk kinerja penyimpanan yang diperlukan, yang mencegah biaya berlebih dari penyimpanan yang berlebihan. Diskon disk yang dipesan dapat memberikan penghematan biaya yang signifikan untuk kebutuhan penyimpanan jangka panjang dengan menawarkan diskon dibandingkan dengan harga bayar sesuai pemakaian. |
Keunggulan Operasi
Keunggulan Operasional terutama berfokus pada prosedur untuk praktik pengembangan , observabilitas, dan manajemen rilis.
Prinsip desain Operational Excellence menyediakan strategi desain tingkat tinggi untuk mencapai tujuan tersebut untuk persyaratan operasional beban kerja.
Daftar periksa desain
Mulailah strategi desain Anda berdasarkan daftar periksa tinjauan desain untuk Kecemerlangan Operasional untuk mendefinisikan proses observasi, pengujian, dan penerapan yang terkait dengan Aplikasi Kontainer.
Terapkan pendekatan penerapan infrastruktur sebagai kode (IaC). Implementasi penerapan berbasis template dengan menggunakan alat seperti Bicep atau Terraform. Pastikan semua penerapan dapat diulang, dapat ditelusuri, dan disimpan dalam repositori kode sumber.
Otomatiskan penerapan infrastruktur dan beban kerja. Gunakan solusi perangkat lunak standar untuk mengelola, mengintegrasikan, dan mengotomatisasi penerapan beban kerja Anda.
Siapkan jalur penerapan untuk menerapkan ulang lingkungan ke wilayah lain jika terjadi gangguan regional. Pendekatan ini membantu Anda memulihkan dan menyebarkan ulang data dan konfigurasi penting dengan cepat di wilayah lain, yang meningkatkan kemampuan pemulihan bencana dan meminimalkan waktu henti selama kegagalan regional.
Bangun proses otomatis untuk menyiapkan lingkungan Anda dengan konfigurasi dan penyebaran yang diperlukan dengan menggunakan alur CI/CD.
Terapkan strategi pemantauan yang komprehensif. Konfigurasikan pengaturan diagnostik untuk menangkap log, metrik, dan data diagnostik. Gunakan alat seperti Azure Monitor dan Application Insights untuk memantau kesehatan dan kinerja aplikasi, mengidentifikasi tren dalam performa dan keandalan, serta mengatasi masalah.
Keluarkan telemetri untuk beban kerja. Rancang beban kerja Anda untuk mengeluarkan data telemetri, termasuk status kesiapan dan kelangsungan hidup, untuk memfasilitasi pemantauan dan pemecahan masalah.
Pantau metrik kinerja. Terus-menerus memantau metrik kinerja utama seperti penggunaan CPU, memori, dan jaringan untuk mengidentifikasi peluang optimasi biaya dan efisiensi operasional.
Terapkan rekayasa kekacauan. Terapkan praktik rekayasa kekacauan dengan menggunakan alat seperti Azure Chaos Studio untuk mengidentifikasi potensi masalah keandalan dalam lingkungan Container Apps Anda. Lakukan eksperimen untuk memastikan bahwa aplikasi Anda dapat menghadapi kegagalan yang tidak terduga. Lakukan pengujian kinerja dengan menggunakan alat seperti Azure Load Testing untuk memastikan aturan penskalaan bekerja sesuai harapan tanpa gangguan kepada klien.
Terapkan pelabelan sumber daya yang konsisten di seluruh aplikasi kontainer dan sumber daya beban kerja lainnya. Penandaan yang konsisten memfasilitasi pengelolaan sumber daya yang efisien, pelacakan biaya, dan otomatisasi.
Tegakkan tata kelola beban kerja. Azure Policy membantu memastikan kepatuhan yang konsisten dengan standar organisasi, mengotomatisasi penegakan kebijakan, dan menyediakan visibilitas serta pengendalian terpusat atas sumber daya beban kerja Anda.
Rekomendasi
Rekomendasi | Keuntungan |
---|---|
Simpan konfigurasi lingkungan Container Apps Anda sebagai IaC, dan siapkan pipeline penerapan untuk menerapkan ulang lingkungan ke wilayah lain jika terjadi pemadaman regional. | Pastikan Anda dapat dengan cepat memulihkan dan menyebarkan ulang data dan konfigurasi penting ke wilayah lain, yang meningkatkan kemampuan pemulihan bencana dan meminimalkan waktu henti selama kegagalan regional. |
Gunakan revisi untuk menerapkan penyebaran blue-green atau penyebaran canary. Revisions require that you menandai dan membuat versi gambar kontainer dengan tepat. Anda dapat menggunakan label pada revisi untuk mempermudah berbagi, misalnya untuk pengujian penerimaan pengguna atau pratinjau terbatas. |
Minimalkan waktu henti dan kurangi risiko selama rilis dengan memungkinkan penyebaran yang aman dan penarikan kembali yang cepat. |
Konfigurasi Azure Monitor dan Application Insights. | Lacak kinerja dan kesehatan aplikasi kontainer Anda dan berikan wawasan mendetail tentang kinerja serta keandalan aplikasi. Gunakan wawasan ini untuk secara proaktif mendeteksi dan menyelesaikan masalah. |
Efisiensi Performa
Efisiensi Performa adalah tentang mempertahankan pengalaman pengguna bahkan ketika ada peningkatan beban dengan mengelola kapasitas. Strategi ini mencakup penskalaan sumber daya, mengidentifikasi dan mengoptimalkan potensi hambatan, dan mengoptimalkan performa puncak.
Prinsip desain Efisiensi Performa menyediakan strategi desain tingkat tinggi untuk mencapai tujuan kapasitas tersebut terhadap penggunaan yang diharapkan.
Daftar periksa desain
Mulai strategi desain Anda berdasarkan daftar periksa tinjauan desain untuk Efisiensi Kinerja untuk menentukan tolok ukur berdasarkan indikator kinerja utama untuk Aplikasi Kontainer.
Mengembangkan rencana kapasitas yang terperinci untuk memastikan bahwa aplikasi container Anda memiliki sumber daya yang cukup untuk menangani beban yang bervariasi sambil menghindari pengadaan berlebih. Rencana kapasitas membantu mengoptimalkan biaya dan kinerja.
Secara rutin perbarui rencana Anda untuk mendokumentasikan alokasi sumber daya yang benar, pengaturan penskalaan otomatis, dan strategi pengalihan ke sumber cadangan untuk aplikasi kontainer Anda. Pendekatan ini memastikan Anda dapat dengan cepat mengembalikan dan menyebarkan ulang data dan konfigurasi penting di wilayah lain, yang meningkatkan kemampuan pemulihan bencana dan meminimalkan waktu henti selama kegagalan regional.
Aktifkan penskalaan otomatis. Konfigurasikan kebijakan penskalaan otomatis untuk secara otomatis menyesuaikan jumlah instance kontainer berdasarkan permintaan waktu nyata, yang memastikan kinerja optimal selama waktu sibuk dan waktu luang.
Optimalkan alokasi sumber daya. Secara terus-menerus memantau dan menyesuaikan alokasi CPU dan memori berdasarkan metrik kinerja untuk memastikan penggunaan sumber daya yang efisien dan mencegah penyediaan berlebihan.
Lakukan pengujian muatan. Lakukan pengujian beban secara rutin untuk mengevaluasi kinerja dan skalabilitas aplikasi kontainer Anda dalam berbagai kondisi. Pengujian membantu memastikan bahwa aplikasi kontainer dapat menangani tingkat lalu lintas yang diharapkan.
Beban kerja terpisah. Sebarkan beban kerja penting dan sensitif di lingkungan Aplikasi Kontainer terpisah untuk menghindari masalah tetangga yang bising. Mendistribusikan beban kerja di beberapa lingkungan untuk memastikan bahwa aplikasi penting memiliki sumber daya khusus. Metode ini juga memastikan bahwa tuntutan kinerja aplikasi yang kurang kritis tidak memengaruhi aplikasi penting.
Rekomendasi
Rekomendasi | Keuntungan |
---|---|
Konfigurasikan kebijakan autoscaling untuk secara otomatis menyesuaikan jumlah instans kontainer sebagai respons terhadap permintaan sumber daya. | Membantu menjaga kinerja aplikasi dan efisiensi biaya. Pastikan sumber daya tersedia saat dibutuhkan dan dihemat saat tidak dibutuhkan. Gunakan Azure Load Testing untuk melakukan eksperimen pengujian beban, dan sesuaikan kebijakan penskalaan otomatis sesuai kebutuhan. |
Gunakan tingkat khusus profil beban kerja untuk aplikasi yang memerlukan kinerja yang dapat diprediksi dan alokasi sumber daya yang terjamin. | Sediakan sumber daya khusus untuk aplikasi penting, yang memastikan kinerja yang konsisten dan mengurangi risiko perselisihan sumber daya. |
Gunakan metrik penskalaan kustom, seperti metrik berdasarkan data spesifik aplikasi, untuk mengarahkan keputusan penskalaan otomatis. | Pastikan bahwa aksi penskalaan didasarkan pada permintaan beban kerja yang relevan, yang meningkatkan efisiensi dan daya tanggap aplikasi kontainer Anda. |
Kebijakan Azure
Azure menyediakan serangkaian kebijakan bawaan yang luas yang terkait dengan Container Apps dan dependensinya. Beberapa rekomendasi sebelumnya dapat diaudit melalui Azure Policy. Misalnya, Anda dapat memeriksa apakah:
Pengaturan diagnostik harus diaktifkan: Aktifkan pencatatan berdasarkan grup kategori untuk lingkungan Aplikasi Kontainer (
microsoft.app/managedenvironments
) untuk mengirim informasi ke Penyimpanan. Pengaturan ini memastikan bahwa Storage secara konsisten mengumpulkan log dan metrik untuk pemantauan, pemecahan masalah, dan kepatuhan.Otentikasi untuk Container Apps harus diaktifkan: Aktifkan otentikasi untuk mencegah permintaan HTTP anonim, dan otentikasi permintaan melalui token sebelum mencapai lingkungan Container Apps.
Lingkungan Container Apps sebaiknya menggunakan injeksi jaringan: Konfigurasikan lingkungan Container Apps dengan injeksi jaringan virtual untuk mengisolasi mereka dari internet publik, memungkinkan integrasi jaringan dengan sumber daya lokal atau jaringan virtual Azure lainnya, dan mencapai kontrol yang lebih rinci terhadap lalu lintas jaringan.
Akses jaringan publik harus dinonaktifkan: Nonaktifkan akses jaringan publik untuk meningkatkan keamanan dengan memanfaatkan lingkungan Container Apps melalui pengimbang beban internal. Pendekatan ini memblokir akses internet untuk semua aplikasi kontainer di dalam lingkungan.
Akses jaringan eksternal harus dinonaktifkan: Terapkan akses masuk internal-saja untuk memastikan bahwa komunikasi masuk untuk aplikasi kontainer dibatasi hanya untuk pemanggil di dalam lingkungan Aplikasi Kontainer.
HTTPS harus diterapkan: Pastikan bahwa aplikasi kontainer hanya dapat diakses melalui HTTPS untuk melindungi data selama transit dari serangan penyadapan pada lapisan jaringan.
Identitas terkelola harus diaktifkan: Memerlukan identitas terkelola untuk lingkungan Aplikasi Kontainer agar dapat mengautentikasi secara aman ke sumber daya apa pun yang mendukung autentikasi Microsoft Entra ID.
Untuk tata kelola yang komprehensif, tinjau definisi bawaan Azure Policy untuk Container Apps dan kebijakan lain yang mungkin mempengaruhi keamanan jaringan.
Rekomendasi Azure Advisor
Azure Advisor adalah konsultan cloud yang dipersonalisasi yang membantu Anda mengikuti praktik terbaik untuk mengoptimalkan penyebaran Azure Anda.
Untuk mengetahui informasi selengkapnya, lihat Azure Advisor.