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.
Artikel prinsip desain di bagian ini menyediakan fondasi untuk membantu Anda membangun aplikasi cloud yang dapat menahan kegagalan, menskalakan dengan permintaan, dan berkembang dengan kebutuhan bisnis. Baik Anda ingin merancang sistem baru, memodernisasi aplikasi warisan, atau merencanakan beban kerja produksi, prinsip-prinsip yang saling terhubung ini membantu Anda membuat keputusan berdasarkan informasi tentang keandalan, performa, dan ketahanan. Bersama-sama, mereka membentuk pendekatan komprehensif untuk desain aplikasi cloud-native yang menyeimbangkan keunggulan teknis dengan nilai bisnis.
Untuk membuat aplikasi Anda lebih dapat diskalakan, tangguh, dan dapat dikelola, ikuti prinsip-prinsip desain ini.
Prinsip inti
Desain untuk penyembuhan diri. Rancang aplikasi Anda untuk mendeteksi kegagalan, merespons dengan anggun, dan pulih secara otomatis. Dalam sistem terdistribusi, kegagalan tidak dapat dihindari. Untuk mengisolasi kegagalan dan menjaga ketersediaan sistem, terapkan logika pengulangan, pemantauan titik akhir kesehatan sistem, pemutus sirkuit, dan pola sekat.
Membuat semua hal redundan. Bangun redundansi ke dalam aplikasi Anda untuk menghindari satu titik kegagalan. Gunakan load balancer, beberapa instans, replika database, dan penyebaran multi-zona atau multi-wilayah. Desain untuk tingkat redundansi yang sesuai dengan persyaratan bisnis dan toleransi risiko Anda.
Minimalkan koordinasi. Minimalkan koordinasi antara layanan aplikasi untuk mencapai skalabilitas. Gunakan komponen terpisah yang berkomunikasi secara asinkron, mengadopsi konsistensi akhirnya jika sesuai, dan menerapkan event domain untuk menyinkronkan status tanpa keterhubungan erat.
Desain untuk meluaskan skala. Desain aplikasi Anda untuk penskalaan horizontal dengan menambahkan atau menghapus instans saat permintaan berubah. Hindari keterlekatan sesi, identifikasi hambatan, uraikan beban kerja sesuai kebutuhan penskalaan, dan gunakan penskalaan otomatis berdasarkan metrik langsung untuk menangani beban variabel secara efisien.
Partisi berdasarkan batas. Gunakan partisi untuk mengatasi batas database, jaringan, dan komputasi. Partisi data secara horizontal, vertikal, atau fungsional, dan desain kunci partisi untuk menghindari hotspot. Pertimbangkan pemartisian pada beberapa tingkat, termasuk database, antrean, dan sumber daya komputasi.
Prinsip operasional
Desain untuk operasi. Rancang aplikasi Anda untuk menyediakan alat yang dibutuhkan tim operasi untuk penyebaran, pemantauan, dan respons insiden. Terapkan pencatatan komprehensif, pelacakan terdistribusi, metrik standar, dan otomatiskan tugas manajemen untuk memungkinkan pengawasan operasional yang efektif.
Gunakan layanan terkelola. Gunakan platform sebagai layanan (PaaS) daripada infrastruktur sebagai layanan (IaaS). Layanan terkelola mengurangi overhead operasional, menyediakan kemampuan penskalakan bawaan, dan memungkinkan tim untuk fokus pada logika aplikasi daripada pemeliharaan infrastruktur.
Gunakan layanan identitas. Gunakan platform identitas terkelola seperti ID Microsoft Entra alih-alih membangun atau mengoperasikan sistem identitas Anda sendiri. Solusi terkelola menyediakan penyimpanan kredensial, fitur autentikasi, kemampuan federasi, dan kepatuhan terhadap standar industri.
Prinsip strategis
Desain untuk evolusi. Desain untuk inovasi berkelanjutan karena semua aplikasi yang berhasil berubah dari waktu ke waktu. Terapkan keterkaitan longgar, mengenkapsulasi pengetahuan domain, menggunakan olahpesan asinkron, dan mengekspos API yang dirancang dengan baik yang mencakup penentuan versi yang tepat untuk mendukung evolusi layanan secara independen.
Bangun untuk kebutuhan bisnis. Buat keputusan desain berdasarkan persyaratan bisnis. Tentukan tujuan yang jelas seperti tujuan waktu pemulihan (RTO), perjanjian tingkat layanan dokumen (SLA) dan tujuan tingkat layanan (SLA), aplikasi model di sekitar domain bisnis, dan merencanakan pertumbuhan sekaligus menyeimbangkan persyaratan fungsional dan nonfungsi.
Lakukan analisis mode kegagalan untuk layanan. Identifikasi potensi titik kegagalan secara sistematis dalam sistem Anda dan rencanakan strategi pemulihan. Untuk membangun keandalan dari awal, lakukan analisis mode kegagalan (FMA) selama fase arsitektur dan desain. Beri peringkat setiap mode kegagalan berdasarkan risiko dan dampak, lalu tentukan mekanisme respons dan pemulihan yang sesuai.
Terapkan prinsip-prinsip ini
Prinsip-prinsip ini bekerja sama untuk menciptakan aplikasi yang tangguh dan dapat diskalakan:
Mulailah dengan persyaratan bisnis untuk memahami apa yang Anda bangun dan mengapa.
Desain untuk kegagalan dengan menerapkan kemampuan penyembuhan diri dan redundansi.
Rencanakan skala melalui penskalaan horizontal, partisi, dan koordinasi minimal.
Gunakan layanan Azure untuk mengurangi kompleksitas operasional dan fokus pada logika bisnis.
Mendukung operasi melalui pemantauan, pengelogan, dan otomatisasi yang tepat.
Bangun untuk perubahan agar aplikasi Anda dapat berkembang sesuai dengan kebutuhan bisnis.