Sebagai cloud architect 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—zona, 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 terkait ketersediaan, biaya, performa, dan efisiensi operasional.
Apa yang dimaksud dengan arketipe deployment?
Arketipe deployment adalah model abstrak yang tidak bergantung pada 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 gagal tempat aplikasi dapat berjalan. Domain kegagalan ini dapat berupa satu atau beberapa Google Cloud zona atau region, dan dapat diperluas untuk mencakup pusat data lokal atau domain kegagalan Anda di penyedia cloud lainnya.
Diagram berikut menunjukkan enam aplikasi yang di-deploy di Google Cloud. Setiap aplikasi menggunakan arketipe deployment yang memenuhi persyaratan spesifiknya.
Seperti yang ditunjukkan diagram sebelumnya, dalam arsitektur yang menggunakan arketipe deployment hybrid atau multicloud, topologi cloud didasarkan pada salah satu arketipe 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 akan membantu menyederhanakan keputusan berikutnya terkait produk dan fitur Google Cloud yang harus Anda gunakan. Misalnya, untuk aplikasi dalam container dengan tingkat ketersediaan tinggi, jika Anda memilih arketipe deployment regional, cluster Google Kubernetes Engine (GKE) regional akan lebih sesuai daripada cluster GKE zona.
Saat memilih arketipe deployment untuk aplikasi, Anda perlu mempertimbangkan kompromi antara faktor-faktor seperti ketersediaan, biaya, dan kompleksitas operasional. Misalnya, jika aplikasi melayani pengguna di beberapa negara dan memerlukan ketersediaan tinggi, Anda dapat memilih arketipe deployment multi-regional. Namun, untuk aplikasi internal yang digunakan oleh karyawan di satu wilayah geografis, Anda mungkin memprioritaskan biaya daripada ketersediaan, sehingga memilih arketipe deployment regional.
Ringkasan jenis arsitektur deployment
Tab berikut memberikan definisi untuk arketipe deployment serta ringkasan kasus penggunaan dan pertimbangan desain untuk masing-masing 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 zona atau lebih dalam satu regionGoogle Cloud , 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 beberapa regionGoogle Cloud . Anda dapat menggunakan kebijakan perutean DNS untuk merutekan traffic masuk ke load balancer regional. Load balancer regional kemudian mendistribusikan traffic ke replika zona aplikasi, seperti yang ditunjukkan dalam diagram berikut:
| Kasus penggunaan |
|
|---|---|
| Pertimbangan desain |
|
| Informasi selengkapnya | Lihat bagian berikut: |
Global
Aplikasi Anda berjalan di seluruh region Google Cloud di seluruh dunia, baik sebagai stack yang didistribusikan secara global (tidak bergantung pada lokasi) maupun sebagai stack yang terisolasi secara regional. Load balancer anycast global mendistribusikan traffic ke region yang terdekat 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 menggunakan database yang direplikasi secara global.
Diagram berikut menunjukkan varian arketipe deployment global dengan stack aplikasi yang diisolasi 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, dan bagian lainnya berjalan secara lokal, seperti yang ditunjukkan dalam diagram berikut. Topologi di Google Cloud dapat menggunakan arketipe 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 arketipe deployment zona, regional, multi-regional, atau global.
| Kasus penggunaan |
|
|---|---|
| Pertimbangan desain |
|
| Informasi selengkapnya | Lihat bagian berikut: |
Kontributor
Penulis: Kumar Dhanagopal | Developer Solusi Lintas Produk
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 ↩