Memilih dan mengelola komputasi

Last reviewed 2023-10-03 UTC

Dokumen di Framework Arsitektur Google Cloud ini memberikan praktik terbaik untuk men-deploy sistem Anda berdasarkan persyaratan komputasi. Anda akan mempelajari cara memilih platform komputasi dan pendekatan migrasi, mendesain dan menskalakan workload, serta mengelola operasi dan migrasi VM.

Komputasi merupakan inti dari banyak workload, baik mengacu pada eksekusi logika bisnis kustom maupun penerapan algoritma komputasi yang kompleks terhadap set data. Sebagian besar solusi menggunakan resource komputasi dalam beberapa bentuk, dan penting bagi Anda untuk memilih resource komputasi yang tepat sesuai kebutuhan aplikasi Anda.

Google Cloud memberikan sejumlah opsi untuk menggunakan waktu pada CPU. Opsi didasarkan pada jenis CPU, performa, dan cara kode dijadwalkan untuk dijalankan, termasuk penagihan penggunaan.

Opsi komputasi Google Cloud mencakup:

  • Mesin virtual (VM) dengan manfaat khusus cloud, seperti migrasi langsung.
  • Pengemasan container secara berkelompok di mesin cluster yang dapat berbagi penggunaan CPU.
  • Fungsi dan pendekatan serverless, di mana penggunaan waktu CPU Anda dapat diukur ke pekerjaan yang dilakukan selama satu permintaan HTTP.

Memilih komputasi

Bagian ini memberikan praktik terbaik untuk memilih dan bermigrasi ke platform komputasi.

Pilih platform komputasi

Saat memilih platform komputasi untuk workload Anda, pertimbangkan persyaratan teknis workload, proses otomatisasi siklus proses, regionalisasi, dan keamanan.

Evaluasi sifat penggunaan CPU oleh aplikasi dan seluruh sistem pendukung, termasuk cara kode Anda dikemas dan di-deploy, didistribusikan, serta dipanggil. Meskipun beberapa skenario mungkin kompatibel dengan beberapa opsi platform, workload portabel harus mampu dan berperforma baik pada berbagai opsi komputasi.

Tabel berikut memberikan ringkasan layanan komputasi Google Cloud yang direkomendasikan untuk berbagai kasus penggunaan:

Platform komputasi Kasus penggunaan Produk yang direkomendasikan
Serverless
  • Deploy aplikasi pertama Anda.
  • Fokus pada logika pemrosesan dan data, serta pada pengembangan aplikasi, bukan pemeliharaan pengoperasian infrastruktur.
  • Cloud Run: Masukkan logika bisnis Anda ke dalam container menggunakan opsi serverless yang terkelola sepenuhnya ini. Cloud Run dirancang untuk workload yang membutuhkan komputasi intensif, tetapi tidak selalu aktif. Skalakan biaya secara efektif dari 0 (tanpa traffic) dan tentukan CPU dan RAM dari tugas dan layanan Anda. Deploy dengan satu perintah dan Google akan otomatis menyediakan jumlah resource yang tepat.
  • Cloud Functions: Memisahkan kode Anda menjadi bagian-bagian logika bisnis yang fleksibel tanpa masalah infrastruktur seperti load balancing, update, autentikasi, atau penskalaan.
Kubernetes Build arsitektur microservice kompleks yang memerlukan layanan tambahan seperti Istio untuk mengelola kontrol mesh layanan.
  • Google Kubernetes Engine: Mesin orkestrasi container open source yang mengotomatiskan deploy, penskalaan, dan pengelolaan aplikasi dalam container.
Mesin virtual (VM) Buat dan jalankan VM dari kelompok VM yang telah ditetapkan dan dapat disesuaikan, yang mendukung persyaratan aplikasi dan workload Anda, serta software dan layanan pihak ketiga.
  • Compute Engine: Menambahkan unit pemrosesan grafis (GPU) ke instance VM Anda. Anda dapat menggunakan GPU ini untuk mempercepat workload tertentu di instance Anda seperti machine learning dan pemrosesan data.

Untuk memilih jenis mesin yang sesuai berdasarkan kebutuhan Anda, lihat Rekomendasi untuk kelompok mesin.

Untuk informasi selengkapnya, lihat Memilih opsi komputasi.

Pilih pendekatan migrasi komputasi

Jika Anda memigrasikan aplikasi yang sudah ada dari cloud lain atau dari infrastruktur lokal, gunakan salah satu produk Google Cloud berikut untuk membantu Anda mengoptimalkan performa, skala, biaya, dan keamanan.

Sasaran migrasi Kasus penggunaan Produk yang direkomendasikan
Lift-and-shift Migrasikan atau perluas workload VMware Anda ke Google Cloud dalam hitungan menit. Google Cloud VMware Engine
Lift-and-shift Pindahkan aplikasi berbasis VM ke Compute Engine. Migrate to Virtual Machines
Melakukan upgrade ke container Memodernisasi aplikasi tradisional ke dalam container bawaan di Google Kubernetes Engine. Migrate to Containers

Untuk mempelajari cara memigrasikan workload Anda sekaligus menyelaraskan tim internal, lihat Siklus proses VM Migration dan Membangun Program Migrasi Skala Besar dengan Google Cloud.

Mendesain workload

Bagian ini memberikan praktik terbaik untuk mendesain workload guna mendukung sistem Anda.

Evaluasi opsi serverless untuk logika sederhana

Logika sederhana adalah jenis komputasi yang tidak memerlukan hardware atau jenis mesin khusus seperti mesin yang dioptimalkan untuk CPU. Sebelum Anda berinvestasi dalam implementasi Google Kubernetes Engine (GKE) atau Compute Engine untuk meminimalkan beban operasional serta mengoptimalkan biaya dan performa, pertimbangkan opsi serverless untuk logika yang ringan.

Pisahkan aplikasi menjadi model stateless

Jika memungkinkan, pisahkan aplikasi Anda menjadi stateless untuk memaksimalkan penggunaan opsi komputasi serverless. Pendekatan ini memungkinkan Anda menggunakan penawaran komputasi terkelola, menskalakan aplikasi on-demand, serta mengoptimalkan biaya dan performa. Untuk informasi selengkapnya tentang memisahkan aplikasi Anda untuk desain yang memungkinkan skalabilitas dan ketersediaan tinggi, lihat Desain untuk skalabilitas dan ketersediaan tinggi.

Gunakan logika caching saat memisahkan arsitektur

Jika aplikasi Anda dirancang untuk menjadi stateful, gunakan logika caching untuk memisahkan dan membuat workload Anda skalabel. Untuk informasi selengkapnya, lihat Praktik terbaik database.

Gunakan migrasi langsung untuk memfasilitasi upgrade

Untuk memfasilitasi upgrade pemeliharaan Google, gunakan migrasi langsung dengan menyetel kebijakan ketersediaan instance. Untuk informasi selengkapnya, lihat Menetapkan kebijakan pemeliharaan host VM.

Menskalakan workload

Bagian ini memberikan praktik terbaik untuk menskalakan workload guna mendukung sistem Anda.

Gunakan skrip startup dan shutdown

Untuk aplikasi stateful, gunakan skrip startup dan shutdown jika memungkinkan untuk memulai dan menghentikan status aplikasi Anda dengan lancar. Memulai secara tuntas terjadi ketika komputer dihidupkan melalui fungsi software, dan sistem operasi diperbolehkan untuk menyelesaikan tugasnya dalam memulai proses dan membuka koneksi dengan aman.

Memulai dan penghentian secara tuntas sangat penting karena aplikasi stateful bergantung pada ketersediaan langsung terhadap data yang berada di dekat komputasi, biasanya pada disk lokal atau persistent disk, atau di RAM. Agar data aplikasi tidak berjalan dari awal untuk setiap startup, gunakan skrip startup untuk memuat ulang data yang terakhir disimpan dan jalankan proses dari tempat sebelumnya berhenti saat dimatikan. Untuk menyimpan status memori aplikasi agar tidak kehilangan progres saat dinonaktifkan, gunakan skrip shutdown. Misalnya, gunakan skrip penonaktifan saat VM dijadwalkan untuk dinonaktifkan karena penurunan skala atau peristiwa pemeliharaan Google.

Gunakan MIG untuk mendukung pengelolaan VM

Saat menggunakan VM Compute Engine, grup instance terkelola (MIGs) mendukung fitur seperti autohealing, load balancing, penskalaan otomatis, update otomatis, dan workload stateful. Anda dapat membuat MIG berbasis region atau zona berdasarkan tujuan ketersediaan. Anda dapat menggunakan MIG untuk inferensi stateless atau workload batch dan untuk aplikasi stateful yang perlu mempertahankan status unik setiap VM.

Menggunakan autoscaler pod untuk menskalakan workload GKE

Gunakan horizontal dan autoscaler Pod vertikal untuk menskalakan workload Anda, dan menggunakan penyediaan otomatis node untuk menskalakan resource komputasi yang mendasarinya.

Distribusikan traffic aplikasi

Untuk menskalakan aplikasi Anda secara global, gunakan Cloud Load Balancing untuk mendistribusikan instance aplikasi di lebih dari satu region atau zona. Load balancer mengoptimalkan perutean paket dari jaringan edge Google Cloud ke zona terdekat, yang meningkatkan efisiensi inferensi traffic dan meminimalkan biaya inferensi. Untuk mengoptimalkan latensi pengguna akhir, gunakan Cloud CDN untuk menyimpan konten statis ke dalam cache bila memungkinkan.

Otomatiskan pembuatan dan pengelolaan komputasi

Minimalkan error yang disebabkan oleh kesalahan manusia di lingkungan produksi Anda dengan mengotomatiskan pembuatan dan pengelolaan komputasi.

Mengelola operasi

Bagian ini memberikan praktik terbaik untuk mengelola operasi guna mendukung sistem Anda.

Gunakan image publik yang disediakan Google

Gunakan image publik yang disediakan Google Cloud. Image publik Google Cloud secara teratur diperbarui. Untuk informasi selengkapnya, lihat Daftar image publik yang tersedia di Compute Engine.

Anda juga dapat membuat image sendiri dengan konfigurasi dan setelan tertentu. Jika memungkinkan, otomatiskan dan pusatkan pembuatan image dalam project terpisah yang dapat Anda bagikan kepada pengguna yang diberi otorisasi dalam organisasi Anda. Membuat dan menyeleksi image kustom dalam project terpisah memungkinkan Anda memperbarui, melakukan patch, dan membuat VM menggunakan konfigurasi Anda sendiri. Kemudian, Anda dapat membagikan image VM yang diseleksi dengan project yang relevan.

Gunakan snapshot untuk cadangan instance

Dengan snapshot, Anda dapat membuat cadangan untuk instance Anda. Snapshot sangat berguna untuk aplikasi stateful, yang tidak memiliki cukup fleksibilitas untuk mempertahankan status atau menyimpan progres saat terjadi penonaktifan tiba-tiba. Jika sering menggunakan snapshot untuk membuat instance baru, Anda dapat mengoptimalkan proses pencadangan dengan membuat image dasar dari snapshot tersebut.

Gunakan image mesin untuk mengaktifkan pembuatan instance VM

Meski snapshot hanya mengambil image data di dalam mesin, image mesin mengambil konfigurasi dan setelan mesin, beserta datanya. Gunakan image mesin untuk menyimpan semua konfigurasi, metadata, izin, dan data dari satu atau beberapa disk yang diperlukan untuk membuat instance VM.

Saat membuat mesin dari snapshot, Anda harus mengonfigurasi setelan instance pada instance VM baru yang memerlukan banyak pekerjaan. Menggunakan image mesin memungkinkan Anda menyalin setelan yang diketahui tersebut ke mesin baru, sehingga mengurangi overhead. Untuk informasi selengkapnya, lihat Kapan harus menggunakan image mesin.

Kapasitas, pemesanan, dan isolasi

Bagian ini memberikan praktik terbaik untuk mengelola kapasitas, pemesanan, dan isolasi untuk mendukung sistem Anda.

Gunakan diskon abonemen untuk mengurangi biaya

Anda dapat mengurangi biaya pengeluaran operasional (OPEX) untuk workload yang selalu aktif dengan menggunakan diskon abonemen. Untuk informasi selengkapnya, lihat Kategori pengoptimalan biaya.

Pilih jenis mesin untuk mendukung efisiensi biaya dan performa

Google Cloud menawarkan jenis mesin yang memungkinkan Anda memilih komputasi berdasarkan parameter biaya dan performa. Anda dapat memilih penawaran berperforma rendah untuk mengoptimalkan biaya atau memilih opsi komputasi berperforma tinggi dengan biaya lebih tinggi. Untuk informasi selengkapnya, lihat Kategori pengoptimalan biaya.

Gunakan node tenant tunggal untuk mendukung kebutuhan kepatuhan

Sole-tenant node adalah server Compute Engine fisik yang dikhususkan untuk menghosting VM project Anda. Sole-tenant node dapat membantu Anda memenuhi persyaratan kepatuhan untuk isolasi fisik, termasuk hal berikut:

  • Pisahkan VM Anda secara fisik dari VM di project lainnya.
  • Kelompokkan VM Anda di hardware host yang sama.
  • Isolasikan workload pemrosesan pembayaran.

Untuk informasi selengkapnya, lihat Sole-tenant node.

Gunakan pemesanan untuk memastikan ketersediaan resource

Google Cloud memungkinkan Anda menetapkan pemesanan untuk workload guna memastikan resource tersebut selalu tersedia. Tidak ada biaya tambahan untuk membuat pemesanan, tetapi Anda membayar resource yang telah dipesan meski tidak digunakan. Untuk informasi selengkapnya, lihat Menggunakan dan mengelola pemesanan.

Migrasi VM

Bagian ini memberikan praktik terbaik untuk memigrasikan VM guna mendukung sistem Anda.

Evaluasi alat migrasi bawaan

Evaluasi alat migrasi bawaan untuk memindahkan workload Anda dari cloud lain atau dari infrastruktur lokal. Untuk informasi selengkapnya, lihat Migrasi ke Google Cloud. Google Cloud menawarkan alat dan layanan untuk membantu Anda memigrasikan workload serta mengoptimalkan biaya dan performa. Untuk menerima penilaian biaya migrasi gratis berdasarkan lanskap IT Anda saat ini, lihat Google Cloud Rapid Assessment & Migration Program.

Gunakan impor disk virtual untuk sistem operasi yang disesuaikan

Untuk mengimpor sistem operasi yang didukung yang disesuaikan, lihat Mengimpor disk virtual. Sole-tenant node dapat membantu memenuhi persyaratan bring your own license (BYOL) untuk lisensi per inti dan per prosesor hardware Anda. Untuk informasi selengkapnya, lihat Menggunakan lisensi Anda sendiri (BYOL).

Rekomendasi

Untuk menerapkan panduan dalam Framework Arsitektur ke lingkungan Anda sendiri, kami merekomendasikan untuk melakukan hal berikut:

  • Tinjau penawaran Google Cloud Marketplace untuk mengevaluasi apakah aplikasi Anda tercantum dalam vendor yang didukung. Google Cloud mendukung penggunaan berbagai jenis sistem open source dan software pihak ketiga.

  • Pertimbangkan menggunakan Migrate to Containers dan GKE untuk mengekstrak dan memaketkan aplikasi berbasis VM sebagai aplikasi dalam container yang berjalan di GKE.

  • Gunakan Compute Engine untuk menjalankan aplikasi Anda di Google Cloud. Jika Anda memiliki dependensi lama yang berjalan di aplikasi berbasis VM, verifikasi kesesuaiannya dengan persyaratan vendor.

  • Evaluasi menggunakan Load Balancer Jaringan passthrough internal Google Cloud untuk menskalakan arsitektur yang dipisahkan. Untuk informasi selengkapnya, lihat Ringkasan Load Balancer Jaringan passthrough internal.

  • Evaluasi opsi Anda untuk beralih dari kasus penggunaan infrastruktur lokal konvensional, seperti penggunaan HA-Proxy. Untuk informasi selengkapnya, lihat praktik terbaik untuk alamat IP mengambang.

  • Gunakan VM Manager untuk mengelola sistem operasi untuk fleet VM berskala besar yang menjalankan windows atau Linux di Compute Engine, dan menerapkan kebijakan konfigurasi yang konsisten.

  • Pertimbangkan menggunakan GKE Autopilotdan izinkan Google SRE mengelola cluster Anda sepenuhnya.

  • Gunakan Pengontrol Kebijakan dan Config Sync untuk pengelolaan kebijakan dan konfigurasi di seluruh cluster GKE Anda.

  • Pastikan ketersediaan dan skalabilitas mesin di region dan zona tertentu. Google Cloud dapat melakukan penskalaan untuk mendukung kebutuhan komputasi Anda. Namun, jika Anda memerlukan banyak jenis mesin tertentu di region atau zona tertentu, harap bekerja sama dengan tim akun Anda untuk memastikan ketersediaan. Untuk informasi selengkapnya, lihat Pemesanan untuk Compute Engine.

Langkah selanjutnya

Pelajari prinsip-prinsip desain jaringan, termasuk yang berikut:

Pelajari kategori lainnya dalam Framework Arsitektur seperti keandalan, keunggulan operasional, serta keamanan, privasi, dan kepatuhan.