Bagikan melalui


Pola desain arsitektur yang mendukung keunggulan operasional

Saat merancang arsitektur beban kerja, Anda harus menggunakan pola industri yang mengatasi tantangan umum. Pola membantu Anda melakukan tradeoff yang disengaja dan mengoptimalkan hasil yang diinginkan. Ini juga membantu Anda mengurangi risiko yang dapat memengaruhi keandalan, keamanan, performa, dan biaya. Karena operasi mencakup semua area tersebut, risiko yang tidak terkelola akhirnya muncul sebagai kesulitan operasional atau insiden operasional. Pola-pola ini terbukti di lingkungan cloud dunia nyata, diskalakan dengan model operasi modern, dan secara inheren vendor agnostik. Standardisasi pada pola terkenal adalah praktik keunggulan operasional.

Banyak pola memperkuat satu atau beberapa pilar Azure Well-Architected. Untuk keunggulan operasional secara khusus, pola sering menyediakan topologi yang memungkinkan praktik penyebaran yang aman, evolusi inkremental, migrasi terkontrol, dan pengamatan.

Tabel berikut ini meringkas pola desain arsitektur yang mendukung tujuan keunggulan operasional.

Pola Ringkasan
Lapisan Anti-Korupsi Melindungi komponen sistem baru dari perilaku atau pilihan implementasi sistem warisan dengan menambahkan lapisan mediator ke interaksi proksi antara komponen lama dan baru. Pola ini membantu memastikan bahwa desain komponen baru tetap tidak terinfluensikan oleh implementasi warisan yang mungkin memiliki model data atau aturan bisnis yang berbeda ketika Anda berintegrasi dengan sistem warisan ini. Pola ini sangat berguna dalam migrasi sistem bertahap. Ini mengurangi utang teknis pada komponen baru sambil tetap mendukung komponen yang ada.
Koreografi Mengoordinasikan perilaku komponen terdistribusi otonom dalam beban kerja dengan menggunakan komunikasi terdesentralisasi dan berbasis peristiwa. Pola ini dapat berguna ketika Anda berharap untuk sering memperbarui atau mengganti layanan selama siklus hidup beban kerja. Karena komponen terdistribusi otonom, Anda dapat memodifikasi beban kerja dengan perubahan yang kurang keseluruhan pada sistem.
Konsolidasi Sumber Daya Komputasi Mengoptimalkan dan mengonsolidasikan sumber daya komputasi dengan meningkatkan kepadatan. Pola ini menggabungkan beberapa aplikasi atau komponen beban kerja pada infrastruktur bersama. Konsolidasi ini mengarah ke platform komputasi yang lebih homogen, yang dapat menyederhanakan manajemen dan pengamatan, mengurangi pendekatan yang berbeda untuk tugas operasional, dan mengurangi jumlah alat yang diperlukan.
Stempel Penyebaran Menyediakan pendekatan untuk merilis versi aplikasi tertentu dan infrastrukturnya sebagai unit penyebaran yang dikontrol, berdasarkan asumsi bahwa versi yang sama atau berbeda akan disebarkan secara bersamaan. Pola ini selaras dengan tujuan infrastruktur yang tidak dapat diubah, mendukung model penyebaran tingkat lanjut, dan dapat memfasilitasi praktik penyebaran yang aman.
Penyimpanan Konfigurasi Eksternal Mengekstrak konfigurasi ke layanan yang diekstrak ke aplikasi untuk mendukung pembaruan dinamis pada nilai konfigurasi tanpa memerlukan perubahan kode atau penyebaran ulang aplikasi. Pemisahan konfigurasi aplikasi dari kode aplikasi ini mendukung konfigurasi khusus lingkungan dan menerapkan penerapan versi ke nilai konfigurasi. Penyimpanan konfigurasi eksternal juga merupakan tempat umum untuk mengelola bendera fitur untuk memungkinkan praktik penyebaran yang aman.
Agregasi Gateway Menyederhanakan interaksi klien dengan beban kerja Anda dengan menggabungkan panggilan ke beberapa layanan backend dalam satu permintaan. Topologi ini memungkinkan logika backend berkembang secara independen dari klien, memungkinkan Anda mengubah implementasi layanan berantai, atau bahkan sumber data, tanpa perlu mengubah titik sentuh klien.
Gateway Offloading Membongkar pemrosesan permintaan ke perangkat gateway sebelum dan sesudah meneruskan permintaan ke simpul backend. Menambahkan gateway offloading ke proses permintaan memungkinkan Anda mengelola konfigurasi dan upkeep fungsionalitas yang dilepas dari satu titik alih-alih mengelolanya dari beberapa simpul.
Perutean Gateway Merutekan permintaan jaringan masuk ke berbagai sistem backend berdasarkan niat permintaan, logika bisnis, dan ketersediaan backend. Perutean gateway memungkinkan Anda memisahkan permintaan dari backend, yang pada gilirannya memungkinkan backend Anda mendukung model penyebaran tingkat lanjut, transisi platform, dan satu titik manajemen untuk resolusi dan enkripsi nama domain saat transit.
Pemantauan Titik Akhir Kesehatan Menyediakan cara untuk memantau kesehatan atau status sistem dengan mengekspos titik akhir yang dirancang khusus untuk tujuan tersebut. Menstandarkan titik akhir kesehatan mana yang akan diekspos, dan tingkat analisis dalam hasil, di seluruh beban kerja Anda dapat membantu Anda mengatasi masalah triase.
Jembatan Olahpesan Menyediakan perantara untuk mengaktifkan komunikasi antara sistem olahpesan yang tidak kompatibel karena protokol atau format. Pemisahan ini memberikan fleksibilitas ketika Anda transisi olahpesan dan teknologi peristiwa dalam beban kerja Anda atau ketika Anda memiliki persyaratan heterogen dari dependensi eksternal.
Penerbit/Pelanggan Memisahkan komponen arsitektur dengan mengganti komunikasi klien-ke-layanan langsung atau klien-ke-layanan dengan komunikasi melalui broker pesan perantara atau bus peristiwa. Lapisan tidak langsung ini dapat memungkinkan Anda mengubah implementasi dengan aman di sisi penerbit atau pelanggan tanpa perlu mengoordinasikan perubahan pada kedua komponen.
Karantina Memastikan aset eksternal memenuhi tingkat kualitas yang disepakati tim sebelum diizinkan untuk menggunakannya dalam beban kerja. Otomatisasi dan konsistensi pada pemeriksaan ini adalah bagian dari siklus hidup pengembangan perangkat lunak beban kerja dan praktik penyebaran (SDP) yang aman.
Sespan Memperluas fungsionalitas aplikasi dengan merangkum tugas nonprimary atau lintas pemotongan dalam proses pendamping yang ada bersama aplikasi utama. Pola ini memberikan pendekatan untuk menerapkan fleksibilitas dalam integrasi alat yang dapat meningkatkan pengamatan aplikasi tanpa mengharuskan aplikasi untuk mengambil dependensi implementasi langsung. Ini memungkinkan fungsionalitas sespan berkembang secara independen dan dipertahankan secara independen dari siklus hidup aplikasi.
Gambar Pencekik Menyediakan pendekatan untuk mengganti komponen sistem yang berjalan secara sistematis dengan komponen baru, sering kali selama migrasi atau modernisasi sistem. Pola ini memberikan pendekatan peningkatan berkelanjutan, di mana penggantian bertambah bertahap dengan perubahan kecil dari waktu ke waktu lebih disukai daripada perubahan sistemik besar yang lebih berisiko untuk diterapkan. Pola ini juga mendukung penonaktifan yang aman: endpoint lama dapat diukur, dikurangi, dan dilepas hanya setelah alur penggantian memenuhi target keandalan dan observabilitas.

Langkah selanjutnya

Tinjau pola desain Arsitektur yang mendukung pilar Azure Well-Architected Framework lainnya: