Framework Arsitektur Google Cloud 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. Framework Arsitektur Google Cloud adalah versi framework kami yang dirancang dengan baik.
Tim pakar lintas fungsi di Google memvalidasi rekomendasi dalam Framework Arsitektur. Tim menyeleksi Framework Arsitektur untuk mencerminkan kemampuan Google Cloud yang terus berkembang, praktik terbaik industri, pengetahuan komunitas, dan masukan dari Anda. Untuk ringkasan perubahan signifikan pada Framework Arsitektur, lihat Yang baru.
Framework Arsitektur relevan dengan aplikasi yang dibuat untuk cloud dan untuk workload yang dimigrasikan dari lokal ke Google Cloud, deployment hybrid cloud, dan lingkungan multi-cloud.
Pilar dan perspektif Framework Arsitektur
Framework Arsitektur Google Cloud 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).
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 beban kerja AI dan ML.
Prinsip inti
Sebelum Anda mempelajari rekomendasi di setiap pilar Framework Arsitektur, tinjau prinsip inti berikut:
Mendesain untuk perubahan
Tidak ada sistem yang statis. Kebutuhan penggunanya, sasaran tim yang membangun sistem, dan sistem itu sendiri terus berubah. Dengan mempertimbangkan kebutuhan perubahan, buat proses pengembangan dan produksi yang memungkinkan tim secara rutin mengirimkan perubahan kecil dan mendapatkan masukan cepat tentang perubahan tersebut. Secara konsisten menunjukkan kemampuan untuk men-deploy perubahan akan 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
Saat Anda mulai memindahkan workload ke cloud atau membangun aplikasi, kurangnya dokumentasi tentang sistem dapat menjadi hambatan utama. Dokumentasi sangat penting untuk memvisualisasikan arsitektur deployment Anda saat ini dengan benar.
Dokumentasi berkualitas tidak dicapai dengan menghasilkan jumlah dokumentasi tertentu, tetapi dengan seberapa jelas kontennya, seberapa bergunanya, dan bagaimana konten tersebut dikelola 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 memenuhi 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 yang 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 setiap komponen layanan. 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 caching data secara 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.