GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Terjemahan artikel disiapkan khusus untuk mahasiswa kursus tersebut "Layanan awan".

Apakah Anda tertarik untuk mengembangkan ke arah ini? Tonton rekaman kelas master profesional "Layanan AWS EC2", yang dilakukan oleh Egor Zuev - TeamLead di InBit dan penulis program pendidikan di OTUS.

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

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 yang keren, tetapi mungkin tidak sepenuhnya jelas fungsi dan keunikannya satu sama lain. Artikel ini ditujukan bagi mereka yang baru mengenal konsep cloud, khususnya layanan cloud dan GCP.

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

1. Hitung tumpukan

Tumpukan komputasi dapat dianggap sebagai abstraksi berlapis atas apa yang dapat disediakan oleh sistem komputer. Tumpukan ini naik (bergerak ke atas) dari "besi telanjang" (logam telanjang), mengacu pada komponen perangkat keras komputer yang sebenarnya, hingga fungsinya (fungsi), yang mewakili satuan perhitungan terkecil. Hal penting yang perlu diperhatikan tentang tumpukan adalah bahwa layanan dikumpulkan saat Anda menaikkan tumpukan, seperti bagian "aplikasi" (aplikasi), ditunjukkan pada Gambar 1 di bawah, harus berisi semua komponen dasar wadah (kontainer), mesin virtual (mesin virtual) dan besi. Dengan cara yang sama, komponen mesin virtual harus berisi perangkat keras di dalamnya agar dapat berfungsi.

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Gambar 1: Tumpukan komputasi | Gambar bersumber dari Google Cloud

Model ini, yang ditunjukkan pada Gambar 1, adalah dasar untuk menggambarkan penawaran dari penyedia cloud. Oleh karena itu, beberapa penyedia hanya dapat menyediakan, misalnya, kontainer dan layanan dengan kualitas lebih rendah di sepanjang tumpukan, sementara yang lain dapat menyediakan semua yang ditunjukkan pada Gambar 1.

β€” Jika Anda sudah familiar dengan layanan cloud, kunjungi bagian 3untuk melihat padanan GCP
β€” Jika Anda hanya menginginkan ringkasan layanan cloud, kunjungi bagian 2.4

2. Layanan awan

Dunia komputasi awan sangat beragam. Penyedia cloud menawarkan berbagai 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 dengan "aaS". Meskipun konvensi penamaannya aneh, mereka membentuk serangkaian layanan penyedia cloud. Saya menyatakan bahwa ada 3 penawaran utama β€œsebagai layanan” yang hampir selalu disediakan oleh penyedia cloud.

Ini adalah IaaS, PaaS dan SaaS, yang masing-masing merupakan singkatan dari Infrastruktur sebagai Layanan, Platform sebagai Layanan, dan Perangkat Lunak sebagai Layanan. Penting untuk memvisualisasikan layanan cloud sebagai lapisan layanan yang disediakan. Ini berarti bahwa ketika Anda naik atau turun dari tingkat ke tingkat, Anda sebagai pelanggan dihadapkan pada pilihan layanan berbeda yang ditambahkan atau dikurangi dari penawaran inti. Yang terbaik adalah menganggapnya sebagai piramida, seperti yang ditunjukkan pada Gambar 2.
GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Gambar 2: Piramida aaS | Gambar bersumber dari Garasi Ruby

2.1 Infrastruktur sebagai Layanan (IaaS)

Ini adalah tingkat terendah yang dapat ditawarkan oleh penyedia cloud dan melibatkan penyedia cloud yang memberikan infrastruktur bare metal, termasuk middleware, kabel jaringan, CPU, GPU, RAM, penyimpanan eksternal, server, dan image sistem operasi yang mendasarinya, misalnya Debian Linux, CentOS, Windows , dll.

Jika Anda memesan penawaran harga dari penyedia IaaS cloud, inilah yang diharapkan akan Anda terima. Terserah Anda, pelanggan, untuk merakit bagian-bagian ini untuk menjalankan bisnis Anda. Cakupan apa yang harus Anda kerjakan mungkin berbeda dari satu vendor ke vendor lainnya, namun umumnya 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 image OS dan berurusan dengan jaringan, penyeimbangan beban, atau mengkhawatirkan jenis prosesor apa yang ideal untuk beban kerja mereka. Di sinilah kita naik piramida menuju PaaS.

2.2 Platform sebagai layanan (PaaS)

PaaS hanya melibatkan penyedia layanan cloud yang menawarkan platform tertentu di mana pengguna dapat membangun aplikasi. Ini adalah abstraksi dari IaaS, artinya penyedia cloud menangani semua detail jenis CPU, memori, RAM, penyimpanan, jaringan, dll. Seperti yang ditunjukkan pada Gambar 2, Anda sebagai pelanggan memiliki sedikit kendali atas platform sebenarnya karena cloud penyedia menangani semua detail infrastruktur untuk Anda. Anda meminta platform yang dipilih dan membangun proyek di atasnya. Contoh PaaS adalah Heroku.

Tingkat ini mungkin terlalu tinggi bagi sebagian orang, karena mereka tidak ingin membangun proyek pada platform tertentu, namun memerlukan serangkaian layanan langsung dari penyedia cloud. Di sinilah SaaS berperan.

2.3 Perangkat lunak sebagai layanan (SaaS)

SaaS mewakili layanan paling umum yang disediakan oleh penyedia layanan cloud. Mereka ditujukan untuk pengguna akhir dan dapat diakses terutama melalui situs web seperti Gmail, Google Docs, Dropbox, dll. Sedangkan untuk Google Cloud, ada beberapa penawaran di luar tumpukan komputasi mereka yaitu SaaS. Ini termasuk Data Studio, Big Query, dll.

2.4 Ringkasan Layanan Cloud

Komponen
IaaS
PaaS
SaaS

Apa yang kamu dapatkan?
Anda mendapatkan infrastruktur dan membayar sesuai dengan itu. Kebebasan untuk menggunakan atau menginstal perangkat lunak, OS, atau komposisi apa pun di dalamnya.
Di sini Anda mendapatkan apa yang Anda minta. Perangkat lunak, perangkat keras, OS, lingkungan web. Anda mendapatkan platform yang siap digunakan dan membayar sesuai dengan itu.
Di sini Anda tidak perlu khawatir tentang apa pun. Anda diberikan paket pra-instal yang disesuaikan dengan kebutuhan Anda dan yang perlu Anda lakukan hanyalah membayar sesuai kebutuhan.

Nilai
Komputasi Dasar
IaaS teratas
Ini pada dasarnya adalah paket layanan yang lengkap

Kesulitan teknis
Pengetahuan teknis diperlukan
Anda diberikan konfigurasi dasar, tetapi Anda masih memerlukan pengetahuan domain.
Tidak perlu repot dengan detail teknis. Penyedia SaaS menyediakan segalanya.

Dengan apa cara kerjanya?
Mesin virtual, penyimpanan, server, jaringan, penyeimbang beban, dll.
Lingkungan runtime (seperti java runtime), database (seperti mySQL, Oracle), server web (seperti Tomcat, dll.)
Aplikasi seperti layanan email (Gmail, Yahoo mail, dll.), situs interaksi sosial (Facebook, dll.)

Grafik popularitas
Populer di kalangan pengembang berketerampilan tinggi, peneliti yang memerlukan penyesuaian sesuai kebutuhan atau bidang penelitian mereka
Paling populer di kalangan pengembang karena mereka dapat fokus pada pengembangan aplikasi atau skripnya. Mereka tidak perlu khawatir tentang beban lalu lintas atau manajemen server, dll.
Paling populer di kalangan konsumen biasa atau perusahaan yang menggunakan perangkat lunak seperti email, berbagi file, jejaring sosial, karena mereka tidak perlu mengkhawatirkan detail teknis

Gambar 3: Ringkasan penawaran cloud utama | Gambar disediakan Amir di Blog Spesia

3. Rangkaian Komputasi Google Cloud Platform

Setelah melihat penawaran umum penyedia cloud di Bagian 2, kita dapat membandingkannya dengan penawaran Google Cloud.

3.1 Mesin Komputasi Google (GCE) - IaaS

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Gambar 4: Ikon Google Compute Engine (GCE).

GCE adalah penawaran IaaS dari Google. Dengan GCE, Anda dapat dengan bebas membuat mesin virtual, mengalokasikan sumber daya CPU dan memori, memilih jenis penyimpanan seperti SSD atau HDD, dan jumlah memori. Ini hampir seperti Anda membuat komputer/workstation Anda sendiri dan menangani semua detail cara kerjanya.

Di GCE, Anda dapat memilih mulai dari instans mikro dengan prosesor 0,3 inti dan RAM 1 GB hingga monster 96 inti dengan RAM lebih dari 300 GB. Anda juga dapat membuat mesin virtual berukuran khusus untuk beban kerja Anda. Bagi yang berminat, ini adalah mesin virtual yang dapat Anda buat.

Jenis mesin | Dokumentasi Mesin Komputasi | Google Awan

3.2. Google Kubernetes Engine (GKE) - (Caas / Kaas)

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Gambar 5: Ikon Google Kubernetes Engine (GKE).

GKE adalah penawaran komputasi unik dari GCP yang merupakan abstraksi di atas Compute Engine. Secara umum, GKE dapat dikategorikan sebagai Container as a Service (CaaS), terkadang disebut sebagai Kubernetes as a Service (KaaS), yang memungkinkan pelanggan menjalankan container Docker mereka dengan mudah di lingkungan Kubernetes yang terkelola sepenuhnya. Bagi mereka yang belum familiar dengan container, container membantu memodulasi layanan/aplikasi, sehingga container yang berbeda dapat berisi layanan yang berbeda, misalnya, satu container dapat menghosting bagian depan aplikasi web Anda dan yang lain dapat berisi bagian belakangnya. Kubernetes mengotomatiskan, mengatur, mengelola, dan menerapkan container Anda. Informasi lebih lanjut di sini.

Mesin Google Kubernetes | Google Awan

3.3 Mesin Aplikasi Google (GAE) - (PaaS)

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Gambar 6: Ikon Google App Engine (GAE).

Seperti disebutkan di Bagian 2.2, PaaS berada di atas IaaS dan dalam kasus GCP, PaaS juga dapat dianggap sebagai penawaran di atas GKE. GAE adalah PaaS khusus Google, dan cara terbaik mereka mendeskripsikan dirinya adalah "bawakan kode Anda dan kami akan mengurus sisanya".

Hal ini memastikan bahwa pelanggan yang menggunakan GAE tidak harus berurusan dengan perangkat keras/middleware yang mendasarinya, dan sudah dapat memiliki platform pra-konfigurasi yang siap digunakan; yang harus mereka lakukan hanyalah memberikan kode yang diperlukan untuk menjalankannya.

GAE secara otomatis menangani penskalaan untuk memenuhi beban dan permintaan pengguna, yang berarti jika situs web penjualan bunga Anda tiba-tiba mencapai puncaknya karena mendekati Hari Valentine, GAE akan menangani penskalaan infrastruktur yang mendasarinya untuk memenuhi permintaan dan memastikan bahwa situs web Anda tidak akan mogok karena peningkatan permintaan. Ini berarti Anda membayar sumber daya yang dibutuhkan aplikasi Anda pada saat itu.

GAE menggunakan Kubernetes atau versi aslinya untuk menangani semua ini sehingga Anda tidak perlu khawatir. GAE paling cocok untuk perusahaan yang tidak tertarik dengan infrastruktur dasar dan hanya peduli untuk memastikan aplikasi mereka dapat diakses dengan cara terbaik.

Menurut pendapat saya, GAE adalah tempat terbaik untuk memulai jika Anda seorang pengembang dengan ide bagus, tetapi tidak ingin berurusan dengan kerumitan menyiapkan server, penyeimbangan beban, dan semua pekerjaan devops/SRE lainnya yang memakan waktu. . Seiring waktu Anda bisa mencoba GKE dan GCE, tapi itu hanya pendapat saya.

Π΅ΠΉΠΌΠ΅Ρ€: AppEngine digunakan untuk aplikasi web, bukan aplikasi seluler.

Untuk informasi: App Engine - Bangun backend web dan seluler yang skalabel dalam bahasa apa pun | Google Awan

3.4 Fungsi Google Cloud - (FaaS)

GCP: Mengurai Tumpukan Komputasi Google Cloud Platform

Gambar 7: Ikon Google Cloud Functions (GCF).

Semoga Anda memperhatikan tren dengan melihat penawaran sebelumnya. Semakin tinggi Anda menaiki tangga solusi komputasi GCP, semakin sedikit kekhawatiran Anda terhadap teknologi yang mendasarinya. Piramida ini diakhiri dengan satuan kalkulasi terkecil yang mungkin, yaitu suatu fungsi, seperti yang ditunjukkan pada Bagian 1.

GCF adalah penawaran GCP yang relatif baru dan masih dalam versi beta (saat artikel ini ditulis). Fungsi cloud memungkinkan fungsi tertentu yang ditulis oleh pengembang dipicu oleh suatu peristiwa.

Mereka didorong oleh peristiwa dan merupakan inti dari kata kunci β€œtanpa server”, yang berarti mereka tidak mengetahui server. Fungsi cloud sangat sederhana dan memiliki banyak kegunaan berbeda yang memerlukan pemikiran peristiwa. Misalnya, setiap kali pengguna baru mendaftar, fungsi cloud dapat dipicu untuk memperingatkan pengembang.

Di pabrik, ketika sensor tertentu mencapai nilai tertentu, sensor tersebut dapat memicu fungsi cloud yang melakukan pemrosesan informasi, atau memberi tahu beberapa personel pemeliharaan, dll.

Cloud Functions - Komputasi Server Berbasis Peristiwa | Google Awan

Kesimpulan

Dalam artikel ini, kita membahas tentang berbagai penawaran cloud seperti IaaS, PaaS, dll. dan bagaimana tumpukan komputasi Google mengimplementasikan lapisan-lapisan berbeda ini. Kita telah melihat bahwa lapisan abstraksi ketika berpindah dari satu kategori layanan ke kategori layanan lainnya, seperti IaaS di Paas, memerlukan lebih sedikit pengetahuan tentang hal yang mendasarinya.

Bagi sebuah bisnis, hal ini memberikan fleksibilitas penting yang tidak hanya memenuhi tujuan operasionalnya, namun juga memenuhi bidang utama lainnya seperti keamanan dan biaya. Untuk meringkas:

Hitung Mesin - memungkinkan Anda membuat mesin virtual sendiri dengan mengalokasikan sumber daya perangkat keras tertentu, misalnya RAM, prosesor, memori. Ini juga cukup praktis dan tingkat rendah.

Mesin Kubernetes merupakan peningkatan dari Compute Engine dan memungkinkan Anda menggunakan Kubernetes dan container untuk mengelola aplikasi, sehingga Anda dapat meningkatkan skalanya sesuai kebutuhan.

Mesin Aplikasi merupakan kemajuan dari Kubernetes Engine, memungkinkan Anda untuk fokus hanya pada kode Anda sementara Google menangani semua persyaratan platform yang mendasarinya.

Fungsi Awan adalah puncak piramida komputasi, memungkinkan Anda menulis fungsi sederhana yang, ketika dijalankan, menggunakan seluruh infrastruktur dasar untuk menghitung dan mengembalikan hasilnya.

Terima kasih!

Twitter: @martinomburajr

Sumber: www.habr.com

Tambah komentar