Sebagai arsitek cloud atau administrator IT, jika Anda berencana menjalankan aplikasi di Compute Engine, Anda harus mendesain topologi VM yang dapat disediakan dan dioperasikan secara efisien.
Compute Engine menawarkan berbagai opsi deployment: misalnya, Anda dapat men-deploy grup VM yang Anda kelola sebagai satu entity, atau menyediakan dan mengelola VM sebagai resource individual. Setiap pendekatan memiliki kelebihan dan batasan yang berbeda. Bagaimana Anda memilih strategi deployment yang optimal?
- Mulailah dengan menilai persyaratan utama aplikasi Anda.
- Tinjau opsi deployment yang tersedia dan keunggulan relatifnya.
- Pilih strategi yang memenuhi persyaratan Anda dan manfaatkan kemampuan Compute Engine secara optimal.
Evaluasi workload Anda
Gunakan pertanyaan berikut untuk menganalisis persyaratan utama dari workload yang ingin Anda deploy. Jawaban Anda akan membantu memetakan kemampuan setiap opsi deployment (tercantum di bagian berikutnya) sesuai persyaratan workload Anda.
Status aplikasi
Apakah aplikasi stateful?
- Aplikasi stateful menyimpan data tertentu, seperti klien atau ID sesi, hingga data tersebut tidak diperlukan lagi. Misalnya, dalam aplikasi belanja online, layanan keranjang belanja mungkin menyimpan detail item yang ditambahkan atau dihapus saat pengguna melanjutkan belanja, dan mempertahankan status keranjang akhir ketika pengguna memulai proses pembayaran.
- Aplikasi stateless tidak perlu menyimpan data klien, transaksi, atau sesi. Misalnya, server web mungkin menutup sesi setelah menayangkan konten yang diminta klien.
Untuk mempelajari aplikasi stateful dan stateless lebih lanjut, lihat Perbedaan workload stateful dengan workload stateless.
Apakah ada metadata khusus instance yang dipertahankan saat VM Anda di-reboot atau saat Compute Engine membuat ulang (otomatis melakukan pemulihan) VM?
Penyediaan
- Haruskah VM menggunakan campuran jenis mesin atau image? Misalnya, apakah beberapa VM memerlukan jenis mesin yang dioptimalkan untuk memori, sementara yang lainnya menggunakan jenis mesin untuk tujuan umum?
- Haruskah infrastruktur diskalakan secara otomatis selaras dengan perubahan beban, sehingga Anda mempertahankan keseimbangan yang optimal antara biaya dan waktu respons?
- Dapatkah semua VM berjalan dalam satu zona, jaringan VPC, dan subnet?
- Haruskah aplikasi berjalan di zona yang sama dengan resource tertentu lainnya? Misalnya, apakah aplikasi memerlukan koneksi latensi rendah dengan database?
Operasi
- Apakah Anda ingin mengelola VM sebagai satu grup? Misalnya, apakah Anda ingin mengotomatiskan peluncuran update aplikasi di semua VM?
- Apakah Anda perlu menggunakan alat kustom atau pihak ketiga untuk mengelola VM?
- Apakah Anda memerlukan kontrol untuk menangani VM yang gagal? Misalnya, jika VM gagal, apakah Anda ingin VM tersebut tetap dihentikan saat menentukan akar masalah kegagalan?
- Apakah Anda memerlukan kontrol atas urutan mulai-berhenti-penangguhan-resume atau jadwal VM Anda? Misalnya, untuk menghemat biaya, apakah Anda berencana untuk menghentikan VM selama akhir pekan atau selama jam tertentu dalam sehari?
Ketahanan
- Apakah aplikasi memerlukan perlindungan dari kegagalan di level zona? Dengan kata lain, jika zona tidak aktif, apakah Anda ingin aplikasi terus melayani permintaan dari VM di zona lain di region tersebut?
- Jika VM berhenti atau mengalami error karena alasan apa pun, atau jika aplikasi tidak merespons permintaan, apakah Compute Engine harus membuat ulang VM secara otomatis?
- Apakah aplikasi memerlukan alamat IP internal atau eksternal tetap untuk VM host?
Setelah Anda menilai persyaratan Anda, pelajari opsi deployment yang ditawarkan Compute Engine.
Meninjau opsi deployment yang tersedia
Tinjau dan pahami fitur serta keuntungan relatif dari opsi yang dapat Anda pertimbangkan untuk men-deploy workload ke Compute Engine.
- VM Mandiri
- Dengan opsi ini, Anda dapat memilih jenis mesin, image, disk, dan atribut lainnya secara terpisah untuk setiap VM yang Anda sediakan. Dan Anda mengelola VM sebagai resource terpisah.
- Grup instance tak terkelola
- Anda dapat menyediakan VM mandiri dan menambahkannya ke grup instance. Kemudian, Anda dapat menggunakan grup instance tidak terkelola sebagai backend untuk load balancer.
- Grup instance terkelola (MIG)
MIG adalah grup instance yang identik atau dikonfigurasi serupa yang Anda sediakan menggunakan template instance.
Anda dapat membuat MIG menjadi stateful, sehingga disk atau metadata tertentu dipertahankan.
Untuk MIG stateless, Anda dapat mengaktifkan penskalaan otomatis dan mengonfigurasi kebijakan penskalaan.
Saat membuat MIG, Anda dapat memilih untuk men-deploy VM dalam satu zona, atau mendistribusikannya di lebih dari satu zona dalam satu region untuk ketersediaan tinggi.
Tabel berikut merangkum fitur utama setiap opsi deployment.
Kemampuan | VM Mandiri | Grup instance tak terkelola | MIG stateful | MIG stateless |
---|---|---|---|---|
Penyediaan grup VM berbasis template | ||||
Campuran jenis mesin dan image | ||||
Memperbaiki alamat IP internal atau eksternal | ||||
Pemulihan otomatis VM yang gagal | ||||
Kontrol atas operasi start-stop dan suspend-resume VM | ||||
Menetapkan grup VM sebagai backend load balancing | ||||
Penyimpanan metadata dan disk, untuk workload stateful | ||||
Update terkontrol untuk VM tertentu | ||||
Update berkelanjutan otomatis untuk semua VM | ||||
Penskalaan horizontal otomatis (dan prediktif) |
Diagram berikut menunjukkan contoh deployment secara berdampingan untuk membantu Anda memahami perbedaan utama.
VM Mandiri | MIG stateful | MIG stateless |
---|---|---|
Contoh ini menunjukkan tiga VM yang dibuat secara terpisah. | Contoh ini menunjukkan MIG yang berisi tiga VM yang dikonfigurasi serupa, yang disediakan menggunakan template instance. |
Contoh ini menunjukkan MIG yang berisi tiga VM identik, yang disediakan menggunakan template instance. |
|
|
|
Sekarang Anda telah menilai workload, meninjau opsi deployment yang ditawarkan Compute Engine, dan siap memilih pendekatan deployment.
Pilih strategi deployment
Rekomendasi yang dibahas di sini didasarkan pada pemetaan karakteristik workload tertentu terhadap kemampuan setiap opsi deployment Compute Engine.
Gunakan alur pengambilan keputusan berikut. Jika Anda lebih memilih panduan visual, lihat hierarki keputusan nanti dalam dokumen ini.
Pilih antara VM mandiri dan grup instance.
Persyaratan Strategi deployment yang direkomendasikan Setidaknya salah satu dari persyaratan berikut bersifat penting untuk workload Anda. - Aplikasi harus berjalan pada VM yang menggunakan campuran berbagai jenis mesin atau image.
- Aplikasi memerlukan alamat IP internal atau eksternal tetap untuk VM host.
- Anda memerlukan kontrol untuk menangani VM yang gagal.
- Anda memerlukan kontrol atas operasi start-stop atau penangguhan-resume VM Anda.
- Anda harus menggunakan skrip kustom atau alat pihak ketiga untuk menyediakan dan menghapus VM.
Pilih VM mandiri.
Jika semua VM mandiri dapat berjalan dalam satu zona, jaringan VPC, dan subnet, pertimbangkan untuk menambahkan VM ke grup instance tidak terkelola. Anda kemudian dapat menggunakan grup instance tidak terkelola sebagai backend untuk load balancer.
Lewati sisa alur pengambilan keputusan ini.
Tidak satu pun dari persyaratan di atas yang penting untuk kasus penggunaan Anda. Gunakan MIG untuk menyiapkan topologi Compute Engine yang mudah dikelola, sangat tersedia, dan skalabel.
Lanjut ke langkah berikutnya
Pilih antara MIG stateful dan stateless.
Persyaratan Jenis MIG yang direkomendasikan Aplikasi memerlukan penyimpanan disk dan metadata; yaitu, aplikasinya bersifat stateful. Pilih MIG stateful, dan konfigurasikan disk yang harus dipertahankan oleh Compute Engine selama peristiwa disruptif seperti pembuatan ulang VM, autohealing, dan update.
Lanjut ke langkah berikutnya
Aplikasi tidak stateful. Pilih MIG stateless, dan manfaatkan kemampuan penskalaan otomatis. Selama operasi yang mengganggu, Compute Engine akan membuat ulang disk sesuai dengan template instance.
Lanjut ke langkah berikutnya
Pilih antara MIG zona dan regional.
Persyaratan Jenis MIG yang direkomendasikan Aplikasi harus berjalan di satu zona. Jika tidak, perlindungan terhadap kegagalan zona tidaklah penting. Pilih MIG zona. Aplikasi harus terus berjalan bahkan saat terjadi kegagalan zona. Pilih MIG regional.
Pohon keputusan
Diagram berikut memandu Anda melalui faktor-faktor yang perlu dipertimbangkan saat menentukan strategi deployment Compute Engine:
Langkah selanjutnya
- Pelajari template instance lebih lanjut.
- Pelajari cara kerja MIG stateful.
- Pelajari MIG regional lebih lanjut.
- Buat MIG.
- Penskalaan otomatis grup instance.
- Memigrasikan workload yang ada ke MIG stateful.