Sebagai arsitek cloud atau pembuat keputusan, saat Anda berencana men-deploy aplikasi di Google Cloud, Anda harus memilih arketipe deployment1 yang sesuai untuk aplikasi Anda. Panduan ini menjelaskan enam arketip deployment—zona, regional, multi-regional, global, hybrid, dan multicloud, serta menyajikan kasus penggunaan dan pertimbangan desain untuk setiap arketip 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?
Arketip deployment adalah model abstrak yang tidak bergantung pada penyedia yang Anda gunakan sebagai fondasi untuk membuat arsitektur deployment khusus aplikasi yang memenuhi persyaratan bisnis dan teknis Anda. Setiap arketipe deployment menetapkan kombinasi domain kegagalan tempat aplikasi dapat berjalan. Domain gagal ini dapat berupa satu atau beberapa zona atau region Google Cloud, dan dapat diperluas untuk menyertakan pusat data lokal atau domain gagal Anda di penyedia cloud lain.
Diagram berikut menunjukkan enam aplikasi yang di-deploy di Google Cloud. Setiap aplikasi menggunakan arketipe deployment yang memenuhi persyaratan tertentu.
Seperti yang ditunjukkan diagram sebelumnya, dalam arsitektur yang menggunakan arketipe deployment hybrid atau multi-cloud, 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 menyertakan salah satu arketipe dasar.
Memilih arketipe deployment membantu menyederhanakan keputusan selanjutnya terkait produk dan fitur Google Cloud yang harus Anda gunakan. Misalnya, untuk aplikasi dalam container yang sangat tersedia, 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 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, sehingga memilih arketipe deployment regional.
Ringkasan jenis arsitektur deployment
Tab berikut memberikan definisi untuk arketipe deployment dan ringkasan kasus penggunaan serta 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 region Google Cloud, seperti yang ditunjukkan pada 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 region Google Cloud. Anda dapat menggunakan kebijakan perutean DNS untuk merutekan traffic masuk ke load balancer regional. Load balancer regional kemudian mendistribusikan traffic ke replika zonal 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 mengetahui lokasi) maupun 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 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 dan replikasi data lintas region. |
Informasi selengkapnya | Lihat bagian berikut: |
Hybrid
Bagian tertentu dari aplikasi Anda di-deploy di Google Cloud, sedangkan bagian lainnya berjalan secara lokal, seperti yang ditunjukkan dalam diagram berikut. Topologi di Google Cloud dapat menggunakan arketipe deployment zona, 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 lainnya, 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 ↩