Google Cloud Well-Architected Framework

Last reviewed 2024-10-11 UTC

Framework yang Dirancang dengan Baik memberikan rekomendasi untuk membantu arsitek, developer, administrator, dan praktisi cloud lainnya mendesain dan mengoperasikan topologi cloud yang aman, efisien, tangguh, berperforma tinggi, dan hemat biaya.

Tim pakar lintas fungsi di Google memvalidasi rekomendasi dalam Framework yang Dirancang dengan Baik. Tim menyeleksi Framework yang Dirancang dengan Baik untuk mencerminkan kemampuan Google Cloud yang terus berkembang, praktik terbaik industri, pengetahuan komunitas, dan masukan dari Anda. Google CloudUntuk ringkasan perubahan signifikan pada Framework yang Dirancang dengan Baik, lihat Yang baru.

Framework yang Dirancang dengan Baik relevan untuk aplikasi yang dibangun untuk cloud dan untuk workload yang dimigrasikan dari lokal ke Google Cloud, deployment hybrid cloud, dan lingkungan multi-cloud.

Pilar dan perspektif Well-Architected Framework

Well-Architected Framework disusun ke dalam lima pilar, seperti yang ditunjukkan dalam diagram berikut. Kami juga memberikan perspektif lintas pilar yang berfokus pada rekomendasi untuk domain, industri, dan teknologi tertentu seperti AI dan machine learning (ML).

Well-Architected Framework.

Pilar

Keunggulan Operasional
Deploy, pantau, dan kelola beban kerja cloud Anda secara efisien.
Keamanan, privasi, dan kepatuhan
Maksimalkan keamanan data dan beban kerja Anda di cloud, buat desain yang menjaga privasi, dan sesuaikan dengan persyaratan serta standar peraturan.
Keandalan
Rancang dan operasikan beban kerja yang tangguh dan sangat tersedia di cloud.
Pengoptimalan biaya
Maksimalkan nilai bisnis dari investasi Anda di Google Cloud.
Pengoptimalan Performa
Rancang dan sesuaikan resource cloud Anda untuk performa yang optimal.

Perspektif

AI dan ML
Tampilan lintas pilar rekomendasi yang khusus untuk workload AI dan ML.
Industri jasa keuangan (FSI)
Tampilan lintas pilar rekomendasi yang khusus untuk workload FSI.

Prinsip inti

Sebelum Anda mempelajari rekomendasi di setiap pilar Well-Architected Framework, tinjau prinsip inti berikut:

Mendesain untuk perubahan

Tidak ada sistem yang statis. Kebutuhan penggunanya, tujuan tim yang membangun sistem, dan sistem itu sendiri terus berubah. Dengan mempertimbangkan kebutuhan akan perubahan, buat proses pengembangan dan produksi yang memungkinkan tim mengirimkan perubahan kecil secara rutin dan mendapatkan masukan cepat tentang perubahan tersebut. Menunjukkan kemampuan untuk men-deploy perubahan secara konsisten membantu membangun kepercayaan dengan pemangku kepentingan, termasuk tim yang bertanggung jawab atas sistem, dan pengguna sistem. Menggunakan metrik pengiriman software DORA dapat membantu tim Anda memantau kecepatan, kemudahan, dan keamanan dalam melakukan perubahan pada sistem.

Mendokumentasikan arsitektur Anda

Saat Anda mulai memindahkan workload ke cloud atau membangun aplikasi, kurangnya dokumentasi tentang sistem dapat menjadi hambatan besar. Dokumentasi sangat penting untuk memvisualisasikan arsitektur deployment Anda saat ini dengan benar.

Dokumentasi berkualitas tidak dicapai dengan menghasilkan dokumentasi dalam jumlah tertentu, tetapi dengan seberapa jelas kontennya, seberapa berguna, dan bagaimana pemeliharaannya saat sistem berubah.

Arsitektur cloud yang didokumentasikan dengan baik membentuk bahasa dan standar yang sama, sehingga tim lintas fungsi dapat berkomunikasi dan berkolaborasi secara efektif. Dokumentasi ini juga memberikan informasi yang diperlukan untuk mengidentifikasi dan memandu keputusan desain di masa mendatang. Dokumentasi harus ditulis dengan mempertimbangkan kasus penggunaan Anda, untuk memberikan konteks pada keputusan desain.

Seiring waktu, keputusan desain Anda akan berkembang dan berubah. Histori perubahan memberikan konteks yang diperlukan tim Anda untuk menyelaraskan inisiatif, menghindari duplikasi, dan mengukur perubahan performa secara efektif dari waktu ke waktu. Log perubahan sangat berharga saat Anda mengorientasi arsitek cloud baru yang belum memahami desain, strategi, atau histori Anda saat ini.

Analisis oleh DORA telah menemukan hubungan yang jelas antara kualitas dokumentasi dan performa organisasi — kemampuan organisasi untuk mencapai sasaran performa dan profitabilitasnya.

Menyederhanakan desain Anda dan menggunakan layanan terkelola sepenuhnya

Kesederhanaan sangat penting untuk desain. Jika arsitektur Anda terlalu rumit untuk dipahami, akan sulit untuk menerapkan desain dan mengelolanya seiring waktu. Jika memungkinkan, gunakan layanan terkelola sepenuhnya untuk meminimalkan risiko, waktu, dan upaya yang terkait dengan pengelolaan dan pemeliharaan sistem dasar pengukuran.

Jika Anda sudah menjalankan workload dalam produksi, lakukan pengujian dengan layanan terkelola untuk melihat bagaimana layanan tersebut dapat membantu mengurangi kompleksitas operasional. Jika Anda mengembangkan workload baru, mulailah dengan yang sederhana, buat produk dengan kelayakan minimal (MVP), dan tahan keinginan untuk merekayasa secara berlebihan. Anda dapat mengidentifikasi kasus penggunaan yang luar biasa, melakukan iterasi, dan meningkatkan sistem secara bertahap dari waktu ke waktu.

Pisahkan arsitektur Anda

Riset dari DORA menunjukkan bahwa arsitektur adalah prediktor penting untuk mencapai pengiriman berkelanjutan. Pemisahan adalah teknik yang digunakan untuk memisahkan aplikasi dan komponen layanan Anda menjadi komponen yang lebih kecil yang dapat beroperasi secara independen. Misalnya, Anda dapat memisahkan stack aplikasi monolitik menjadi komponen layanan individu. Dalam arsitektur yang dikaitkan secara longgar, aplikasi dapat menjalankan fungsinya secara independen, terlepas dari berbagai dependensi.

Arsitektur yang dipisahkan memberi Anda peningkatan fleksibilitas untuk melakukan hal berikut:

  • Menerapkan upgrade independen.
  • Menerapkan kontrol keamanan tertentu.
  • Menetapkan tujuan keandalan untuk setiap subsistem.
  • Memantau kondisi.
  • Mengontrol performa dan parameter biaya secara terperinci.

Anda dapat memulai proses pemisahan di awal fase desain atau menyertakannya sebagai bagian dari upgrade sistem seiring berubahnya skala sistem.

Menggunakan arsitektur stateless

Arsitektur stateless dapat meningkatkan keandalan dan skalabilitas aplikasi Anda.

Aplikasi stateful mengandalkan berbagai dependensi untuk melakukan tugas, seperti penyimpanan data lokal. Aplikasi stateful sering kali memerlukan mekanisme tambahan untuk menangkap progres dan memulai ulang dengan lancar. Aplikasi stateless dapat melakukan tugas tanpa dependensi lokal yang signifikan menggunakan penyimpanan bersama atau layanan yang di-cache. Arsitektur stateless memungkinkan aplikasi Anda melakukan peningkatan skala dengan cepat dengan dependensi booting minimum. Aplikasi tersebut dapat bertahan saat mulai ulang keras, memiliki periode nonaktif yang lebih rendah, dan memberikan performa yang lebih baik untuk pengguna akhir.