GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Prevod članka je bil pripravljen posebej za študente tečaja "Storitve v oblaku".

Vas zanima razvoj v tej smeri? Oglejte si posnetek profesionalnega mojstrskega tečaja "Storitev AWS EC2", ki ga je vodil Egor Zuev - TeamLead pri InBit in avtor izobraževalnega programa pri OTUS.

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Google Cloud Platform (GCP) ponuja številne storitve, zlasti računski sklad, ki vsebuje Google Compute Engine (GCE), Google Kubernetes Engine (prej Container Engine) (GKE), Google App Engine (GAE) in Google Cloud Functions (GCF). ). Vse te storitve imajo kul imena, vendar morda niso povsem očitne njihove lastnosti in to, kaj jih dela edinstvene med seboj. Ta članek je namenjen tistim, ki so novi v konceptih oblaka, zlasti v storitvah v oblaku in GCP.

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

1. Računalniški sklad

Računalniški sklad si lahko predstavljamo kot večplastno abstrakcijo nad tem, kar lahko zagotovi računalniški sistem. Ta sklad se dvigne (premika navzgor) iz "golega železa" (gola kovina), ki se nanašajo na dejanske komponente strojne opreme računalnika, vse do funkcij (funkcije), ki je najmanjša računska enota. Kar je pomembno upoštevati glede sklada, je, da se storitve združujejo, ko se premikajo navzgor po skladu, kot je razdelek »aplikacije« (aplikacije), prikazano na sliki 1 spodaj, mora vsebovati vse osnovne komponente vsebnika (posode), virtualni stroji (navidezni stroji) in železo. Na enak način mora komponenta virtualnega stroja vsebovati strojno opremo, da lahko deluje.

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Slika 1: Računalniški sklad | Slika izvira iz Google Cloud

Ta model, prikazan na sliki 1, je osnova za opisovanje ponudbe ponudnikov v oblaku. Tako lahko nekateri ponudniki zagotovijo le na primer kontejnerje in storitve pod kakovostjo sklada, drugi pa vse, kar je prikazano na sliki 1.

- Če poznate storitve v oblaku, pojdite na razdelek 3za ogled ekvivalenta GCP
- Če želite le povzetek storitev v oblaku, pojdite na razdelek 2.4

2. Storitve v oblaku

Svet računalništva v oblaku je zelo raznolik. Ponudniki v oblaku ponujajo številne storitve, prilagojene različnim zahtevam strank. Morda ste že slišali za izraze, kot so IaaS, PaaS, SaaS, FaaS, KaaS itd. z vsemi črkami abecede, ki jim sledi "aaS". Kljub nenavadnemu dogovoru o poimenovanju tvorijo nabor storitev ponudnika oblaka. Navajam, da obstajajo 3 glavne ponudbe "kot storitev" (kot storitev), ki jih ponudniki v oblaku skoraj vedno zagotavljajo.

To so IaaS, PaaS in SaaS, kar pomeni infrastruktura kot storitev, platforma kot storitev in programska oprema kot storitev. Storitve v oblaku je pomembno vizualizirati kot storitvene plasti. To pomeni, da ko se pomikate navzgor ali navzdol z ravni na raven, vi kot stranka prečkate različne možnosti storitev, ki so dodane ali odstranjene iz glavne ponudbe. Najbolje je, da si to predstavljamo kot piramido, kot je prikazano na sliki 2.
GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Slika 2: Piramida AaS | Slika izvira iz Ruby garaža

2.1 Infrastruktura kot storitev (IaaS)

To je najnižja raven, ki jo lahko ponudi ponudnik storitev v oblaku, in vključuje ponudnika v oblaku, ki zagotavlja golo infrastrukturo, vključno z vmesno programsko opremo, omrežnimi kabli, procesorji, grafičnimi procesorji, RAM-om, zunanjim pomnilnikom, strežniki in osnovnimi slikami operacijskega sistema, npr. Debian Linux, CentOS, Windows itd.

Če naročite ponudbo pri ponudniku storitev v oblaku IaaS, potem bi to morali pričakovati. Na vas kot stranki je, da sestavite te dele za vodenje svojega podjetja. Obseg, s čimer morate delati, se lahko razlikuje od prodajalca do prodajalca, vendar na splošno dobite samo strojno opremo in OS, ostalo pa naredite vi. Primeri IaaS so AWS Elastic Compute, Microsoft Azure in GCE.

Nekaterim morda ne bo všeč dejstvo, da morajo nameščati slike operacijskega sistema in se ukvarjati z omrežnimi povezavami, uravnoteženjem obremenitve ali skrbeti za to, katera vrsta procesorja je idealna za njihovo delovno obremenitev. Tu se premaknemo po piramidi navzgor do PaaS.

2.2 Platforma kot storitev (PaaS)

PaaS vključuje le ponudnika storitev v oblaku, ki ponuja specifično platformo, na kateri lahko uporabniki gradijo aplikacije. Je abstrakcija nad IaaS, kar pomeni, da ponudnik oblaka poskrbi za vse podrobnosti o vrstah CPU, pomnilnika, RAM-a, pomnilnika, omrežja itd. Kot je prikazano na sliki 2, imate vi kot stranka le malo nadzora nad dejanskim platformo, ker ponudnik namesto vas poskrbi za vse podrobnosti infrastrukture. Zahtevate izbrano platformo in na njej gradite projekt. Primer PaaS je Heroku.

Za nekatere je to lahko previsoka raven, saj ne želi nujno graditi projekta na določeni platformi, temveč potrebuje nabor storitev neposredno od ponudnika storitev v oblaku. Tu nastopi SaaS.

2.3 Programska oprema kot storitev (SaaS)

SaaS je najpogostejša storitev, ki jo ponujajo ponudniki storitev v oblaku. Namenjeni so končnim uporabnikom in so v glavnem na voljo prek spletnih mest, kot so Gmail, Google Docs, Dropbox itd. Kar zadeva Google Cloud, obstaja več ponudb zunaj njihovega računalniškega sklada, ki so SaaS. Sem spadajo Data Studio, Big Query itd.

2.4 Povzetek storitev v oblaku

Komponente
IaaS
PaaS
SaaS

Kaj dobiš
Dobiš infrastrukturo in plačaš temu primerno. Svoboda uporabe ali namestitve katere koli programske opreme, operacijskega sistema ali njihove kombinacije.
Tukaj dobite, kar zahtevate. Programska, strojna oprema, OS, spletno okolje. Dobite platformo, pripravljeno za uporabo, in ustrezno plačate.
Tukaj vam ni treba skrbeti za nič. Dobite vnaprej nameščen paket, prilagojen vašim zahtevam, in morate samo ustrezno plačati.

Vrednost
Osnovna raven računalništva
Vrhunski IaaS
V bistvu gre za celoten paket storitev.

Tehnične težave
Zahtevano tehnično znanje
Dobili ste osnovno konfiguracijo, vendar je še vedno potrebno poznavanje domene.
Ni vam treba obremenjevati s tehničnimi podrobnostmi. Ponudnik SaaS ponuja vse.

S čim deluje
Virtualni stroji, shranjevanje, strežniki, omrežja, izravnalniki obremenitve itd.
Izvajalni časi (kot je izvajalno okolje java), baze podatkov (kot je mySQL, Oracle), spletni strežniki (kot je tomcat itd.)
Aplikacije, kot so e-poštne storitve (Gmail, Yahoo mail itd.), spletna mesta za družabno interakcijo (Facebook itd.)

Graf priljubljenosti
Priljubljen pri visokokvalificiranih razvijalcih, raziskovalcih, ki potrebujejo prilagoditev glede na njihove zahteve ali področje raziskav
Najbolj priljubljen pri razvijalcih, saj se lahko osredotočijo na razvoj svojih aplikacij ali skriptov. Ni jim treba skrbeti za nalaganje prometa ali upravljanje strežnika itd.
Najbolj priljubljen med splošnimi potrošniki ali podjetji, ki uporabljajo programsko opremo, kot je e-pošta, deljenje datotek, družabna omrežja, saj jim ni treba skrbeti za tehnične podrobnosti.

Slika 3: Povzetek glavnih ponudb v oblaku | Vljudnost slike Amir na Blog Specia

3. Računalniški paket Google Cloud Platform

Ko smo si v 2. razdelku ogledali tipične ponudbe ponudnikov oblakov, jih lahko primerjamo s ponudbami Google Cloud.

3.1 Google Compute Engine (GCE) – IaaS

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Slika 4: Ikona Google Compute Engine (GCE).

GCE je Googlova ponudba IaaS. Z GCE lahko prosto ustvarjate virtualne stroje, dodeljujete CPU in pomnilniške vire, izbirate vrsto pomnilnika, kot je SSD ali HDD, in količino pomnilnika. To je skoraj tako, kot bi sestavili svoj računalnik/delovno postajo in poskrbeli za vse podrobnosti njegovega delovanja.

V GCE lahko izbirate med mikro instancami z 0,3-jedrnimi procesorji in 1 GB RAM-a do 96-jedrnih pošasti z več kot 300 GB RAM-a. Ustvarite lahko tudi navidezne stroje velikosti po meri za svoje delovne obremenitve. Za tiste, ki jih zanima, so to virtualni stroji, ki jih lahko sestavite.

Vrste strojev | Dokumentacija Compute Engine | Google Cloud

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

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Slika 5: Ikona Google Kubernetes Engine (GKE).

GKE je edinstvena računalniška ponudba GCP, ki je abstrakcija nad Compute Engine. Bolj splošno lahko GKE kategoriziramo kot vsebnik kot storitev (CaaS), včasih imenovan tudi Kubernetes kot storitev (KaaS), ki strankam omogoča preprosto izvajanje svojih vsebnikov Docker v popolnoma upravljanem okolju Kubernetes. Za tiste, ki ne poznate vsebnikov, vsebniki pomagajo modularizirati storitve/aplikacije, tako da lahko različni vsebniki vsebujejo različne storitve, na primer en vsebnik lahko gosti vmesnik vaše spletne aplikacije, drugi pa lahko vsebuje njeno zaledje. Kubernetes avtomatizira, koordinira, upravlja in postavlja vaše vsebnike. Več informacij tukaj.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) – (PaaS)

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Slika 6: Ikona Google App Engine (GAE).

Kot je omenjeno v razdelku 2.2, je PaaS nad IaaS, v primeru GCP pa ga je mogoče videti tudi kot predlog nad GKE. GAE je specializiran Google PaaS in kot se najbolje opišejo, "prinesite kodo, mi bomo poskrbeli za ostalo."

To zagotavlja, da se strankam, ki uporabljajo GAE, ni treba ukvarjati z osnovno strojno/vmesno programsko opremo in imajo lahko že pripravljeno vnaprej konfigurirano platformo; vse, kar morajo storiti, je zagotoviti kodo, ki je potrebna za njegovo izvajanje.

GAE samodejno obravnava prilagajanje obsega, da zadosti obremenitvi in ​​povpraševanju uporabnikov, kar pomeni, da če vaše cvetličarsko mesto nenadoma doseže vrhunec, ker se bliža valentinovo, bo GAE poskrbel za prilagajanje osnovne infrastrukture, da zadosti povpraševanju in zagotovi, da vaše spletno mesto ne bo padlo zaradi povečanega povpraševanja. . To pomeni, da plačate točno tiste vire, ki jih vaša aplikacija trenutno potrebuje.

GAE za vse to uporablja Kubernetes ali njegovo vgrajeno različico, tako da vam zaradi tega ni treba skrbeti. GAE je najprimernejši za podjetja, ki jih osnovna infrastruktura ne zanima in jih skrbi le, da je njihova aplikacija dostopna na najboljši možen način.

Po mojem mnenju je GAE najboljše mesto za začetek, če ste razvijalec z odlično idejo, vendar se ne želite ukvarjati z namestitvijo strežnikov, uravnoteženjem obremenitve in vsem drugim zamudnim delom devops/SRE. Čez čas bi lahko poskusil z GKE in GCE, vendar je to samo moje mnenje.

Izjava o omejitvi odgovornosti: AppEngine se uporablja za spletne aplikacije, ne za mobilne aplikacije.

Za informacijo: App Engine – zgradite razširljiva spletna in mobilna zaledja v katerem koli jeziku | Google Cloud

3.4 Funkcije Google Cloud - (FaaS)

GCP: Razčlenitev računalniškega sklada Google Cloud Platform

Slika 7: Ikona Google Cloud Functions (GCF).

Upam, da ste z analizo prejšnjih predlogov opazili trend. Višje kot se povzpnete po lestvici GCP Computing, manj vam je treba skrbeti za osnovno tehnologijo. Ta piramida doseže vrhunec v najmanjši možni računski enoti, funkciji, kot je prikazano v 1. razdelku.

GCF je relativno nova ponudba GCP, ki je še vedno v beta različici (v času tega pisanja). Funkcije v oblaku omogočajo, da določene funkcije, ki jih je napisal razvijalec, sproži nek dogodek.

Usmerjeni so na dogodke in so v središču modne besede "brez strežnikov", kar pomeni, da ne poznajo strežnikov. Funkcije v oblaku so zelo preproste in imajo veliko različnih uporab, ki zahtevajo razmišljanje, ki temelji na dogodkih. Na primer, vsakič, ko se registrira nov uporabnik, se lahko sproži funkcija oblaka, ki opozori razvijalce.

Ko določen senzor v tovarni doseže določeno vrednost, lahko sproži funkcijo v oblaku, ki obdela nekaj informacij ali obvesti vzdrževalno osebje itd.

Funkcije v oblaku – strežniško računalništvo na podlagi dogodkov | Google Cloud

Zaključek

V tem članku smo govorili o različnih ponudbah v oblaku, kot so IaaS, PaaS itd., in o tem, kako sklad Google Compute izvaja te različne plasti. Videli smo, da sloji abstrakcije pri prehodu iz ene storitvene kategorije v drugo, kot je IaaS v Paas, zahtevajo manj znanja o podlagah.

Za podjetje to zagotavlja kritično prilagodljivost, ki ne le izpolnjuje njegove operativne cilje, ampak tudi zadovolji druga ključna področja, kot sta varnost in stroški. Povzemanje:

Izračunaj motor - vam omogoča, da ustvarite svoj virtualni stroj z dodelitvijo določenih virov strojne opreme, kot so RAM, procesor, pomnilnik. Je tudi precej praktičen in nizek.

Kubernetesov motor je korak naprej od Compute Engine, ki vam omogoča uporabo Kubernetesa in vsebnikov za upravljanje vaše aplikacije, kar vam omogoča, da jo po potrebi prilagodite.

App Engine je korak naprej od Kubernetes Engine, ki vam omogoča, da se osredotočite le na svojo kodo, medtem ko Google zagotavlja vse zahteve osnovne platforme.

Funkcije v oblaku je vrhunec računalniške piramide, ki vam omogoča pisanje preproste funkcije, ki ob izvajanju uporablja celotno osnovno infrastrukturo za izračun in vrnitev rezultata.

Спасибо за внимание!

Twitter: @martinomburajr

Vir: www.habr.com

Dodaj komentar