Saat Anda memulai sebuah project baru di Google Cloud Platform (GCP), salah satu keputusan paling awal yang Anda buat adalah memilih layanan komputasi yang akan digunakan: Google Compute Engine, Google Container Engine, App Engine atau bahkan Google Cloud Functions dan Firebase.

GCP menawarkan berbagai layanan komputasi dari yang memberi pengguna kontrol penuh (misalnya, Compute Engine) hingga yang sangat-abstrak (misalnya, Firebase dan Cloud Functions), sehingga Google bisa melakukan lebih banyak manajemen dan operasi dalam prosesnya.

Inilah pendapat banyak pembaca setia blog kami tentang opsi komputasi GCP. Jika Anda terbiasa mengelola VM dan menginginkan pengalaman serupa di cloud, pilih Compute Engine. Jika Anda menggunakan kontainer dan Kubernetes, Anda bisa memisahkan beberapa overhead manajemen yang diperlukan dengan menggunakan Container Engine. Jika Anda ingin berfokus pada kode dan menghindari keseluruhan infrastruktur, gunakan App Engine. Yang terakhir, jika Anda hanya ingin berfokus pada kode dan membangun layanan mikro yang mengekspos endpoints API untuk aplikasi Anda, gunakan Firebase dan Cloud Functions.

Selama bertahun-tahun, Anda telah memberi tahu kami bahwa model ini berfungsi dengan baik jika Anda tidak menggunakan batasan, namun akan mengalami kendala jika menggunakan batasan. Kami mendengar masukan Anda dan menawarkan cara lain untuk memilih opsi komputasi menggunakan rangkaian pertanyaan berdasarkan batasan. (Ini harus dimaklumi bahwa kami mempertimbangkan aspek yang sangat kecil dari project Anda.)

1. Apakah Anda membangun aplikasi mobile atau HTML yang melakukan pemrosesan berat, serta cerdas, pada sisi klien? Jika Anda membangun pada sisi klien yang hanya mengandalkan backend untuk sinkronisasi dan/atau penyimpanan, Firebase adalah pilihan yang tepat. Firebase memungkinkan Anda menyimpan file dan dokumen-dokumen NoSQL yang kompleks (atau objek jika Anda menganggapnya demikian) menggunakan klien dan API yang sangat mudah digunakan yang tersedia untuk iOS, Android dan Javascript. Ada juga REST API untuk akses dari platform lain.

2. Apakah Anda membangun sistem yang lebih berdasarkan events daripada interaksi pengguna? Dengan kata lain, apakah Anda membangun sebuah aplikasi yang merespons file yang diupload, atau mungkin melakukan login ke aplikasi lain? Apakah Anda sudah melihat solusi "tanpa server" atau "Functions as a Service"? Gunakan saja Cloud Functions. Cloud Functions memungkinkan Anda untuk menulis fungsi Javascript yang berjalan di Node.js dan bisa memanggil salah satu API kami termasuk Cloud Vision, Translate, Cloud Storage dan lebih dari 100 yang lain. Dengan Cloud Functions, Anda bisa membangun fungsi kompleks yang terbuka sebagai layanan mikro untuk memanfaatkan semua layanan kami tanpa harus memelihara sistem dan menyatukan mereka semua.

3. Apakah Anda sudah menemukan solusi di tempat lain? Apakah itu menyertakan perangkat lunak berlisensi? Apakah itu memerlukan sesuatu selain HTTP/S? Jika Anda menjawab "tidak," maka App Engine layak untuk dipertimbangkan. App Engine adalah solusi tanpa server yang menjalankan kode Anda pada infrastruktur kami dan mengenakan biaya hanya untuk yang Anda gunakan. Kami menaikkan atau menurunkannya bagi Anda tergantung pada permintaan. Selain itu, App Engine memiliki akses ke semua Google SDK yang tersedia sehingga Anda bisa memanfaatkan ekosistem Google Cloud secara penuh.

4. Apakah Anda ingin membangun sistem berbasis-kontainer yang dibangun di atas Kubernetes? Jika Anda sudah menggunakan Kubernetes di GCP, Anda harus mempertimbangkan Container Engine. (Sebenarnya, Anda harus mempertimbangkannya kapan saja Anda menjalankan Kubernetes.) Container Engine mengurangi pembuatan solusi Kubernetes menjadi satu klik. Selain itu, anggota kluster Kubernetes secara otomatis diskalakan, memungkinkan Anda membangun solusi Kubernetes yang tumbuh dan berkontraksi berdasarkan permintaan.

5. Apakah Anda ingin menggunakan GPU dalam solusi Anda? Apakah Anda membangun solusi berbasis-kontainer non-Kubernetes? Apakah Anda memigrasikan solusi on-prem yang ada ke cloud? Apakah Anda menggunakan perangkat lunak berlisensi? Apakah Anda menggunakan protokol selain HTTP/S? Apakah Anda tidak menemukan solusi lain untuk mencapai tujuan Anda? Jika Anda menjawab "ya" untuk pertanyaan-pertanyaan ini, maka Anda mungkin perlu menjalankan solusi pada mesin virtual di Compute Engine. Compute Engine adalah produk komputasi kami yang paling fleksibel, dan memberi Anda paling banyak kebebasan untuk mengonfigurasi dan mengelola VM seperti yang Anda mau.

Masukkan semua pertanyaan ini bersama-sama dan Anda akan mendapatkan diagram alir berikut:
Ini sama sekali bukan diagram keputusan yang komprehensif, dan masing-masing produk kami mendukung berbagai kasus penggunaan yang lebih luas daripada yang ditampilkan di sini. Namun ini bisa menjadi panduan yang bagus untuk Anda memulai.

Untuk mengetahui selengkapnya tentang ini atau solusi komputasi, silakan lihat Komputasi di Google Cloud Platform dan cobalah sendiri hari ini dengan $300 kredit gratis saat Anda mendaftar.

Selamat membangun!