Deployment zona tunggal di Compute Engine

Last reviewed 2024-02-08 UTC

Dokumen ini memberikan arsitektur referensi untuk aplikasi multi-tingkat yang berjalan di VM Compute Engine dalam satu zona di Google Cloud. Anda dapat menggunakan arsitektur referensi ini untuk menghosting ulang (lift-and-shift) aplikasi lokal ke cloud secara efisien dengan melakukan perubahan yang minimal pada aplikasi. Dokumen ini juga menjelaskan faktor desain yang harus Anda pertimbangkan saat mem-build arsitektur zona untuk aplikasi cloud. Audiens yang dituju untuk dokumen ini adalah arsitek cloud.

Arsitektur

Diagram berikut menunjukkan arsitektur untuk aplikasi yang berjalan di satu zona Google Cloud. Arsitektur ini selaras dengan arketipe deployment zona Google Cloud.

Arsitektur zona tunggal menggunakan Compute Engine.

Arsitekturnya didasarkan pada model cloud Infrastructure as a Service (IaaS). Anda menyediakan resource infrastruktur yang diperlukan (komputasi, jaringan, dan penyimpanan) di Google Cloud. Anda tetap memiliki kontrol penuh atas infrastruktur dan tanggung jawab atas sistem operasi, middleware, dan lapisan stack aplikasi yang lebih tinggi. Untuk mempelajari IaaS dan model cloud lainnya lebih lanjut, lihat PaaS vs. IaaS vs. SaaS vs. CaaS: Apa perbedaannya?

Diagram sebelumnya mencakup komponen berikut:

Komponen Tujuan
Load balancer eksternal regional

Load balancer eksternal regional menerima dan mendistribusikan permintaan pengguna ke VM tingkat web.

Gunakan jenis load balancer yang sesuai, bergantung pada jenis traffic dan persyaratan lainnya. Misalnya, jika backend terdiri dari server web (seperti yang ditunjukkan dalam arsitektur sebelumnya), gunakan Load Balancer Aplikasi untuk meneruskan traffic HTTP(S). Untuk melakukan load balancing pada traffic TCP, gunakan Load Balancer Jaringan. Untuk mengetahui informasi selengkapnya, lihat Memilih load balancer.

Grup instance terkelola (MIG) zonal untuk tingkat web Tingkat web aplikasi di-deploy di VM Compute Engine yang merupakan bagian dari MIG zona. MIG adalah backend untuk load balancer eksternal regional. Setiap VM di MIG menghosting instance independen dari tingkat web aplikasi.
Load balancer internal regional

Load balancer internal regional mendistribusikan traffic dari VM tingkat web ke VM tingkat aplikasi.

Bergantung pada persyaratan, Anda dapat menggunakan Load Balancer Aplikasi internal regional atau Load Balancer Jaringan. Untuk mengetahui informasi selengkapnya, lihat Memilih load balancer.

MIG zona untuk tingkat aplikasi Tingkat aplikasi di-deploy di VM Compute Engine yang merupakan bagian dari MIG zona, yang merupakan backend untuk load balancer internal. Setiap VM di MIG menghosting instance independen dari tingkat aplikasi.
Database pihak ketiga yang di-deploy di VM Compute Engine

Arsitektur dalam dokumen ini menunjukkan database pihak ketiga (seperti PostgreSQL) yang di-deploy di VM Compute Engine. Anda dapat men-deploy database standby di zona lain. Kemampuan replikasi database dan failover bergantung pada database yang Anda gunakan.

Menginstal dan mengelola database pihak ketiga memerlukan upaya dan biaya operasional tambahan untuk menerapkan update, memantau, dan memastikan ketersediaan. Anda dapat menghindari overhead saat menginstal dan mengelola database pihak ketiga serta memanfaatkan fitur ketersediaan tinggi (HA) bawaan dengan menggunakan layanan database yang terkelola sepenuhnya, seperti Cloud SQL atau AlloyDB untuk PostgreSQL. Untuk mengetahui informasi selengkapnya tentang opsi database terkelola, lihat Layanan database.

Jaringan Virtual Private Cloud dan subnet

Semua resource Google Cloud dalam arsitektur ini menggunakan satu subnet dan jaringan VPC.

Bergantung pada kebutuhan, Anda dapat memilih untuk membangun arsitektur yang menggunakan beberapa jaringan VPC atau beberapa subnet. Untuk informasi lebih lanjut, lihat Memutuskan apakah akan membuat beberapa jaringan VPC di "Praktik terbaik dan arsitektur referensi untuk desain VPC".

Bucket regional Cloud Storage

Cadangan aplikasi dan database disimpan di bucket Cloud Storage regional. Jika terjadi pemadaman zona, aplikasi dan data Anda tidak akan hilang.

Atau, Anda dapat menggunakan Layanan Pencadangan dan DR untuk membuat, menyimpan, dan mengelola cadangan database.

Produk yang digunakan

Arsitektur referensi ini menggunakan produk Google Cloud berikut:

  • Compute Engine: Layanan komputasi yang aman dan dapat disesuaikan yang memungkinkan Anda membuat dan menjalankan VM di infrastruktur Google.
  • Cloud Load Balancing: Portofolio load balancer yang berperforma tinggi, skalabel, global, dan regional.
  • Cloud Storage: Penyimpanan objek tanpa batas dan hemat biaya untuk beragam jenis data. Data dapat diakses dari dalam dan luar Google Cloud, serta direplikasi ke berbagai lokasi untuk redundansi.
  • Virtual Private Cloud: Sistem virtual yang menyediakan fungsi jaringan global dan skalabel untuk workload Google Cloud Anda.

Kasus penggunaan

Bagian ini menjelaskan kasus penggunaan ketika deployment zona tunggal di Compute Engine merupakan pilihan yang tepat.

  • Pengembangan dan pengujian cloud: Anda dapat menggunakan arsitektur deployment zona tunggal guna membangun lingkungan cloud berbiaya rendah untuk pengembangan dan pengujian.
  • Aplikasi yang tidak memerlukan HA: Arsitektur zona tunggal mungkin cukup untuk aplikasi yang dapat menoleransi periode nonaktif karena gangguan infrastruktur.
  • Jejaring berlatensi rendah dan berbiaya rendah di antara komponen aplikasi: Arsitektur zona tunggal mungkin cocok untuk aplikasi seperti komputasi batch yang memerlukan koneksi jaringan berlatensi rendah dan bandwidth tinggi di antara node komputasi. Dengan deployment zona tunggal, tidak ada traffic jaringan lintas zona, dan Anda tidak dikenai biaya untuk traffic intra-zona.
  • Migrasi workload komoditas: Arsitektur deployment zona menyediakan jalur migrasi cloud sederhana untuk aplikasi lokal komoditas yang kodenya tidak Anda kendalikan atau yang tidak dapat mendukung arsitektur di luar topologi aktif-pasif dasar.
  • Menjalankan software yang dibatasi lisensi: Arsitektur zona tunggal mungkin sangat cocok untuk sistem yang dibatasi lisensi, yang menjalankan lebih dari satu instance secara bersamaan terlalu mahal atau tidak diizinkan.

Pertimbangan desain

Bagian ini berisi panduan untuk membantu Anda menggunakan arsitektur referensi ini untuk mengembangkan arsitektur yang memenuhi persyaratan spesifik Anda untuk desain sistem, keamanan dan kepatuhan, keandalan, efisiensi operasional, biaya, dan performa.

Desain sistem

Bagian ini berisi panduan untuk membantu Anda memilih region dan zona Google Cloud untuk deployment zona Anda serta memilih layanan Google Cloud yang sesuai.

Pilihan wilayah

Saat memilih region dan zona Google Cloud untuk aplikasi Anda, pertimbangkan faktor dan persyaratan berikut:

  • Ketersediaan layanan Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Produk yang tersedia berdasarkan lokasi.
  • Ketersediaan jenis mesin Compute Engine. Untuk informasi selengkapnya, lihat Region dan zona.
  • Persyaratan latensi pengguna akhir.
  • Biaya resource Google Cloud.
  • Persyaratan peraturan.

Beberapa faktor dan persyaratan ini mungkin membutuhkan kompromi. Misalnya, wilayah yang paling hemat biaya mungkin tidak memiliki jejak karbon terendah. Untuk mengetahui informasi selengkapnya, lihat Memilih zona dan region geografis di Framework Arsitektur Google Cloud.

Layanan komputasi

Arsitektur referensi dalam dokumen ini menggunakan VM Compute Engine untuk semua tingkat aplikasi. Panduan desain dalam dokumen ini khusus untuk Compute Engine kecuali jika dinyatakan lain.

Bergantung pada persyaratan aplikasi, Anda dapat memilih dari layanan komputasi Google Cloud lainnya berikut. Panduan desain untuk layanan tersebut berada di luar cakupan dokumen ini.

  • Anda dapat menjalankan aplikasi dalam container di cluster Google Kubernetes Engine (GKE). GKE adalah mesin orkestrasi container yang mengotomatiskan deployment, penskalaan, dan pengelolaan aplikasi dalam container.
  • Jika Anda lebih suka memfokuskan upaya IT pada data dan aplikasi, bukan menyiapkan dan mengoperasikan resource infrastruktur, Anda dapat menggunakan layanan serverless seperti Cloud Run dan Cloud Functions.

Keputusan untuk menggunakan VM, container, atau layanan serverless melibatkan kompromi antara fleksibilitas konfigurasi dan upaya pengelolaan. VM dan container memberikan fleksibilitas konfigurasi yang lebih besar, tetapi Anda bertanggung jawab untuk mengelola resource. Dalam arsitektur serverless, Anda men-deploy workload ke platform yang telah dikonfigurasi sebelumnya, dan hanya memerlukan sedikit upaya pengelolaan. Untuk mengetahui informasi selengkapnya tentang cara memilih layanan komputasi yang sesuai untuk workload Anda di Google Cloud, lihat Memilih dan mengelola komputasi di Framework Arsitektur Google Cloud.

Layanan penyimpanan

Arsitektur yang ditampilkan dalam dokumen ini menggunakan volume Persistent Disk zona untuk semua tingkat. Untuk penyimpanan persisten yang lebih tahan lama, Anda dapat menggunakan volume Persistent Disk regional, yang menyediakan replikasi data sinkron di dua zona dalam satu region.

Untuk penyimpanan berbiaya rendah yang redundan di seluruh zona dalam suatu region, Anda dapat menggunakan bucket regional Cloud Storage.

Untuk menyimpan data yang dibagikan ke beberapa VM dalam satu region, seperti di semua VM di tingkat web atau tingkat aplikasi, Anda dapat menggunakan Filestore. Data yang Anda simpan di instance Filestore Enterprise direplikasi secara sinkron di tiga zona dalam region. Replikasi ini memastikan ketersediaan tinggi dan keandalan terhadap pemadaman zona. Anda dapat menyimpan file konfigurasi bersama, utilitas dan alat umum, serta log terpusat dalam instance Filestore, dan memasang instance pada beberapa VM.

Jika database Anda adalah Microsoft SQL Server, sebaiknya gunakan Cloud SQL untuk SQL Server. Jika Cloud SQL tidak mendukung persyaratan konfigurasi Anda, atau jika Anda memerlukan akses ke sistem operasi, Anda dapat men-deploy instance cluster failover (FCI). Dalam skenario ini, Anda dapat menggunakan Google Cloud NetApp Volumes yang terkelola sepenuhnya untuk menyediakan penyimpanan SMB ketersediaan berkelanjutan (CA) untuk database.

Saat Anda mendesain penyimpanan untuk workload, pertimbangkan karakteristik fungsional, persyaratan ketahanan, ekspektasi performa, dan sasaran biaya. Untuk mengetahui informasi selengkapnya, baca Mendesain strategi penyimpanan yang optimal untuk workload cloud Anda.

Layanan database

Arsitektur referensi dalam dokumen ini menggunakan database pihak ketiga, seperti PostgreSQL, yang di-deploy di VM Compute Engine. Menginstal dan mengelola database pihak ketiga memerlukan upaya dan biaya untuk operasi seperti menerapkan update, memantau dan memastikan ketersediaan, melakukan pencadangan, dan memulihkan dari kegagalan.

Untuk menghindari upaya dan biaya penginstalan serta pengelolaan database pihak ketiga, gunakan layanan database yang terkelola sepenuhnya, seperti Cloud SQL, AlloyDB untuk PostgreSQL, Bigtable, Spanner, atau Firestore. Layanan database Google Cloud ini menyediakan perjanjian tingkat layanan (SLA) waktu beroperasi, dan mencakup kemampuan default untuk skalabilitas dan kemampuan observasi. Jika beban kerja Anda memerlukan database Oracle, Anda dapat menggunakan Solusi Bare Metal yang disediakan oleh Google Cloud. Untuk ringkasan kasus penggunaan yang sesuai untuk setiap layanan database Google Cloud, lihat Database Google Cloud.

Keamanan dan kepatuhan

Bagian ini menjelaskan faktor-faktor yang harus dipertimbangkan saat menggunakan arsitektur referensi ini untuk mendesain dan membangun topologi zona di Google Cloud yang memenuhi persyaratan keamanan dan kepatuhan beban kerja Anda.

Perlindungan terhadap ancaman eksternal

Untuk melindungi aplikasi Anda dari ancaman eksternal, seperti serangan distributed denial of service (DDoS) dan pembuatan skrip lintas situs (XSS), Anda dapat menggunakan kebijakan keamanan Google Cloud Armor. Kebijakan keamanan diterapkan di perimeter—yaitu, sebelum traffic mencapai tingkat web. Setiap kebijakan adalah kumpulan aturan yang menetapkan kondisi tertentu yang harus dievaluasi dan tindakan yang akan diambil jika kondisi terpenuhi. Misalnya, sebuah aturan dapat menentukan bahwa jika alamat IP sumber traffic masuk cocok dengan alamat IP atau rentang CIDR tertentu, traffic tersebut harus ditolak. Selain itu, Anda dapat menerapkan aturan firewall aplikasi web (WAF) yang telah dikonfigurasi sebelumnya. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kebijakan keamanan.

Akses eksternal untuk VM

Dalam arsitektur referensi yang dijelaskan dalam dokumen ini, VM yang menghosting tingkat aplikasi, tingkat web, dan database tidak memerlukan akses masuk dari internet. Jangan menetapkan alamat IP eksternal ke VM tersebut. Resource Google Cloud yang hanya memiliki alamat IP internal pribadi masih dapat mengakses Google API dan layanan Google tertentu menggunakan Private Service Connect atau Akses Google Pribadi. Untuk mengetahui informasi selengkapnya, lihat Opsi akses pribadi untuk layanan.

Untuk mengaktifkan koneksi keluar yang aman dari resource Google Cloud yang hanya memiliki alamat IP internal, seperti VM Compute Engine dalam arsitektur referensi ini, Anda dapat menggunakan Cloud NAT.

Keamanan image VM

Untuk memastikan VM Anda hanya menggunakan image yang disetujui (yaitu, image dengan software yang memenuhi persyaratan kebijakan atau keamanan Anda), Anda dapat menentukan kebijakan organisasi yang membatasi penggunaan image dalam project image publik tertentu. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan kebijakan image tepercaya.

Hak istimewa akun layanan

Dalam project Google Cloud yang mengaktifkan Compute Engine API, akun layanan default akan dibuat secara otomatis. Akun layanan default diberi peran IAM Editor (roles/editor) kecuali jika perilaku ini dinonaktifkan. Secara default, akun layanan default dikaitkan ke semua VM yang Anda buat menggunakan Google Cloud CLI atau Konsol Google Cloud. Peran Editor mencakup berbagai izin, sehingga menambahkan akun layanan default ke VM akan menimbulkan risiko keamanan. Untuk menghindari risiko ini, Anda dapat membuat dan menggunakan akun layanan khusus untuk setiap aplikasi. Untuk menentukan resource yang dapat diakses akun layanan, gunakan kebijakan yang terperinci. Untuk informasi selengkapnya, lihat Membatasi hak istimewa akun layanan di "Praktik terbaik untuk menggunakan akun layanan".

Keamanan jaringan

Untuk mengontrol traffic jaringan antar-resource dalam arsitektur, Anda harus menyiapkan aturan Firewall Cloud Next Generation yang sesuai. Setiap aturan firewall memungkinkan Anda mengontrol traffic berdasarkan parameter seperti protokol, alamat IP, dan port. Misalnya, Anda dapat mengonfigurasi aturan firewall untuk mengizinkan traffic TCP dari VM server web ke port VM database tertentu, dan memblokir semua traffic lainnya.

Pertimbangan keamanan lainnya

Saat Anda membangun arsitektur untuk workload Anda, pertimbangkan praktik terbaik dan rekomendasi keamanan tingkat platform yang diberikan dalam blueprint Enterprise Foundation.

Keandalan

Bagian ini menjelaskan faktor-faktor desain yang harus Anda pertimbangkan saat menggunakan arsitektur referensi ini untuk membangun dan mengoperasikan infrastruktur yang andal untuk deployment zona Anda di Google Cloud.

Pemadaman infrastruktur

Dalam arsitektur deployment zona tunggal, jika ada komponen dalam stack infrastruktur gagal, aplikasi dapat memproses permintaan jika setiap tingkat berisi setidaknya satu komponen yang berfungsi dengan kapasitas yang memadai. Misalnya, jika ada instance server web yang gagal, load balancer akan meneruskan permintaan pengguna ke instance server web lain yang tersedia. Jika VM yang menghosting server web atau instance server aplikasi mengalami error, MIG akan membuat ulang VM secara otomatis. Jika database mengalami error, Anda harus mengaktifkan database kedua secara manual dan mengupdate instance server aplikasi agar terhubung ke database.

Pemadaman zona atau pemadaman region akan memengaruhi semua VM Compute Engine dalam deployment zona tunggal. Pemadaman zona tidak memengaruhi load balancer dalam arsitektur ini karena merupakan resource regional. Namun, load balancer tidak dapat mendistribusikan traffic, karena tidak ada backend yang tersedia. Jika terjadi pemadaman zona atau region, Anda harus menunggu hingga Google menyelesaikan pemadaman layanan, lalu memverifikasi bahwa aplikasi berfungsi seperti yang diharapkan.

Anda dapat mengurangi periode nonaktif yang disebabkan oleh pemadaman zona atau region dengan mempertahankan replika pasif (failover) stack infrastruktur di zona atau region Google Cloud lainnya. Jika terjadi pemadaman layanan di zona utama, Anda dapat mengaktifkan stack di zona atau region failover, dan menggunakan kebijakan pemilihan rute DNS untuk mengarahkan traffic ke load balancer di zona atau region failover.

Untuk aplikasi yang memerlukan keandalan terhadap gangguan zona atau region, pertimbangkan untuk menggunakan arsitektur regional atau multi-regional. Lihat arsitektur referensi berikut:

Penskalaan otomatis MIG

Kemampuan penskalaan otomatis pada MIG stateless memungkinkan Anda mempertahankan ketersediaan dan performa aplikasi pada tingkat yang dapat diprediksi. MIG stateful tidak dapat diskalakan otomatis.

Untuk mengontrol perilaku penskalaan otomatis MIG, Anda dapat menentukan metrik utilisasi target, seperti pemakaian CPU rata-rata. Anda juga dapat mengonfigurasi penskalaan otomatis berbasis jadwal. Untuk mengetahui informasi selengkapnya, lihat Penskalaan otomatis grup instance.

Batas ukuran MIG

Secara default, MIG zona dapat memiliki hingga 1.000 VM. Anda dapat meningkatkan batas ukuran MIG menjadi 2.000 VM.

Autohealing VM

Terkadang VM yang menghosting aplikasi Anda mungkin berjalan dan tersedia, tetapi mungkin ada masalah dengan aplikasi itu sendiri. Aplikasi mungkin berhenti berfungsi, error, atau tidak memiliki cukup memori. Untuk memverifikasi apakah aplikasi merespons seperti yang diharapkan, Anda dapat mengonfigurasi health check berbasis aplikasi sebagai bagian dari kebijakan autohealing MIG Anda. Jika aplikasi pada VM tertentu tidak merespons, MIG akan otomatis memulihkan (memperbaiki) VM. Untuk mengetahui informasi selengkapnya tentang mengonfigurasi autohealing, lihat Menyiapkan health check dan autohealing aplikasi.

Penempatan VM

Dalam arsitektur yang dijelaskan dalam dokumen ini, tingkat aplikasi dan tingkat web dijalankan di VM Compute Engine dalam satu zona. Untuk meningkatkan keandalan arsitektur, Anda dapat membuat kebijakan penempatan penyebaran dan menerapkannya ke template MIG. Saat membuat VM, MIG akan menempatkan VM di server fisik yang berbeda (disebut host), sehingga VM Anda andal terhadap kegagalan host individual. Untuk mengetahui informasi selengkapnya, baca artikel Menerapkan kebijakan penempatan selisih pada VM.

Perencanaan kapasitas VM

Guna memastikan kapasitas untuk VM Compute Engine tersedia saat diperlukan untuk penskalaan otomatis MIG, Anda dapat membuat reservasi. Reservasi menyediakan kapasitas terjamin di zona tertentu untuk sejumlah VM tertentu dari jenis mesin yang Anda pilih. Reservasi dapat bersifat spesifik untuk sebuah project, atau dibagikan ke beberapa project. Anda dikenai biaya untuk resource yang dicadangkan meskipun resource tersebut tidak disediakan atau digunakan. Untuk mengetahui informasi selengkapnya tentang reservasi, termasuk pertimbangan penagihan, lihat Reservasi resource zona Compute Engine.

Status persistent disk

Praktik terbaik dalam desain aplikasi adalah menghindari kebutuhan akan disk lokal berstatus. Namun, jika persyaratan tersebut ada, Anda dapat mengonfigurasi persistent disk agar berstatus stateful untuk memastikan data dipertahankan saat VM diperbaiki atau dibuat ulang. Namun, sebaiknya biarkan boot disk tetap stateless, agar Anda dapat mengupdatenya ke image terbaru dengan versi baru dan patch keamanan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi persistent disk stateful di MIG.

Ketahanan data

Anda dapat menggunakan Pencadangan dan DR untuk membuat, menyimpan, dan mengelola cadangan VM Compute Engine. Cadangan dan DR menyimpan data cadangan dalam format aslinya yang dapat dibaca aplikasi. Jika diperlukan, Anda dapat memulihkan workload ke produksi dengan langsung menggunakan data dari penyimpanan cadangan jangka panjang tanpa memakan waktu pada pemindahan data atau aktivitas persiapan.

Jika Anda menggunakan layanan database terkelola seperti Cloud SQL, pencadangan akan dilakukan secara otomatis berdasarkan kebijakan retensi yang Anda tentukan. Anda dapat melengkapi strategi pencadangan dengan pencadangan logis tambahan untuk memenuhi persyaratan peraturan, alur kerja, atau bisnis.

Jika menggunakan database pihak ketiga dan perlu menyimpan cadangan database dan log transaksi, Anda dapat menggunakan bucket Cloud Storage regional. Bucket Cloud Storage regional menyediakan penyimpanan cadangan berbiaya rendah yang redundan di seluruh zona.

Compute Engine memberikan opsi berikut untuk membantu Anda memastikan ketahanan data yang disimpan dalam volume Persistent Disk:

  • Anda dapat menggunakan snapshot untuk merekam status titik waktu volume Persistent Disk. Snapshot standar disimpan secara redundan di beberapa region, dengan checksum otomatis untuk memastikan integritas data. Snapshot bersifat inkremental secara default, sehingga menggunakan lebih sedikit ruang penyimpanan dan menghemat uang. Snapshot disimpan di lokasi Cloud Storage yang dapat Anda konfigurasi. Untuk rekomendasi lebih lanjut mengenai cara menggunakan dan mengelola snapshot, lihat Praktik terbaik untuk snapshot disk Compute Engine.
  • Volume Persistent Disk Regional memungkinkan Anda menjalankan aplikasi dengan ketersediaan tinggi yang tidak terpengaruh oleh kegagalan di persistent disk. Saat Anda membuat volume Persistent Disk regional, Compute Engine mempertahankan replika disk di zona berbeda di region yang sama. Data direplikasi secara sinkron ke disk di kedua zona. Jika salah satu dari kedua zona mengalami pemadaman layanan, data akan tetap tersedia.

Ketersediaan database

Jika Anda menggunakan layanan database terkelola, seperti Cloud SQL dengan konfigurasi HA, maka jika terjadi kegagalan database utama, Cloud SQL akan beralih secara otomatis ke database standby. Anda tidak perlu mengubah alamat IP untuk endpoint database. Jika Anda menggunakan database pihak ketiga yang dikelola sendiri dan di-deploy di VM Compute Engine, Anda harus menggunakan load balancer internal atau mekanisme lain untuk memastikan bahwa aplikasi tersebut dapat terhubung ke database lain jika database utama tidak tersedia.

Agar dapat menerapkan failover lintas zona untuk database yang di-deploy di VM Compute Engine, Anda memerlukan mekanisme untuk mengidentifikasi kegagalan database utama dan proses untuk melakukan failover ke database standby. Detail mekanisme failover bergantung pada database yang Anda gunakan. Anda dapat menyiapkan instance observer untuk mendeteksi kegagalan database utama dan mengorkestrasi failover. Anda harus mengonfigurasi aturan failover dengan tepat untuk menghindari situasi split-brain dan mencegah failover yang tidak perlu. Untuk mengetahui contoh arsitektur yang dapat Anda gunakan untuk mengimplementasikan failover untuk database PostgreSQL, lihat Arsitektur untuk ketersediaan tinggi cluster PostgreSQL di Compute Engine.

Pertimbangan keandalan lainnya

Saat membangun arsitektur cloud untuk workload Anda, tinjau praktik terbaik dan rekomendasi terkait keandalan yang diberikan dalam dokumentasi berikut:

Pengoptimalan biaya

Bagian ini berisi panduan untuk mengoptimalkan biaya penyiapan dan pengoperasian topologi Google Cloud zona yang Anda build menggunakan arsitektur referensi ini.

Jenis mesin VM

Untuk membantu mengoptimalkan penggunaan resource di instance VM Anda, Compute Engine memberikan rekomendasi jenis mesin. Gunakan rekomendasi untuk memilih jenis mesin yang sesuai dengan persyaratan komputasi beban kerja Anda. Untuk workload dengan kebutuhan resource yang dapat diprediksi, Anda dapat menyesuaikan jenis mesin dengan kebutuhan dan menghemat uang menggunakan jenis mesin kustom.

Model penyediaan VM

Jika aplikasi Anda fault-tolerant, Spot VM dapat membantu mengurangi biaya Compute Engine untuk VM dalam tingkat aplikasi dan web. Biaya Spot VM jauh lebih rendah dibandingkan VM biasa. Namun, Compute Engine dapat menghentikan atau menghapus VM Spot secara preemptive untuk mengklaim kembali kapasitas. Spot VM cocok untuk tugas batch yang dapat menoleransi preemption dan tidak memiliki persyaratan HA. Spot VM menawarkan jenis, opsi, dan performa mesin yang sama dengan VM biasa. Namun, jika kapasitas resource di suatu zona terbatas, MIG mungkin tidak dapat melakukan penyebaran skala (yaitu, membuat VM) secara otomatis ke ukuran target yang ditentukan hingga kapasitas yang diperlukan kembali tersedia.

Memanfaatkan sumber daya

Kemampuan penskalaan otomatis pada MIG stateless memungkinkan aplikasi Anda menangani peningkatan traffic dengan lancar, dan membantu Anda mengurangi biaya saat kebutuhan resource rendah. MIG stateful tidak dapat diskalakan otomatis.

Pemberian lisensi pihak ketiga

Saat memigrasikan workload pihak ketiga ke Google Cloud, Anda mungkin dapat mengurangi biaya dengan menggunakan bring your own license (BYOL). Misalnya, untuk men-deploy VM Server Microsoft Windows, daripada menggunakan image premium yang menimbulkan biaya tambahan untuk lisensi pihak ketiga, Anda dapat membuat dan menggunakan image BYOL Windows kustom. Kemudian, Anda hanya membayar infrastruktur VM yang digunakan di Google Cloud. Strategi ini membantu Anda terus merealisasikan nilai dari investasi yang ada dalam lisensi pihak ketiga. Jika Anda memutuskan untuk menggunakan pendekatan BYOL, sebaiknya lakukan hal berikut:

  • Sediakan jumlah core CPU komputasi yang diperlukan secara terpisah dari memori menggunakan jenis mesin kustom. Dengan begitu, Anda membatasi biaya lisensi pihak ketiga untuk jumlah inti CPU yang Anda butuhkan.
  • Kurangi jumlah vCPU per inti dari 2 menjadi 1 dengan menonaktifkan simultaneous multithreading (SMT), dan mengurangi biaya lisensi Anda sebesar 50%.

Jika men-deploy database pihak ketiga seperti Microsoft SQL Server di VM Compute Engine, Anda harus mempertimbangkan biaya lisensi untuk software pihak ketiga. Saat Anda menggunakan layanan database terkelola seperti Cloud SQL, biaya lisensi database termasuk dalam tagihan layanan.

Pertimbangan biaya lainnya

Saat Anda membangun arsitektur untuk beban kerja Anda, pertimbangkan juga praktik terbaik dan rekomendasi umum yang disediakan dalam Framework Arsitektur Google Cloud: Pengoptimalan biaya.

Efisiensi operasional

Bagian ini menjelaskan faktor-faktor yang harus dipertimbangkan saat menggunakan arsitektur referensi ini untuk mendesain dan membangun topologi Google Cloud zona yang dapat Anda operasikan secara efisien.

Update konfigurasi VM

Untuk memperbarui konfigurasi VM di MIG (seperti jenis mesin atau image boot-disk), buat template instance baru dengan konfigurasi yang diperlukan, lalu terapkan template baru ke MIG. MIG mengupdate VM dengan menggunakan metode update yang Anda pilih: otomatis atau selektif. Pilih metode yang tepat berdasarkan kebutuhan Anda untuk ketersediaan dan efisiensi operasional. Untuk mengetahui informasi selengkapnya tentang metode update MIG ini, lihat Menerapkan konfigurasi VM baru di MIG.

Image VM

Untuk template instance MIG Anda, daripada menggunakan image publik yang disediakan Google, sebaiknya buat dan gunakan image kustom yang berisi konfigurasi dan software yang diperlukan aplikasi Anda. Anda dapat mengelompokkan gambar kustom ke dalam kelompok gambar kustom. Kelompok gambar selalu mengarah ke gambar terbaru dalam kelompok tersebut, sehingga template dan skrip instance dapat menggunakan gambar tersebut tanpa harus memperbarui referensi ke versi gambar tertentu.

Template instance deterministik

Jika template instance yang Anda gunakan untuk MIG menyertakan skrip startup untuk menginstal software pihak ketiga, pastikan skrip tersebut secara eksplisit menentukan parameter penginstalan software seperti versi software. Jika tidak, saat MIG membuat VM, software yang diinstal pada VM mungkin tidak konsisten. Misalnya, jika template instance Anda menyertakan skrip startup untuk menginstal Apache HTTP Server 2.0 (paket apache2), pastikan skrip tersebut menentukan versi apache2 yang tepat yang harus diinstal, seperti versi 2.4.53. Untuk mengetahui informasi selengkapnya, lihat Template instance deterministik.

Pertimbangan operasional lainnya

Saat Anda membangun arsitektur untuk beban kerja Anda, pertimbangkan rekomendasi dan praktik terbaik umum untuk efisiensi operasional yang dijelaskan dalam Framework Arsitektur Google Cloud: Keunggulan operasional.

Pengoptimalan performa

Bagian ini menjelaskan faktor-faktor yang harus dipertimbangkan saat menggunakan arsitektur referensi ini untuk mendesain dan membangun topologi zona di Google Cloud yang memenuhi persyaratan performa workload Anda.

Penempatan VM

Untuk workload yang memerlukan latensi jaringan antar-VM rendah, Anda dapat membuat kebijakan penempatan ringkas dan menerapkannya ke template MIG. Ketika MIG membuat VM, MIG menempatkan VM di server fisik yang berdekatan satu sama lain. Untuk mengetahui informasi selengkapnya, lihat Mengurangi latensi dengan menggunakan kebijakan penempatan yang ringkas.

Jenis mesin VM

Compute Engine menawarkan berbagai jenis mesin yang telah ditetapkan dan dapat disesuaikan yang dapat Anda pilih, bergantung pada biaya dan persyaratan performa Anda. Jenis mesin dikelompokkan ke dalam seri dan kelompok mesin. Tabel berikut memberikan ringkasan rangkaian dan kelompok mesin yang direkomendasikan untuk berbagai jenis workload:

Persyaratan Kelompok mesin yang direkomendasikan Contoh rangkaian mesin
Rasio harga-performa terbaik untuk berbagai workload Kelompok mesin tujuan umum C3, C3D, E2, N2, N2D, Tau T2D, Tau T2A
Performa tertinggi per inti dan dioptimalkan untuk beban kerja yang sarat komputasi Kelompok mesin yang dioptimalkan untuk komputasi C2, C2D, H3
Rasio memori-ke-vCPU yang tinggi untuk workload yang sarat memori Kelompok mesin yang dioptimalkan untuk memori M3, M2, M1
GPU untuk workload yang diparalelkan secara massal Kelompok mesin yang dioptimalkan akselerator A2, G2

Untuk informasi selengkapnya, lihat Panduan perbandingan dan resource kelompok mesin.

Multithreading VM

Setiap CPU virtual (vCPU) yang Anda alokasikan ke VM Compute Engine diimplementasikan sebagai hardware multithread tunggal. Secara default, dua vCPU berbagi core CPU fisik. Untuk beban kerja yang sangat paralel atau yang melakukan penghitungan floating point (seperti analisis urutan genetik dan pemodelan risiko keuangan), Anda dapat meningkatkan performa dengan mengurangi jumlah thread yang berjalan pada setiap core CPU fisik. Untuk informasi selengkapnya, lihat Menetapkan jumlah thread per core.

Multithreading VM mungkin memiliki implikasi pemberian lisensi untuk beberapa software pihak ketiga, seperti database. Untuk informasi selengkapnya, baca dokumentasi pemberian lisensi untuk software pihak ketiga.

Network Service Tiers

Network Service Tiers memungkinkan Anda mengoptimalkan biaya dan performa jaringan workload. Anda dapat memilih Paket Premium atau Paket Standar.

  • Paket Premium menggunakan backbone global Google yang sangat andal untuk membantu Anda mencapai latensi dan kehilangan paket yang minimal. Traffic masuk dan keluar dari jaringan Google di titik kehadiran edge global (PoP) yang dekat dengan pengguna akhir Anda. Sebaiknya gunakan Paket Premium sebagai tingkat default untuk performa yang optimal.
  • Dengan Paket Standar, traffic masuk dan keluar dari jaringan Google di PoP edge yang terdekat dengan lokasi Google Cloud tempat workload Anda dijalankan. Harga untuk Paket Standar lebih rendah daripada Paket Premium. Paket Standar cocok untuk traffic yang tidak sensitif terhadap paket yang hilang dan yang tidak memiliki persyaratan latensi rendah.

Pertimbangan performa lainnya

Saat Anda membangun arsitektur untuk beban kerja Anda, pertimbangkan praktik terbaik dan rekomendasi umum yang disediakan dalam Framework Arsitektur Google Cloud: Pengoptimalan performa.

Langkah selanjutnya

Kontributor

Penulis: Kumar Dhanagopal | Developer Solusi Lintas Produk

Kontributor lainnya: