Sebagai arsitek cloud atau pengambil keputusan, saat Anda berencana men-deploy aplikasi di Google Cloud, Anda harus memilih arketipe deployment1 yang sesuai untuk aplikasi Anda. Panduan ini menjelaskan enam arsitektur deployment—zonal, regional, multi-regional, global, hybrid, dan multicloud, serta menyajikan kasus penggunaan dan pertimbangan desain untuk setiap arsitektur deployment. Panduan ini juga memberikan analisis komparatif untuk membantu Anda memilih arketipe deployment yang memenuhi persyaratan Anda dalam hal ketersediaan, biaya, performa, dan efisiensi operasional.
Apa yang dimaksud dengan jenis arsitektur deployment?
Arketipe deployment adalah model abstrak dan independen dari penyedia yang Anda gunakan sebagai fondasi untuk membangun arsitektur deployment khusus aplikasi yang memenuhi persyaratan bisnis dan teknis Anda. Setiap arketipe deployment menentukan kombinasi domain kegagalan tempat aplikasi dapat berjalan. Domain kegagalan ini dapat berupa satu atau beberapa zona atau regionGoogle Cloud , dan dapat diperluas untuk menyertakan pusat data lokal atau domain kegagalan Anda di penyedia cloud lain.
Diagram berikut menunjukkan enam aplikasi yang di-deploy di Google Cloud. Setiap aplikasi menggunakan arketipe deployment yang memenuhi persyaratan spesifiknya.
Seperti yang ditunjukkan pada diagram sebelumnya, dalam arsitektur yang menggunakan pola dasar deployment hybrid atau multicloud, topologi cloud didasarkan pada salah satu pola dasar dasar: zona, regional, multi-regional, atau global. Dalam hal ini, arketipe deployment hybrid dan multicloud dapat dianggap sebagai arketipe deployment komposit yang mencakup salah satu arketipe dasar.
Memilih arketipe deployment membantu menyederhanakan keputusan selanjutnya terkait produk dan fitur yang harus Anda gunakan. Google Cloud Misalnya, untuk aplikasi dalam container yang sangat tersedia, jika Anda memilih pola dasar deployment regional, cluster Google Kubernetes Engine (GKE) regional lebih sesuai daripada cluster GKE zona.
Saat memilih arketipe deployment untuk aplikasi, Anda harus mempertimbangkan kompromi antara faktor-faktor seperti ketersediaan, biaya, dan kompleksitas operasional. Misalnya, jika aplikasi melayani pengguna di beberapa negara dan memerlukan ketersediaan yang tinggi, Anda dapat memilih arketipe deployment multi-regional. Namun, untuk aplikasi internal yang digunakan oleh karyawan di satu wilayah geografis, Anda dapat memprioritaskan biaya daripada ketersediaan dan, oleh karena itu, memilih prototipe deployment regional.
Ringkasan jenis arsitektur deployment
Tab berikut memberikan definisi untuk arketipe deployment dan ringkasan kasus penggunaan dan pertimbangan desain untuk setiap arketipe.
Zonal
Aplikasi Anda berjalan dalam satu zona Google Cloud , seperti yang ditunjukkan dalam diagram berikut:
Kasus penggunaan |
|
---|---|
Pertimbangan desain |
|
Informasi selengkapnya | Lihat bagian berikut: |
Regional
Aplikasi Anda berjalan secara independen di dua atau beberapa zona dalam satu Google Cloud region, seperti yang ditunjukkan dalam diagram berikut:
Kasus penggunaan |
|
---|---|
Pertimbangan desain |
|
Informasi selengkapnya | Lihat bagian berikut: |
Multi-regional
Aplikasi Anda berjalan secara independen di beberapa zona di dua atau lebih Google Cloud region. Anda dapat menggunakan kebijakan perutean DNS untuk merutekan traffic masuk ke load balancer regional. Load balancer regional kemudian mendistribusikan traffic ke replika aplikasi per zona, seperti yang ditunjukkan dalam diagram berikut:
Kasus penggunaan |
|
---|---|
Pertimbangan desain |
|
Informasi selengkapnya | Lihat bagian berikut: |
Global
Aplikasi Anda berjalan di seluruh Google Cloud region di seluruh dunia, baik sebagai stack yang didistribusikan secara global (tidak mengetahui lokasi) atau sebagai stack yang terisolasi secara regional. Load balancer anycast global mendistribusikan traffic ke region yang paling dekat dengan pengguna. Komponen lain dari stack aplikasi juga dapat bersifat global, seperti database, cache, dan penyimpanan objek.
Diagram berikut menunjukkan varian yang didistribusikan secara global dari arketipe deployment global. Load balancer anycast global meneruskan permintaan ke stack aplikasi yang didistribusikan di beberapa region dan yang menggunakan database yang direplikasi secara global.
Diagram berikut menunjukkan varian arketipe deployment global dengan stack aplikasi yang terisolasi secara regional. Load balancer anycast global meneruskan permintaan ke stack aplikasi di salah satu region. Semua stack aplikasi menggunakan satu database yang direplikasi secara global.
Kasus penggunaan |
|
---|---|
Pertimbangan desain | Biaya untuk transfer data lintas region dan replikasi data. |
Informasi selengkapnya | Lihat bagian berikut: |
Hybrid
Bagian tertentu dari aplikasi Anda di-deploy di Google Cloud, sementara bagian lainnya berjalan di lokal, seperti yang ditunjukkan dalam diagram berikut. Topologi di Google Cloud dapat menggunakan pola dasar deployment zonal, regional, multi-regional, atau global.
Kasus penggunaan |
|
---|---|
Pertimbangan desain |
|
Informasi selengkapnya | Lihat bagian berikut: |
Multi-cloud
Beberapa bagian aplikasi Anda di-deploy di Google Cloud, dan bagian lainnya di-deploy di platform cloud lain, seperti yang ditunjukkan dalam diagram berikut. Topologi di setiap platform cloud dapat menggunakan arsitektur deployment zona, regional, multi-regional, atau global.
Kasus penggunaan |
|
---|---|
Pertimbangan desain |
|
Informasi selengkapnya | Lihat bagian berikut: |
Kontributor
Penulis: Kumar Dhanagopal | Cross-Product Solution Developer
Kontributor lainnya:
- Anna Berenberg | Engineering Fellow
- Anshu Kak | Distinguished Engineer
- Jeff Welsch | Director, Product Management
- Marwan Al Shawi | Partner Customer Engineer
- Sekou Page | Outbound Product Manager
- Steve McGhee | Reliability Advocate
- Victor Moreno | Product Manager, Cloud Networking
-
Anna Berenberg dan Brad Calder, Deployment Archetypes for Cloud Applications, ACM Computing Surveys, Volume 55, Issue 3, Article No.: 61, hlm. 1-48 ↩