GCP: Analizarea stivei de calcul Google Cloud Platform

Traducerea articolului a fost pregătită special pentru studenții cursului "Servicii cloud".

Te interesează să te dezvolți în această direcție? Urmăriți înregistrarea unei clase de master profesioniste „Serviciul AWS EC2”, care a fost condus de Egor Zuev - TeamLead la InBit și autorul programului educațional la OTUS.

GCP: Analizarea stivei de calcul Google Cloud Platform

Google Cloud Platform (GCP) oferă multe servicii și, în special, stiva de calcul care conține Google Compute Engine (GCE), Google Kubernetes Engine (fostă Container Engine) (GKE), Google App Engine (GAE) și Google Cloud Functions (GCF) . Toate aceste servicii au nume interesante, dar este posibil să nu fie complet evidente cu privire la funcțiile lor și ceea ce le face unice unul pentru celălalt. Acest articol este destinat celor care cunosc conceptele cloud, în special serviciile cloud și GCP.

GCP: Analizarea stivei de calcul Google Cloud Platform

1. Stiva de calcul

O stivă de calcul poate fi gândită ca o abstracție stratificată asupra a ceea ce poate oferi un sistem informatic. Acest teanc urcă (se mișcă în sus) din „fier gol” (metal gol), referindu-se la componentele hardware reale ale computerului, până la funcții (funcții), care reprezintă cea mai mică unitate de calcul. Ceea ce este important de reținut despre stivă este că serviciile sunt agregate pe măsură ce treceți în sus, cum ar fi secțiunea „aplicații” (Apps), prezentat în Figura 1 de mai jos, ar trebui să conțină toate componentele de bază ale containerului (containere), mașini virtuale (mașini virtuale) și fierul de călcat. În același mod, componenta mașinilor virtuale trebuie să conțină hardware în interior pentru a funcționa.

GCP: Analizarea stivei de calcul Google Cloud Platform

Figura 1: Stiva de calcul | Imagine provenită din Google Cloud

Acest model, prezentat în Figura 1, este baza pentru descrierea ofertelor de la furnizorii de cloud. Astfel, unii furnizori pot furniza doar, de exemplu, containere și servicii de o calitate mai scăzută de-a lungul stivei, în timp ce alții pot oferi tot ceea ce este prezentat în Figura 1.

— Dacă sunteți familiarizat cu serviciile cloud, accesați secțiunea 3pentru a vedea echivalentul GCP
— Dacă doriți doar un rezumat al serviciilor cloud, accesați secțiunea 2.4

2. Servicii cloud

Lumea cloud computingului este foarte diversă. Furnizorii de cloud oferă o varietate de servicii adaptate diferitelor cerințe ale clienților. Este posibil să fi auzit de termeni precum IaaS, PaaS, SaaS, FaaS, KaaS etc. cu toate literele alfabetului urmate de „aaS”. În ciuda convenției ciudate de denumire, aceștia formează un set de servicii de furnizor de cloud. Afirm că există 3 oferte principale „ca serviciu” pe care furnizorii de cloud le oferă aproape întotdeauna.

Acestea sunt IaaS, PaaS și SaaS, care reprezintă, respectiv, Infrastructure as a Service, Platform as a Service și Software as a Service. Este important să vizualizați serviciile cloud ca straturi de servicii furnizate. Aceasta înseamnă că, pe măsură ce vă deplasați în sus sau în jos de la un nivel la altul, dvs., în calitate de client, sunteți traversat de diferite opțiuni de servicii care sunt fie adăugate, fie scăzute din oferta de bază. Cel mai bine este să ne gândim la ea ca la o piramidă, așa cum se arată în Figura 2.
GCP: Analizarea stivei de calcul Google Cloud Platform

Figura 2: Piramida aaS | Imagine provenită din Ruby Garage

2.1 Infrastructura ca serviciu (IaaS)

Acesta este cel mai de jos nivel pe care un furnizor de cloud îl poate oferi și implică furnizorul de cloud care livrează infrastructura bare metal, inclusiv middleware, cablarea rețelei, procesoare, GPU-uri, RAM, stocare externă, servere și imagini ale sistemului de operare, de exemplu Debian Linux, CentOS, Windows , etc.

Dacă comandați o ofertă de la un furnizor de cloud IaaS, aceasta este ceea ce ar trebui să vă așteptați să primiți. Depinde de tine, client, să asamblați aceste piese pentru a vă conduce afacerea. Amploarea cu care va trebui să lucrați poate varia de la un furnizor la altul, dar, în general, obțineți doar hardware-ul și sistemul de operare, iar restul depinde de dvs. Exemple de IaaS sunt AWS Elastic Compute, Microsoft Azure și GCE.

Este posibil ca unora să nu le placă faptul că trebuie să instaleze imagini ale sistemului de operare și să se ocupe de rețea, echilibrarea încărcăturii sau să-și facă griji cu privire la tipul de procesor ideal pentru volumul lor de lucru. Aici urcăm piramida către PaaS.

2.2 Platforma ca serviciu (PaaS)

PaaS implică doar un furnizor de servicii cloud care oferă o platformă specifică pe care utilizatorii pot construi aplicații. Aceasta este o abstractizare asupra IaaS, ceea ce înseamnă că furnizorul de cloud are grijă de toate detaliile tipurilor de CPU, memorie, RAM, stocare, rețele etc. După cum se arată în Figura 2, dvs., ca client, aveți puțin control asupra platformei reale, deoarece cloud-ul furnizorului se ocupă de toate detaliile de infrastructură pentru dvs. Soliciți platforma aleasă și construiești proiectul pe ea. Exemple de PaaS sunt Heroku.

Acest lucru poate fi un nivel prea ridicat pentru unii, deoarece nu doresc neapărat să construiască proiectul pe o platformă specificată, ci mai degrabă au nevoie de un set de servicii direct de la furnizorul de cloud. Aici intervine SaaS.

2.3 Software ca serviciu (SaaS)

SaaS reprezintă cele mai comune servicii furnizate de furnizorii de servicii cloud. Acestea sunt destinate utilizatorilor finali și sunt accesibile în primul rând prin intermediul site-urilor web precum Gmail, Google Docs, Dropbox etc. În ceea ce privește Google Cloud, există mai multe oferte în afara stack-ului lor de calcul care sunt SaaS. Acestea includ Data Studio, Big Query etc.

2.4 Rezumatul serviciilor cloud

constituenți ai
IaaS
închide
SaaS

Ce obții
Obțineți infrastructura și plătiți în consecință. Libertatea de a utiliza sau instala orice software, sistem de operare sau compoziția acestuia.
Aici primești ceea ce ceri. Software, hardware, sistem de operare, mediu web. Obțineți o platformă gata de utilizare și plătiți în consecință.
Aici nu trebuie să vă faceți griji pentru nimic. Vi se oferă un pachet preinstalat personalizat conform cerințelor dumneavoastră și tot ce trebuie să faceți este să plătiți corespunzător.

Valoare
Calcul de bază
Top IaaS
Acesta este în esență un pachet complet de servicii

Dificultati tehnice
Sunt necesare cunoștințe tehnice
Vi se oferă configurația de bază, dar aveți nevoie de cunoștințe de domeniu.
Nu trebuie să vă deranjați cu detaliile tehnice. Furnizorul SaaS oferă totul.

Cu ce ​​funcționează?
Mașini virtuale, stocare, servere, rețea, echilibrare de încărcare etc.
Medii de rulare (cum ar fi runtime Java), baze de date (cum ar fi mySQL, Oracle), servere web (cum ar fi Tomcat etc.)
Aplicații precum serviciile de e-mail (Gmail, Yahoo mail etc.), site-uri de interacțiune socială (Facebook etc.)

Graficul popularității
Popular printre dezvoltatorii cu înaltă calificare, cercetătorii care necesită personalizare în funcție de cerințele sau zona de cercetare
Cel mai popular în rândul dezvoltatorilor, deoarece aceștia se pot concentra pe dezvoltarea aplicațiilor sau scripturilor lor. Nu trebuie să-și facă griji cu privire la încărcarea traficului sau gestionarea serverului etc.
Cel mai popular printre consumatorii obișnuiți sau companiile care utilizează software precum e-mailul, partajarea fișierelor, rețelele sociale, deoarece nu trebuie să-și facă griji cu privire la detaliile tehnice

Figura 3: Rezumatul ofertelor majore de cloud | Imagine furnizată Amir la Blog Specia

3. Google Cloud Platform Computing Suite

După ce am analizat ofertele tipice ale furnizorilor de cloud din Secțiunea 2, le putem compara cu ofertele Google Cloud.

3.1 Google Compute Engine (GCE) - IaaS

GCP: Analizarea stivei de calcul Google Cloud Platform

Figura 4: Pictograma Google Compute Engine (GCE).

GCE este o ofertă IaaS de la Google. Cu GCE, puteți crea liber mașini virtuale, aloca CPU și resurse de memorie, alegeți tipul de stocare, cum ar fi SSD sau HDD, și cantitatea de memorie. Este aproape ca și cum ți-ai construit propriul computer/stație de lucru și te-ai ocupat de toate detaliile despre cum funcționează.

În GCE, puteți alege de la microinstanțe cu procesoare cu 0,3 nuclee și 1 GB de RAM până la monștri cu 96 de nuclee cu peste 300 GB de RAM. De asemenea, puteți crea mașini virtuale cu dimensiuni personalizate pentru sarcinile dvs. de lucru. Pentru cei interesați, acestea sunt mașini virtuale pe care le puteți construi.

Tipuri de mașini | Documentația Compute Engine | Google Cloud

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

GCP: Analizarea stivei de calcul Google Cloud Platform

Figura 5: pictograma Google Kubernetes Engine (GKE).

GKE este o ofertă de calcul unică de la GCP, care este o abstractizare peste Compute Engine. În general, GKE poate fi clasificat ca Container ca serviciu (CaaS), denumit uneori Kubernetes ca serviciu (KaaS), ceea ce permite clienților să ruleze cu ușurință containerele Docker într-un mediu Kubernetes complet gestionat. Pentru cei care nu sunt familiarizați cu containerele, containerele ajută la modularizarea serviciilor/aplicațiilor, astfel încât containere diferite pot conține servicii diferite, de exemplu, un container poate găzdui partea frontală a aplicației dvs. web, iar altul poate conține partea din spate a acesteia. Kubernetes automatizează, orchestrează, gestionează și implementează containerele dvs. Mai multe informații aici.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) - (PaaS)

GCP: Analizarea stivei de calcul Google Cloud Platform

Figura 6: Pictograma Google App Engine (GAE).

După cum se menționează în Secțiunea 2.2, PaaS se află deasupra IaaS și, în cazul GCP, poate fi considerată și ca o ofertă deasupra GKE. GAE este PaaS personalizat de la Google, iar modul în care se descriu cel mai bine este „aduceți-vă codul și ne vom ocupa de restul”.

Acest lucru asigură că clienții care utilizează GAE nu trebuie să se confrunte cu hardware-ul/middleware-ul de bază și că pot avea deja o platformă preconfigurată gata de funcționare; tot ce trebuie să facă este să furnizeze codul necesar pentru a-l rula.

GAE se ocupă automat de scalare pentru a satisface sarcina și cererea utilizatorilor, ceea ce înseamnă că dacă site-ul dvs. de vânzare de flori atinge brusc vârfuri, deoarece se apropie Ziua Îndrăgostiților, GAE se va ocupa de scalarea infrastructurii de bază pentru a satisface cererea și pentru a se asigura că site-ul dvs. nu se va prăbuși din cauza cererii crescute. Aceasta înseamnă că plătiți exact pentru resursele necesare aplicației dvs. în acel moment.

GAE folosește Kubernetes sau versiunea sa nativă pentru a gestiona toate acestea, astfel încât să nu vă faceți griji. GAE este cel mai potrivit pentru companiile care nu sunt interesate de infrastructura subiacentă și le pasă doar să se asigure că aplicația lor este accesibilă în cel mai bun mod posibil.

După părerea mea, GAE este cel mai bun loc de a începe dacă ești un dezvoltator cu o idee grozavă, dar nu vrei să te confrunți cu munca grea de a configura servere, echilibrarea încărcăturii și toate celelalte devops/SRE care necesită timp. . De-a lungul timpului, ați putea încerca GKE și GCE, dar aceasta este doar părerea mea.

Disclaimer: AppEngine este folosit pentru aplicații web, nu pentru aplicații mobile.

Pentru informații: App Engine - Creați backend-uri web și mobile scalabile în orice limbă | Google Cloud

3.4 Funcții Google Cloud - (FaaS)

GCP: Analizarea stivei de calcul Google Cloud Platform

Figura 7: Pictograma Google Cloud Functions (GCF).

Sper că ați observat o tendință uitându-vă la ofertele anterioare. Cu cât urcați mai sus pe scara soluției de calcul GCP, cu atât mai puțin trebuie să vă faceți griji cu privire la tehnologia de bază. Această piramidă se termină cu cea mai mică unitate de calcul posibilă, o funcție, așa cum se arată în Secțiunea 1.

GCF este o ofertă GCP relativ nouă, care este încă în versiune beta (la momentul scrierii acestui articol). Funcțiile cloud permit ca anumite funcții scrise de dezvoltator să fie declanșate de un eveniment.

Aceștia sunt conduși de evenimente și sunt în centrul cuvântului la modă „fără server”, adică nu cunosc servere. Funcțiile cloud sunt foarte simple și au multe utilizări diferite care necesită gândire la eveniment. De exemplu, de fiecare dată când se înregistrează un nou utilizator, poate fi declanșată o funcție cloud pentru a alerta dezvoltatorii.

Într-o fabrică, atunci când un anumit senzor atinge o anumită valoare, poate declanșa o funcție cloud care face o anumită prelucrare a informațiilor, sau anunță un personal de întreținere etc.

Funcții cloud - Server de calcul bazat pe evenimente | Google Cloud

Concluzie

În acest articol, am vorbit despre diferitele oferte de cloud precum IaaS, PaaS etc. și despre modul în care stiva de calcul Google implementează aceste straturi diferite. Am văzut că straturile de abstractizare atunci când se deplasează de la o categorie de servicii la alta, cum ar fi IaaS în Paas, necesită mai puține cunoștințe despre subiacent.

Pentru o afacere, aceasta oferă flexibilitate critică care nu numai că își îndeplinește obiectivele operaționale, ci și alte domenii cheie, cum ar fi securitatea și costurile. A rezuma:

Calculați motorul - vă permite să vă creați propria mașină virtuală prin alocarea anumitor resurse hardware, de exemplu, RAM, procesor, memorie. De asemenea, este destul de practic și de nivel scăzut.

Motor Kubernetes este un pas înainte de Compute Engine și vă permite să utilizați Kubernetes și containere pentru a vă gestiona aplicația, permițându-vă să o extindeți după cum este necesar.

App Engine este un pas înainte de Kubernetes Engine, permițându-vă să vă concentrați doar pe codul dvs., în timp ce Google se ocupă de toate cerințele de bază ale platformei.

Funcții cloud este vârful piramidei de calcul, permițându-vă să scrieți o funcție simplă care, atunci când este rulată, utilizează întreaga infrastructură de bază pentru a calcula și returna rezultatul.

Vă mulțumim pentru atenție!

Twitter: @martinomburajr

Sursa: www.habr.com

Adauga un comentariu