GCP: Rozdelenie balíka Google Cloud Platform Computing

Preklad článku bol pripravený špeciálne pre študentov kurzu "Cloudové služby".

Máte záujem rozvíjať sa týmto smerom? Pozrite si záznam profesionálnej majstrovskej triedy "Služba AWS EC2", ktorú viedol Egor Zuev - TeamLead v InBit a autor vzdelávacieho programu v OTUS.

GCP: Rozdelenie balíka Google Cloud Platform Computing

Google Cloud Platform (GCP) ponúka mnoho služieb a najmä výpočtový balík, ktorý obsahuje Google Compute Engine (GCE), Google Kubernetes Engine (predtým Container Engine) (GKE), Google App Engine (GAE) a Google Cloud Functions (GCF). . Všetky tieto služby majú skvelé názvy, ale nemusia byť úplne zrejmé, pokiaľ ide o ich funkcie a to, čo ich robí navzájom jedinečnými. Tento článok je určený pre tých, ktorí sú noví v oblasti cloudových konceptov, najmä cloudových služieb a GCP.

GCP: Rozdelenie balíka Google Cloud Platform Computing

1. Vypočítajte zásobník

Výpočtový zásobník si možno predstaviť ako vrstvenú abstrakciu toho, čo môže poskytnúť počítačový systém. Tento zásobník stúpa (sa pohybuje hore) z "holého železa" (holý kov), odvolávajúc sa na skutočné hardvérové ​​komponenty počítača, až po funkcie (funkcie), ktoré predstavujú najmenšiu jednotku výpočtu. V súvislosti so zásobníkom je dôležité poznamenať, že služby sa agregujú, keď sa pohybujete v zásobníku vyššie, ako je napríklad sekcia „aplikácie“ (aplikácie), znázornený na obrázku 1 nižšie, by mal obsahovať všetky základné komponenty kontajnera (kontajnery), virtuálne stroje (virtuálne stroje) a železo. Rovnakým spôsobom musí komponent virtuálnych strojov obsahovať hardvér, aby fungoval.

GCP: Rozdelenie balíka Google Cloud Platform Computing

Obrázok 1: Výpočtový zásobník | Obrázok pochádza z Google Cloud

Tento model zobrazený na obrázku 1 je základom pre popis ponúk od poskytovateľov cloudu. Niektorí poskytovatelia tak môžu poskytovať napríklad iba kontajnery a služby nižšej kvality pozdĺž stohu, zatiaľ čo iní môžu poskytnúť všetko, čo je znázornené na obrázku 1.

— Ak poznáte cloudové služby, prejdite na oddiel 3aby ste videli ekvivalent GCP
— Ak chcete iba súhrn cloudových služieb, prejdite na oddiel 2.4

2. Cloudové služby

Svet cloud computingu je veľmi rôznorodý. Poskytovatelia cloudu ponúkajú rôzne služby prispôsobené rôznym požiadavkám zákazníkov. Možno ste už počuli o výrazoch ako IaaS, PaaS, SaaS, FaaS, KaaS atď. so všetkými písmenami abecedy, za ktorými nasleduje „aaS“. Napriek podivnej konvencii pomenovania tvoria súbor služieb poskytovateľa cloudu. Uvádzam, že existujú 3 hlavné ponuky „ako služby“, ktoré poskytovatelia cloudu takmer vždy poskytujú.

Ide o IaaS, PaaS a SaaS, čo znamená Infrastructure as a Service, Platform as a Service a Software as a Service. Je dôležité vizualizovať cloudové služby ako vrstvy poskytovaných služieb. To znamená, že keď sa pohybujete nahor alebo nadol z úrovne na úroveň, vy ako zákazník prechádzate rôznymi možnosťami služieb, ktoré sú buď pridané alebo odpočítané od základnej ponuky. Najlepšie je predstaviť si to ako pyramídu, ako je znázornené na obrázku 2.
GCP: Rozdelenie balíka Google Cloud Platform Computing

Obrázok 2: pyramída aaS | Obrázok pochádza z Rubínová garáž

2.1 Infraštruktúra ako služba (IaaS)

Toto je najnižšia úroveň, ktorú môže poskytovateľ cloudu ponúknuť, a zahŕňa poskytovateľa cloudu, ktorý dodáva čistú kovovú infraštruktúru vrátane middlewaru, sieťovej kabeláže, CPU, GPU, RAM, externého úložiska, serverov a základných obrazov operačného systému, napr. Debian Linux, CentOS, Windows , atď.

Ak si objednáte cenovú ponuku od poskytovateľa cloud IaaS, mali by ste očakávať, že dostanete túto ponuku. Je len na vás, zákazníkovi, aby ste zostavili tieto kusy, aby ste mohli prevádzkovať svoje podnikanie. Rozsah toho, s čím budete musieť pracovať, sa môže líšiť od predajcu k predajcovi, ale vo všeobecnosti dostanete iba hardvér a OS a zvyšok je na vás. Príkladmi IaaS sú AWS Elastic Compute, Microsoft Azure a GCE.

Niekomu sa možno nebude páčiť, že si musí inštalovať obrazy OS a riešiť sieťovanie, vyrovnávanie záťaže či starosti s tým, aký typ procesora je pre ich pracovné zaťaženie ideálny. Tu sa posúvame po pyramíde smerom k PaaS.

2.2 Platforma ako služba (PaaS)

PaaS zahŕňa iba poskytovateľa cloudových služieb, ktorý ponúka špecifickú platformu, na ktorej môžu používatelia vytvárať aplikácie. Toto je abstrakcia nad IaaS, čo znamená, že poskytovateľ cloudu sa stará o všetky detaily typov CPU, pamäte, RAM, úložiska, sietí atď. Ako je znázornené na obrázku 2, vy ako zákazník máte malú kontrolu nad skutočnou platformou, pretože cloud poskytovateľ spravuje všetky podrobnosti o infraštruktúre za vás. Požiadate o zvolenú platformu a postavíte na nej projekt. Príklady PaaS sú Heroku.

Pre niekoho to môže byť príliš vysoká úroveň, keďže nemusia nutne stavať projekt na špecifikovanej platforme, ale skôr potrebujú sadu služieb priamo od poskytovateľa cloudu. Tu prichádza do hry SaaS.

2.3 Softvér ako služba (SaaS)

SaaS predstavuje najbežnejšie služby poskytované poskytovateľmi cloudových služieb. Sú zamerané na koncových používateľov a sú prístupné predovšetkým prostredníctvom webových stránok ako Gmail, Google Docs, Dropbox atď. Čo sa týka Google Cloud, existuje niekoľko ponúk mimo ich výpočtovej zostavy, ktoré sú SaaS. Patria sem Dátové štúdio, Big Query atď.

2.4 Súhrn cloudových služieb

zložky
IaaS
PaaS
SaaS

Čo dostaneš?
Získate infraštruktúru a podľa toho zaplatíte. Sloboda používať alebo inštalovať akýkoľvek softvér, OS alebo ich zloženie.
Tu dostanete, čo požadujete. Softvér, hardvér, OS, webové prostredie. Získate platformu pripravenú na použitie a podľa toho zaplatíte.
Tu sa nemusíte ničoho obávať. Dostanete predinštalovaný balík prispôsobený vašim požiadavkám a všetko, čo musíte urobiť, je zaplatiť.

Hodnota
Základná výpočtová technika
Najlepšie IaaS
Ide v podstate o kompletný balík služieb

Technické ťažkosti
Potrebné technické znalosti
Máte základnú konfiguráciu, ale stále potrebujete znalosti domény.
Netreba sa trápiť technickými detailmi. Poskytovateľ SaaS poskytuje všetko.

S čím to funguje?
Virtuálne stroje, úložisko, servery, sieť, vyrovnávače zaťaženia atď.
Runtime prostredia (ako java runtime), databázy (ako mySQL, Oracle), webové servery (ako tomcat atď.)
Aplikácie, ako sú e-mailové služby (Gmail, Yahoo mail atď.), stránky sociálnej interakcie (Facebook atď.)

Graf popularity
Populárne medzi vysoko kvalifikovanými vývojármi, výskumníkmi, ktorí vyžadujú prispôsobenie podľa svojich požiadaviek alebo oblasti výskumu
Najobľúbenejšie medzi vývojármi, pretože sa môžu sústrediť na vývoj svojich aplikácií alebo skriptov. Nemusia sa starať o prevádzkové zaťaženie alebo správu servera atď.
Najobľúbenejšie medzi bežnými spotrebiteľmi alebo spoločnosťami, ktoré používajú softvér ako e-mail, zdieľanie súborov, sociálne siete, pretože sa nemusia starať o technické detaily

Obrázok 3: Súhrn hlavných ponúk cloudu | Obrázok bol poskytnutý Amir na Blog Specia

3. Google Cloud Platform Computing Suite

Po pohľade na typické ponuky poskytovateľov cloudu v časti 2 ich môžeme porovnať s ponukami služby Google Cloud.

3.1 Google Compute Engine (GCE) – IaaS

GCP: Rozdelenie balíka Google Cloud Platform Computing

Obrázok 4: Ikona Google Compute Engine (GCE).

GCE je ponuka IaaS od spoločnosti Google. S GCE môžete voľne vytvárať virtuálne stroje, prideľovať CPU a pamäťové zdroje, zvoliť typ úložiska, ako je SSD alebo HDD, a množstvo pamäte. Je to skoro, ako keby ste si postavili vlastný počítač/pracovnú stanicu a riešili všetky detaily toho, ako to funguje.

V GCE si môžete vybrať od mikro inštancií s 0,3-jadrovými procesormi a 1 GB RAM až po 96-jadrové monštrá s viac ako 300 GB RAM. Môžete tiež vytvoriť virtuálne stroje vlastnej veľkosti pre vaše pracovné zaťaženie. Pre záujemcov sú to virtuálne stroje, ktoré si môžete postaviť.

Typy strojov | Dokumentácia výpočtového motora | Google Cloud

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

GCP: Rozdelenie balíka Google Cloud Platform Computing

Obrázok 5: Ikona Google Kubernetes Engine (GKE).

GKE je jedinečná výpočtová ponuka od GCP, ktorá je abstrakciou na vrchole Compute Engine. Všeobecnejšie možno GKE kategorizovať ako kontajner ako služba (CaaS), niekedy označovaný ako Kubernetes ako služba (KaaS), čo umožňuje zákazníkom jednoducho spúšťať kontajnery Docker v plne spravovanom prostredí Kubernetes. Pre tých, ktorí nepoznajú kontajnery, kontajnery pomáhajú modularizovať služby/aplikácie, takže rôzne kontajnery môžu obsahovať rôzne služby, napríklad jeden kontajner môže hostiť prednú časť vašej webovej aplikácie a ďalší môže obsahovať jej zadnú časť. Kubernetes automatizuje, organizuje, spravuje a nasadzuje vaše kontajnery. Viac informácií tu.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) – (PaaS)

GCP: Rozdelenie balíka Google Cloud Platform Computing

Obrázok 6: Ikona Google App Engine (GAE).

Ako je uvedené v časti 2.2, PaaS je nad IaaS a v prípade GCP sa môže považovať aj za ponuku nad GKE. GAE je vlastné PaaS od Google a spôsob, akým sa najlepšie vystihujú, je „prineste svoj kód a my sa postaráme o zvyšok“.

To zaisťuje, že zákazníci používajúci GAE sa nemusia zaoberať základným hardvérom/middleware a už môžu mať predkonfigurovanú platformu pripravenú na použitie; všetko, čo musia urobiť, je poskytnúť kód potrebný na jeho spustenie.

GAE automaticky spracováva škálovanie tak, aby vyhovovalo zaťaženiu a dopytu zo strany používateľov, čo znamená, že ak vaša webová stránka na predaj kvetov náhle dosiahne vrchol, pretože sa blíži Valentín, GAE sa postará o škálovanie základnej infraštruktúry tak, aby uspokojila dopyt a zabezpečila, že vaša webová stránka nepadne z dôvodu zvýšeného dopytu. . To znamená, že platíte presne za zdroje, ktoré vaša aplikácia v danom momente vyžaduje.

GAE na to všetko používa Kubernetes alebo jeho natívnu verziu, takže sa o to nemusíte starať. GAE je najvhodnejší pre spoločnosti, ktoré sa nezaujímajú o základnú infraštruktúru a starajú sa len o to, aby bola ich aplikácia dostupná najlepším možným spôsobom.

Podľa môjho názoru je GAE najlepším miestom, kde začať, ak ste vývojár so skvelým nápadom, ale nechcete sa zaoberať namáhavým nastavením serverov, vyrovnávaním záťaže a všetkými ostatnými časovo náročnými devops/SRE prácou. . Postupom času by ste mohli vyskúšať GKE a GCE, ale to je len môj názor.

Vylúčenie zodpovednosti: AppEngine sa používa pre webové aplikácie, nie mobilné aplikácie.

Pre informáciu: App Engine – Zostavte škálovateľné webové a mobilné backendy v akomkoľvek jazyku | Google Cloud

3.4 Funkcie Google Cloud – (FaaS)

GCP: Rozdelenie balíka Google Cloud Platform Computing

Obrázok 7: Ikona Google Cloud Functions (GCF).

Dúfame, že ste si pri pohľade na predchádzajúce ponuky všimli trend. Čím vyššie stúpate v rebríčku výpočtových riešení GCP, tým menej sa musíte starať o základnú technológiu. Táto pyramída končí najmenšou možnou jednotkou výpočtu, funkciou, ako je znázornené v časti 1.

GCF je relatívne nová ponuka GCP, ktorá je stále vo verzii beta (v čase písania tohto článku). Cloudové funkcie umožňujú spustenie určitých funkcií napísaných vývojárom udalosťou.

Sú riadení udalosťami a sú jadrom módneho slova „bez serverov“, čo znamená, že nepoznajú servery. Cloudové funkcie sú veľmi jednoduché a majú mnoho rôznych použití, ktoré si vyžadujú myslenie udalostí. Napríklad vždy, keď sa zaregistruje nový používateľ, môže sa spustiť cloudová funkcia, ktorá upozorní vývojárov.

V továrni, keď určitý senzor dosiahne určitú hodnotu, môže spustiť cloudovú funkciu, ktorá vykoná nejaké spracovanie informácií, alebo upozorní personál údržby atď.

Funkcie cloudu – Server Computing riadený udalosťami | Google Cloud

Záver

V tomto článku sme hovorili o rôznych cloudových ponukách, ako sú IaaS, PaaS atď., a o tom, ako výpočtový zásobník Google implementuje tieto rôzne vrstvy. Videli sme, že vrstvy abstrakcie pri prechode z jednej kategórie služieb do druhej, ako napríklad IaaS v Paas, vyžadujú menšie znalosti o základoch.

Pre podnik to poskytuje kritickú flexibilitu, ktorá nielen spĺňa prevádzkové ciele, ale spĺňa aj ďalšie kľúčové oblasti, ako je bezpečnosť a náklady. Zhrnúť:

Compute Engine - umožňuje vám vytvoriť si vlastný virtuálny stroj pridelením určitých hardvérových zdrojov, napríklad RAM, procesor, pamäť. Je to aj celkom praktické a na nízkej úrovni.

Motor Kubernetes je krokom vpred od Compute Engine a umožňuje vám používať Kubernetes a kontajnery na správu vašej aplikácie, čo vám umožňuje škálovať ju podľa potreby.

App Engine je krokom vpred oproti Kubernetes Engine, ktorý vám umožňuje sústrediť sa iba na váš kód, zatiaľ čo Google sa postará o všetky základné požiadavky na platformu.

Cloudové funkcie je vrchol výpočtovej pyramídy, ktorý vám umožňuje napísať jednoduchú funkciu, ktorá po spustení využíva celú základnú infraštruktúru na výpočet a vrátenie výsledku.

Ďakujem vám za pozornosť!

Twitter: @martinomburajr

Zdroj: hab.com

Pridať komentár