Terjemahan artikel disiapkan khusus untuk siswa kursus Layanan Cloud .
Apakah menarik untuk dikembangkan ke arah ini? Tonton rekaman lokakarya profesional Layanan AWS EC2 yang diadakan oleh Egor Zuev - TeamLead di InBit dan penulis program pendidikan di OTUS.

Google Cloud Platform (GCP) menawarkan banyak layanan, dan khususnya tumpukan komputasi, yang berisi Google Compute Engine (GCE), Google Kubernetes Engine (sebelumnya Container Engine) (GKE), Google App Engine (GAE) dan Google Cloud Functions (GCF) ) Semua layanan ini memiliki nama keren, tetapi mungkin tidak sepenuhnya jelas dalam hal fungsi mereka dan apa yang membuat mereka unik dalam hubungannya satu sama lain. Artikel ini ditujukan bagi mereka yang baru saja berkenalan dengan konsep cloud, khususnya dengan layanan cloud dan GCP.

1. Komputasi tumpukan
Tumpukan komputasi dapat dianggap sebagai abstraksi multi-level atas apa yang dapat disediakan oleh sistem komputer. Tumpukan ini naik dari bare metal , yang mengacu pada komponen perangkat keras sebenarnya dari komputer, hingga ke fungsi, yang merupakan unit perhitungan terkecil. Yang penting untuk diperhatikan sehubungan dengan tumpukan adalah bahwa layanan dikumpulkan ketika memindahkan tumpukan, misalnya, bagian "aplikasi", yang ditunjukkan pada Gambar 1 di bawah, harus berisi semua komponen dasar wadah, mesin virtual ( virtual) mesin ) dan besi. Dengan cara yang sama, komponen mesin virtual harus berisi perangkat keras di dalam untuk bekerja.

Gambar 1: Komputasi Tumpukan | Gambar diambil dari Google Cloud
Model ini, ditunjukkan pada Gambar 1, adalah dasar untuk menggambarkan penawaran dari penyedia cloud. Dengan demikian, beberapa penyedia hanya dapat menyediakan, misalnya, wadah dan layanan dengan kualitas lebih rendah di tumpukan, sementara yang lain dapat melakukan semua yang ditunjukkan pada Gambar 1.
- Jika Anda terbiasa dengan layanan cloud, lewati ke bagian 3 untuk membiasakan diri Anda dengan GCP yang setara
- Jika Anda hanya memerlukan ringkasan layanan cloud, buka bagian 2.4
2. Layanan cloud
Dunia cloud computing sangat beragam. Penyedia cloud menawarkan banyak layanan yang disesuaikan dengan kebutuhan pelanggan yang berbeda. Anda mungkin pernah mendengar istilah seperti IaaS, PaaS, SaaS, FaaS, KaaS, dll. dengan semua huruf alfabet diikuti oleh aaS. Meskipun ada konvensi penamaan yang aneh, mereka membentuk serangkaian layanan penyedia cloud. Saya perhatikan bahwa ada 3 proposal “sebagai Layanan” utama yang hampir selalu disediakan oleh penyedia cloud.
Ini adalah IaaS, PaaS dan SaaS, yang masing-masing menunjuk infrastruktur sebagai layanan (Infrastruktur sebagai Layanan), platform sebagai layanan (Platform sebagai Layanan) dan perangkat lunak sebagai layanan (Perangkat Lunak sebagai Layanan). Penting untuk memvisualisasikan layanan cloud sebagai tingkat layanan. Ini berarti bahwa ketika Anda naik atau turun dari level ke level, Anda, sebagai klien, melewati berbagai opsi layanan yang ditambahkan atau dihapus dari penawaran utama. Yang terbaik adalah menganggap ini sebagai piramida, seperti yang ditunjukkan pada Gambar 2.

Gambar 2: Piramida aaS | Gambar diambil dari Ruby Garage
2.1 Infrastruktur sebagai Layanan (IaaS)
Ini adalah level terendah yang dapat ditawarkan penyedia layanan cloud, dan itu termasuk penyedia layanan cloud yang menyediakan infrastruktur bare-metal, termasuk middleware, kabel jaringan, prosesor, GPU, RAM, penyimpanan eksternal, server, dan gambar sistem operasi yang mendasarinya mis. Debian Linux, CentOS, Windows, dll.
Jika Anda mendapatkan penawaran dari penyedia cloud IaaS Anda, inilah yang harus Anda harapkan. Terserah Anda, sebagai pelanggan, untuk merakit bagian-bagian ini untuk bisnis Anda. Sejauh mana Anda harus bekerja dengan dapat bervariasi dari penyedia ke penyedia, tetapi sebagai aturan, Anda hanya mendapatkan perangkat keras dan OS, dan sisanya terserah Anda. Contoh IaaS adalah AWS Elastic Compute, Microsoft Azure, dan GCE.
Beberapa orang mungkin tidak menyukai kenyataan bahwa mereka harus menginstal gambar OS dan berurusan dengan jaringan, load balancing, atau peduli jenis prosesor mana yang ideal untuk beban kerja mereka. Di sinilah kita naik piramida ke PaaS.
PaaS hanya mencakup penyedia layanan cloud yang menawarkan platform spesifik tempat pengguna dapat membuat aplikasi. Ini adalah abstraksi atas IaaS, yang berarti bahwa penyedia cloud menangani semua perincian jenis CPU, memori, RAM, penyimpanan, jaringan, dll. Seperti yang ditunjukkan pada Gambar 2, Anda, sebagai klien, memiliki sedikit kendali atas platform nyata, karena cloud penyedia melakukan semua detail infrastruktur untuk Anda. Anda meminta platform yang dipilih dan membangun proyek di atasnya. Contoh PaaS adalah Heroku.
Untuk seseorang, ini mungkin level yang terlalu tinggi, karena dia tidak perlu ingin membangun proyek pada platform yang ditentukan, tetapi lebih membutuhkan seperangkat layanan langsung dari penyedia layanan cloud. Di sinilah SaaS memasuki lokasi.
2.3 Perangkat Lunak sebagai Layanan (SaaS)
SaaS adalah layanan paling umum yang disediakan oleh penyedia layanan cloud. Mereka ditujukan untuk pengguna akhir dan dapat diakses terutama melalui situs web seperti Gmail, Google Documents, Dropbox, dll. Adapun Google Cloud, ada beberapa penawaran di luar tumpukan komputasi mereka yang SaaS. Ini termasuk Data Studio, Pertanyaan Besar, dll.
2.4 Ringkasan Layanan Cloud
Gambar 3: Ringkasan Tawaran Cloud Utama | Gambar milik Amir di Blog Specia
Setelah memeriksa penawaran khas penyedia cloud di Bagian 2, kami dapat membandingkannya dengan penawaran Google Cloud.
3.1 Google Compute Engine (GCE) - IaaS

Gambar 4: Ikon Google Compute Engine (GCE)
GCE adalah tawaran IaaS dari Google. Dengan GCE, Anda dapat dengan bebas membuat mesin virtual, mengalokasikan sumber daya prosesor dan memori, memilih jenis penyimpanan, misalnya, SSD atau HDD, serta jumlah memori. Hampir sama seperti jika Anda membuat komputer / workstation Anda sendiri dan melakukan semua detail pekerjaannya.
Di GCE, Anda dapat memilih dari instance mikro dengan prosesor 0,3-inti dan 1 GB RAM hingga monster 96-inti dengan lebih dari 300 GB RAM. Anda juga dapat membuat mesin virtual ukuran khusus untuk beban kerja Anda. Bagi mereka yang tertarik, ini adalah mesin virtual yang dapat Anda rakit.
Jenis mesin | Dokumentasi Mesin Hitung | Google cloud
3.2. Google Kubernetes Engine (GKE) - (Caas / Kaas)

Gambar 5: Ikon Google Kubernetes Engine (GKE)
GKE adalah penawaran komputasi unik GCP, yang merupakan abstraksi dari Compute Engine. Secara umum, GKE dapat dikategorikan sebagai Container sebagai Layanan (CaaS), kadang-kadang disebut Kubernetes sebagai Layanan (KaaS), yang memungkinkan pelanggan untuk dengan mudah meluncurkan kontainer Docker mereka di lingkungan Kubernetes yang dikelola sepenuhnya. Bagi mereka yang tidak terbiasa dengan wadah, wadah membantu membentuk layanan / aplikasi secara modular, sehingga wadah yang berbeda dapat berisi layanan yang berbeda, misalnya, satu wadah dapat menampung antarmuka aplikasi web Anda, dan yang lainnya dapat berisi bagian servernya. Kubernet mengotomatiskan, mengoordinasi, mengelola, dan menyebarkan kontainer Anda. Info lebih lanjut di sini.
Google Kubernetes Engine | Google cloud
3.3 Google App Engine (GAE) - (PaaS)

Gambar 6: Ikon Google App Engine (GAE)
Seperti disebutkan dalam Bagian 2.2, PaaS lebih tinggi dari IaaS, dan dalam kasus GCP juga dapat dilihat sebagai hukuman atas GKE. GAE adalah Google PaaS khusus, dan cara mereka mendeskripsikan diri mereka adalah "bawa kode Anda, dan kami akan mengurus sisanya."
Ini memastikan bahwa pelanggan yang menggunakan GAE tidak harus berurusan dengan perangkat keras / middleware dasar, dan sudah dapat memiliki platform pra-konfigurasi siap untuk bekerja; yang perlu mereka lakukan hanyalah memberikan kode yang diperlukan untuk menjalankannya.
GAE secara otomatis memproses penskalaan untuk memenuhi beban dan permintaan dari pengguna, yang berarti bahwa jika situs web Anda menjual bunga tiba-tiba mencapai puncaknya karena Hari Valentine mendekat, GAE akan memproses penskalaan infrastruktur yang mendasarinya untuk memenuhi permintaan dan memastikan bahwa Situs web Anda tidak akan jatuh karena meningkatnya permintaan. Ini artinya Anda membayar tepat untuk sumber daya yang saat ini dibutuhkan oleh aplikasi Anda.
GAE menggunakan Kubernetes atau versi bawaannya untuk menangani semua ini sehingga Anda tidak perlu khawatir. GAE terbaik untuk perusahaan yang tidak tertarik dengan infrastruktur dasar dan hanya peduli bahwa aplikasi mereka tersedia dengan cara terbaik.
Menurut pendapat saya, GAE adalah tempat terbaik untuk memulai jika Anda seorang pengembang dengan ide bagus, tetapi tidak ingin melakukan tugas-tugas pengaturan server, penyeimbangan beban, dan semua pekerjaan / pekerjaan SRE yang menghabiskan waktu lainnya. Seiring waktu, Anda dapat mencoba GKE dan GCE, tetapi ini hanya pendapat saya.
Penafian : AppEngine digunakan untuk aplikasi web, bukan aplikasi mobile.
Untuk referensi Anda : App Engine - Buat backend web dan seluler yang dapat diskalakan dalam bahasa apa pun | Google cloud
3.4 Fungsi Google Cloud - (FaaS)

Gambar 7: Ikon Google Cloud Functions (GCF)
Saya harap Anda memperhatikan tren dengan menganalisis kalimat sebelumnya. Semakin tinggi Anda naik tangga solusi komputasi GCP, semakin sedikit Anda perlu khawatir tentang teknologi dasar. Piramida ini berakhir dengan unit perhitungan sekecil mungkin, sebuah fungsi, seperti yang ditunjukkan pada bagian 1.
GCF adalah penawaran GCP yang relatif baru yang masih dalam pengujian beta (pada saat penulisan ini). Fungsi cloud memungkinkan fungsi tertentu yang ditulis oleh pengembang dipicu oleh suatu peristiwa.
Mereka dikendalikan oleh acara dan mendasari buzzword serverless, yang berarti mereka tidak tahu server. Fungsi cloud sangat sederhana dan memiliki banyak kegunaan yang berbeda yang membutuhkan pemikiran berdasarkan kejadian. Misalnya, setiap kali pengguna baru masuk, fungsi cloud dapat diluncurkan untuk memperingatkan pengembang.
Di pabrik, ketika sensor tertentu mencapai nilai tertentu, itu dapat meluncurkan fungsi cloud yang melakukan beberapa pemrosesan informasi, atau memberi tahu beberapa personil pemeliharaan, dll.
Cloud Function - Komputasi Server Berbasis Acara | Google cloud
Kesimpulan
Dalam artikel ini, kami berbicara tentang berbagai penawaran cloud, seperti IaaS, PaaS, dll., Dan bagaimana tumpukan komputasi Google mengimplementasikan level yang berbeda ini. Kita telah melihat bahwa tingkat abstraksi ketika berpindah dari satu kategori layanan ke yang lain, seperti IaaS dalam Paas, membutuhkan lebih sedikit pengetahuan tentang yang mendasarinya.
Untuk bisnis, ini memberikan fleksibilitas penting yang tidak hanya memenuhi tujuan operasionalnya, tetapi juga memenuhi bidang utama lainnya, seperti keamanan dan biaya. Meringkas:
Compute Engine - memungkinkan Anda membuat mesin virtual sendiri, mengalokasikan sumber daya perangkat keras tertentu, misalnya, RAM, prosesor, memori. Ini juga cukup praktis dan level rendah.
Mesin Kubernetes adalah langkah lebih tinggi dari Mesin Hitung, yang memungkinkan Anda untuk menggunakan Kubernetes dan wadah untuk mengelola aplikasi Anda, memungkinkan Anda untuk mengukurnya jika perlu.
App Engine adalah langkah lebih tinggi dari Kubernetes Engine, memungkinkan Anda untuk fokus hanya pada kode Anda, sementara Google menyediakan semua persyaratan platform yang mendasarinya.
Cloud-Functions adalah puncak piramida komputasi, memungkinkan Anda untuk menulis fungsi sederhana yang, ketika diluncurkan, menggunakan seluruh infrastruktur dasar untuk menghitung dan mengembalikan hasilnya.
Terima kasih atas perhatian anda!
Twitter: @martinomburajr