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.
Arsitek merancang beban kerja dengan mengintegrasikan layanan platform, fungsionalitas, dan kode untuk memenuhi persyaratan fungsional dan nonfungsi. Untuk merancang beban kerja yang efektif, Anda harus memahami persyaratan ini dan memilih topologi dan metodologi yang mengatasi tantangan batasan beban kerja Anda. Pola desain cloud memberikan solusi untuk banyak tantangan umum.
Desain sistem sangat bergantung pada pola desain yang mapan. Anda dapat merancang infrastruktur, kode, dan sistem terdistribusi dengan menggunakan kombinasi pola-pola ini. Pola-pola ini sangat penting untuk membangun aplikasi yang andal, sangat aman, dioptimalkan biaya, efisien secara operasional, dan berkinerja tinggi di cloud.
Pola desain cloud berikut adalah teknologi-agnostik, yang membuatnya cocok untuk sistem terdistribusi apa pun. Anda dapat menerapkan pola ini di Seluruh Azure, platform cloud lainnya, penyiapan lokal, dan lingkungan hibrid.
Bagaimana pola desain cloud meningkatkan proses desain
Beban kerja cloud rentan terhadap kesalahan komputasi terdistribusi, yang merupakan asumsi yang umum namun keliru tentang bagaimana sistem terdistribusi beroperasi. Contoh kesalahan ini meliputi:
- Jaringan dapat diandalkan.
- Latensi adalah nol.
- Bandwidth tidak terbatas.
- Jaringan aman.
- Topologi tidak berubah.
- Ada satu administrator.
- Pengelolaan versi komponen itu sederhana.
- Implementasi pengamatan dapat ditunda.
Kesalahpahaman ini dapat mengakibatkan desain beban kerja yang cacat. Pola desain tidak menghilangkan kesalahpahaman ini tetapi membantu meningkatkan kesadaran, memberikan strategi kompensasi, dan memberikan mitigasi. Setiap pola desain cloud memiliki kompromi. Fokus pada mengapa Anda harus memilih pola tertentu alih-alih cara mengimplementasikannya.
Pertimbangkan cara menggunakan pola desain standar industri ini sebagai blok penyusun inti untuk desain beban kerja yang dirancang dengan baik. Setiap pola desain dalam Azure Well-Architected Framework mewakili satu atau beberapa pilarnya. Beberapa pola mungkin memperkenalkan kompromi yang memengaruhi tujuan pilar-pilar lainnya.
Katalog pola
Setiap pola dalam katalog ini menjelaskan masalah yang ditanganinya, pertimbangan untuk menerapkan pola, dan contoh berdasarkan layanan dan alat Microsoft Azure. Beberapa pola termasuk sampel kode atau cuplikan yang menunjukkan cara menerapkan pola di Azure.
| Pola | Ringkasan | pilar kerangka kerja Well-Architected |
|---|---|---|
| Duta Besar | Membuat layanan pembantu yang mengirim permintaan jaringan atas nama layanan atau aplikasi konsumen. | -Keandalan -Keamanan |
| Lapisan Anti-Kerusakan | Mengimplementasikan fasad atau lapisan adapter antara aplikasi modern dan sistem lama. | - Keunggulan Operasional |
| Balasan Permintaan Asinkron | Pisahkan pemrosesan back-end dari host front-end. Pola ini berguna ketika pemrosesan back-end harus asinkron, tetapi ujung depan membutuhkan respons yang jelas dan tepat waktu. | - Efisiensi Performa |
| Backend untuk Frontend | Buat layanan backend terpisah untuk aplikasi atau antarmuka frontend tertentu. | -Keandalan -Keamanan - Efisiensi Performa |
| Sekat | Isolasi elemen aplikasi ke dalam kumpulan sehingga jika gagal, yang lain terus berfungsi. | -Keandalan -Keamanan - Efisiensi Performa |
| Cache-Aside | Muat data sesuai permintaan ke dalam cache dari penyimpanan data. | -Keandalan - Efisiensi Performa |
| Koreografi | Biarkan layanan individu memutuskan kapan dan bagaimana operasi bisnis diproses, alih-alih bergantung pada orkestrator pusat. | - Keunggulan Operasional - Efisiensi Performa |
| Pemutus Sirkuit | Menangani kesalahan yang mungkin membutuhkan waktu variabel untuk diperbaiki saat aplikasi terhubung ke layanan atau sumber daya jarak jauh. | -Keandalan - Efisiensi Performa |
| Tanda Terima Klaim | Membagi pesan besar menjadi pemeriksaan klaim dan payload agar tidak membanjiri bus pesan. | -Keandalan -Keamanan - Pengoptimalan Biaya - Efisiensi Performa |
| Transaksi Kompensasi | Urungkan pekerjaan yang dilakukan oleh urutan langkah-langkah yang secara kolektif membentuk operasi yang akhirnya konsisten. | -Keandalan |
| Konsumen yang Bersaing | Aktifkan beberapa konsumen untuk memproses pesan secara bersamaan di kanal pesan yang sama. | -Keandalan - Pengoptimalan Biaya - Efisiensi Performa |
| Konsolidasi Sumber Daya Komputasi | Mengonsolidasikan beberapa tugas atau operasi ke dalam satu unit komputasi. | - Pengoptimalan Biaya - Keunggulan Operasional - Efisiensi Performa |
| CQRS | Pisahkan operasi yang membaca data dari yang memperbarui data dengan menggunakan antarmuka yang berbeda. | - Efisiensi Performa |
| Stempel Penyebaran | Menyebarkan beberapa salinan independen dari komponen aplikasi, termasuk penyimpanan data. | - Keunggulan Operasional - Efisiensi Performa |
| Pelacakan Peristiwa | Gunakan penyimpanan khusus tambahan untuk merekam serangkaian peristiwa lengkap yang menjelaskan tindakan yang diambil pada data di domain. | -Keandalan - Efisiensi Performa |
| Penyimpanan Konfigurasi Eksternal | Memindahkan informasi konfigurasi dari paket penyebaran aplikasi ke lokasi terpusat. | - Keunggulan Operasional |
| Identitas Terfederasi | Delegasikan autentikasi ke penyedia identitas eksternal. | -Keandalan -Keamanan - Efisiensi Performa |
| Agregasi Gateway | Gunakan gateway untuk mengagregasi beberapa permintaan individual menjadi satu permintaan. | -Keandalan -Keamanan - Keunggulan Operasional - Efisiensi Performa |
| Pembongkaran Gateway | Bongkar fungsi layanan bersama atau khusus ke proksi gateway. | -Keandalan -Keamanan - Pengoptimalan Biaya - Keunggulan Operasional - Efisiensi Performa |
| Pengaturan Gateway | Rutekan permintaan ke beberapa layanan dengan menggunakan satu titik akhir. | -Keandalan - Keunggulan Operasional - Efisiensi Performa |
| Geode | Sebarkan layanan back-end di seluruh simpul yang didistribusikan secara geografis. Setiap simpul dapat menangani permintaan klien dari wilayah mana pun. | -Keandalan - Efisiensi Performa |
| Pemantauan Titik Akhir Kesehatan | Menerapkan pemeriksaan fungsional dalam aplikasi yang dapat diakses oleh alat eksternal melalui titik akhir yang terbuka secara berkala. | -Keandalan - Keunggulan Operasional - Efisiensi Performa |
| Tabel Indeks | Buat indeks pada bidang di penyimpanan data yang sering dirujuk. | -Keandalan - Efisiensi Performa |
| Pemilihan Pemimpin | Koordinasikan tindakan dalam aplikasi terdistribusi dengan memilih satu instans sebagai pemimpin. Pemimpin mengelola kumpulan instans tugas yang berkolaborasi. | -Keandalan |
| Tampilan Materialisasi | Hasilkan tampilan yang sudah diisi sebelumnya untuk data dalam satu atau beberapa penyimpanan data ketika data diformat tidak sesuai untuk operasi kueri (query) yang diperlukan. | - Efisiensi Performa |
| Penghubung Pesan | Bangun perantara untuk memungkinkan komunikasi antara sistem olahpesan yang tidak kompatibel. | - Pengoptimalan Biaya - Keunggulan Operasional |
| Pipa dan Filter | Memecah tugas yang melakukan pemrosesan kompleks menjadi serangkaian elemen terpisah yang dapat digunakan kembali. | -Keandalan |
| Antrean Prioritas | Prioritaskan permintaan yang dikirim ke layanan sehingga permintaan dengan prioritas yang lebih tinggi diproses lebih cepat. | -Keandalan - Efisiensi Performa |
| Penerbit/Pelanggan | Aktifkan aplikasi untuk mengumumkan peristiwa kepada beberapa konsumen secara asinkron, tanpa mengkopling pengirim ke penerima. | -Keandalan -Keamanan - Pengoptimalan Biaya - Keunggulan Operasional - Efisiensi Performa |
| Karantina | Pastikan bahwa aset eksternal memenuhi tingkat kualitas yang disepakati tim sebelum beban kerja mengonsumsinya. | -Keamanan - Keunggulan Operasional |
| Pengaturan Beban Berbasis Antrian | Gunakan antrean yang membuat buffer antara tugas dan layanan untuk mengatasi beban berat yang tidak merata. | -Keandalan - Pengoptimalan Biaya - Efisiensi Performa |
| Pembatasan Tarif | Hindari atau minimalkan kesalahan pembatasan dengan mengontrol konsumsi sumber daya. | -Keandalan |
| Coba lagi | Aktifkan aplikasi untuk menangani kegagalan sementara yang diantisipasi dengan mencoba kembali operasi yang gagal. | -Keandalan |
| Saga | Mengelola konsistensi data di seluruh layanan mikro dalam skenario transaksi terdistribusi. | -Keandalan |
| Pengawas Agen Penjadwal | Mengoordinasikan serangkaian tindakan di seluruh layanan dan sumber daya terdistribusi. | -Keandalan - Efisiensi Performa |
| Konvoi Berurutan | Memproses sekumpulan pesan terkait dalam urutan yang ditentukan tanpa memblokir grup pesan lain. | -Keandalan |
| Sharding (pembagian basis data menjadi potongan lebih kecil) | Membagi penyimpanan data menjadi sekumpulan pecahan atau partisi horizontal. | -Keandalan - Pengoptimalan Biaya |
| Sespan | Sebarkan komponen ke dalam proses atau kontainer terpisah untuk menyediakan isolasi dan enkapulasi. | -Keamanan - Keunggulan Operasional |
| Hosting konten Statik | Sebarkan konten statis ke layanan penyimpanan berbasis cloud untuk pengiriman klien langsung. | - Pengoptimalan Biaya |
| Ficus Strangulans | Migrasi sistem warisan secara bertahap dengan secara bertahap mengganti potongan fungsionalitas dengan aplikasi dan layanan baru. | -Keandalan - Pengoptimalan Biaya - Keunggulan Operasional |
| Pembatasan Kecepatan | Mengontrol konsumsi sumber daya dari aplikasi, penyewa, atau layanan. | -Keandalan -Keamanan - Pengoptimalan Biaya - Efisiensi Performa |
| Kunci Valet | Gunakan token atau kunci untuk memberi klien akses langsung terbatas ke sumber daya atau layanan tertentu. | -Keamanan - Pengoptimalan Biaya - Efisiensi Performa |
Pola orkestrasi agen AI
Pola desain cloud sebelumnya mengatasi tantangan umum dalam sistem terdistribusi, tetapi beban kerja AI yang menggunakan beberapa agen otonom memerlukan pendekatan koordinasi khusus. Pola tradisional seperti "Scheduler Agent Supervisor" atau Koreografi menyediakan konsep dasar. Namun, agen AI memperkenalkan tantangan unik seperti output nondeterministik, kemampuan penalaran dinamis, dan kebutuhan akan pengalihan cerdas antara komponen khusus.
Untuk beban kerja AI yang menyertakan beberapa agen otonom, lihat pola orkestrasi agen AI. Pola-pola ini melengkapi pola desain cloud dalam katalog ini dengan memenuhi persyaratan koordinasi spesifik komponen cerdas dan otonom yang bekerja sama untuk mencapai hasil yang kompleks.
Langkah berikutnya
Tinjau pola desain dari perspektif pilar Well-Architected Framework yang bertujuan untuk dioptimalkan oleh pola tersebut.