GCP: „Google Cloud Platform Compute Stack“ analizė

Straipsnio vertimas buvo parengtas specialiai kurso studentams „Debesų paslaugos“.

Ar jus domina plėtra šia kryptimi? Žiūrėkite profesionalios meistriškumo klasės įrašą „AWS EC2 paslauga“, kurį vedė Egor Zuev - TeamLead iš InBit ir edukacinės programos OTUS autorius.

GCP: „Google Cloud Platform Compute Stack“ analizė

„Google Cloud Platform“ (GCP) siūlo daugybę paslaugų, ypač skaičiavimo rinkinį, kuriame yra „Google Compute Engine“ (GCE), „Google Kubernetes Engine“ (anksčiau vadintas „Container Engine“) (GKE), „Google App Engine“ (GAE) ir „Google Cloud Functions“ (GCF ). . Visos šios paslaugos turi puikius pavadinimus, tačiau gali būti ne visiškai akivaizdžios dėl jų funkcijų ir jų unikalumo. Šis straipsnis skirtas tiems, kuriems debesijos koncepcijos, ypač debesijos paslaugos ir GCP, nėra naujokai.

GCP: „Google Cloud Platform Compute Stack“ analizė

1. Apskaičiuokite krūvą

Skaičiavimo krūva gali būti laikoma daugiasluoksne abstrakcija to, ką gali suteikti kompiuterinė sistema. Šis krūvas kyla (juda aukštyn) iš „pliko geležies“ (grynas metalas), nurodant tikrus kompiuterio aparatūros komponentus, iki funkcijų (funkcijos), kurie yra mažiausias skaičiavimo vienetas. Svarbu atkreipti dėmesį į tai, kad paslaugos yra apibendrinamos, kai keliaujate į krūvą, pvz., skiltis „Programos“ (Apps), parodyta 1 paveiksle, turi būti visi pagrindiniai konteinerio komponentai (konteineriai), virtualios mašinos (virtualios mašinos) ir geležies. Taip pat virtualių mašinų komponentas turi turėti aparatinę įrangą, kad jis veiktų.

GCP: „Google Cloud Platform Compute Stack“ analizė

1 pav. Skaičiavimo krūva | Vaizdas gautas iš "Google Cloud

Šis modelis, parodytas 1 paveiksle, yra debesijos paslaugų teikėjų pasiūlymų apibūdinimo pagrindas. Taigi vieni tiekėjai gali teikti tik, pavyzdžiui, konteinerius ir žemesnės kokybės paslaugas išilgai kamino, o kiti gali teikti viską, kas parodyta 1 pav.

— Jei esate susipažinę su debesijos paslaugomis, eikite į 3 skyriusnorėdami pamatyti GCP atitikmenį
— Jei norite tik debesijos paslaugų santraukos, eikite į 2.4 skyrius

2. Debesų paslaugos

Debesų kompiuterijos pasaulis yra labai įvairus. Debesų paslaugų teikėjai siūlo įvairias paslaugas, pritaikytas skirtingiems klientų poreikiams. Galbūt girdėjote apie tokius terminus kaip IaaS, PaaS, SaaS, FaaS, KaaS ir kt. su visomis abėcėlės raidėmis, po kurių yra „aaS“. Nepaisant keisto pavadinimo suteikimo, jie sudaro debesų tiekėjų paslaugų rinkinį. Teigiu, kad yra 3 pagrindiniai „kaip paslaugos“ pasiūlymai, kuriuos debesijos paslaugų teikėjai teikia beveik visada.

Tai yra IaaS, PaaS ir SaaS, kurie atitinkamai reiškia infrastruktūrą kaip paslaugą, platformą kaip paslaugą ir programinę įrangą kaip paslaugą. Svarbu vizualizuoti debesies paslaugas kaip teikiamų paslaugų sluoksnius. Tai reiškia, kad jums, kaip klientui, keliaujant aukštyn arba žemyn iš vieno lygio į kitą, jums, kaip klientui, taikomos įvairios paslaugų parinktys, kurios pridedamos prie pagrindinio pasiūlymo arba atimamos iš jos. Geriausia apie tai galvoti kaip apie piramidę, kaip parodyta 2 paveiksle.
GCP: „Google Cloud Platform Compute Stack“ analizė

2 pav.: aaS piramidė | Vaizdas gautas iš Rubino garažas

2.1 Infrastruktūra kaip paslauga (IaaS)

Tai žemiausia pakopa, kurią debesų paslaugų teikėjas gali pasiūlyti, ir apima debesų paslaugų teikėją, teikiantį metalinę infrastruktūrą, įskaitant tarpinę programinę įrangą, tinklo kabelius, CPU, GPU, RAM, išorinę saugyklą, serverius ir operacinės sistemos vaizdus, ​​pvz., Debian Linux, CentOS, Windows. ir kt.

Jei užsisakote citatą iš debesies IaaS teikėjo, tai turėtumėte tikėtis gauti. Jūs, klientas, turite surinkti šias dalis, kad galėtumėte vykdyti savo verslą. Tai, su kuo turėsite dirbti, gali skirtis priklausomai nuo pardavėjo, tačiau paprastai jūs gaunate tik aparatinę įrangą ir OS, o visa kita priklauso nuo jūsų. IaaS pavyzdžiai yra AWS Elastic Compute, Microsoft Azure ir GCE.

Kai kuriems žmonėms gali nepatikti tai, kad jie turi įdiegti OS vaizdus ir susidoroti su tinklų kūrimu, apkrovos balansavimu arba nerimauti, kokio tipo procesorius idealiai tinka jų darbo krūviui. Čia mes judame piramide aukštyn link PaaS.

2.2 Platforma kaip paslauga (PaaS)

PaaS apima tik debesijos paslaugų teikėją, siūlantį konkrečią platformą, kurioje vartotojai gali kurti programas. Tai yra IaaS abstrakcija, o tai reiškia, kad debesies paslaugų teikėjas pasirūpina visa informacija apie procesoriaus tipus, atmintį, RAM, saugyklą, tinklus ir kt. Kaip parodyta 2 paveiksle, jūs, kaip klientas, mažai kontroliuojate tikrąją platformą, nes debesyje teikėjas tvarko visą infrastruktūros informaciją už jus. Jūs paprašote pasirinktos platformos ir kuriate projektą ant jos. PaaS pavyzdžiai yra Heroku.

Kai kuriems tai gali būti per aukštas lygis, nes jie nebūtinai nori kurti projektą nurodytoje platformoje, o jiems reikia paslaugų rinkinio tiesiai iš debesijos tiekėjo. Čia pasirodo SaaS.

2.3 Programinė įranga kaip paslauga (SaaS)

SaaS – tai dažniausiai debesijos paslaugų teikėjų teikiamos paslaugos. Jie skirti galutiniams vartotojams ir pirmiausia pasiekiami per tokias svetaines kaip „Gmail“, „Google“ dokumentai, „Dropbox“ ir kt. Kalbant apie „Google Cloud“, yra keletas pasiūlymų, nesusijusių su jų skaičiavimo paketu, kurie yra „SaaS“. Tai apima „Data Studio“, „Big Query“ ir kt.

2.4 Debesų paslaugų santrauka

Komponentai
IaaS
PaaS
SaaS

Ką tu gauni
Jūs gaunate infrastruktūrą ir atitinkamai mokate. Laisvė naudoti ar įdiegti bet kokią programinę įrangą, OS ar jos sudėtį.
Čia jūs gaunate tai, ko prašote. Programinė įranga, techninė įranga, OS, žiniatinklio aplinka. Gaunate paruoštą naudoti platformą ir atitinkamai mokate.
Čia jums nereikia dėl nieko jaudintis. Jums pateikiamas iš anksto įdiegtas paketas, pritaikytas pagal jūsų poreikius, ir tereikia atitinkamai sumokėti.

Vertė
Pagrindinis skaičiavimas
Top IaaS
Tai iš esmės visas paslaugų paketas

Techniniai sunkumai
Reikalingos techninės žinios
Jums suteikta pagrindinė konfigūracija, bet vis tiek reikia domeno žinių.
Nereikia sukti galvos dėl techninių detalių. SaaS teikėjas suteikia viską.

Su kuo tai veikia?
Virtualios mašinos, saugykla, serveriai, tinklas, apkrovos balansavimo įrenginiai ir kt.
Vykdymo aplinkos (pvz., „Java Runtime“), duomenų bazės (pvz., „MySQL“, „Oracle“), žiniatinklio serverių (pvz., „Tomcat“ ir kt.)
Tokios programos kaip el. pašto paslaugos („Gmail“, „Yahoo“ paštas ir kt.), socialinės sąveikos svetainės („Facebook“ ir kt.)

Populiarumo grafikas
Populiarus tarp aukštos kvalifikacijos kūrėjų, tyrėjų, kuriuos reikia pritaikyti pagal savo poreikius arba tyrimų sritį
Populiariausi tarp kūrėjų, nes jie gali sutelkti dėmesį į savo programų ar scenarijų kūrimą. Jiems nereikia jaudintis dėl srauto apkrovos ar serverio valdymo ir pan.
Populiariausias tarp paprastų vartotojų ar įmonių, kurios naudoja tokią programinę įrangą kaip el. paštas, failų bendrinimas, socialiniai tinklai, nes jiems nereikia jaudintis dėl techninių detalių.

3 pav. Pagrindinių debesies pasiūlymų suvestinė | Pateiktas vaizdas Amiras iš „Blog Specia“.

3. „Google Cloud Platform Computing Suite“.

Peržiūrėję įprastus debesų paslaugų teikėjų pasiūlymus 2 skyriuje, galime juos palyginti su „Google Cloud“ pasiūlymais.

3.1 Google Compute Engine (GCE) – IaaS

GCP: „Google Cloud Platform Compute Stack“ analizė

4 pav.: Google Compute Engine (GCE) piktograma

GCE yra „Google“ IaaS pasiūlymas. Naudodami GCE galite laisvai kurti virtualias mašinas, paskirstyti procesoriaus ir atminties išteklius, pasirinkti saugyklos tipą, pvz., SSD arba HDD, ir atminties kiekį. Panašu, kad sukūrėte savo kompiuterį / darbo vietą ir tvarkote visas jo veikimo detales.

GCE galite rinktis iš mikro egzempliorių su 0,3 branduolio procesoriais ir 1 GB RAM iki 96 branduolių monstrų su daugiau nei 300 GB RAM. Taip pat galite sukurti pasirinktinio dydžio virtualias mašinas savo darbo krūviams. Tiems, kurie domisi, tai yra virtualios mašinos, kurias galite sukurti.

Mašinų tipai | Apskaičiuokite variklio dokumentaciją | Google Cloud

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

GCP: „Google Cloud Platform Compute Stack“ analizė

5 pav.: Google Kubernetes Engine (GKE) piktograma

GKE yra unikalus GCP skaičiavimo pasiūlymas, kuris yra Compute Engine viršuje esanti abstrakcija. Apskritai, GKE gali būti priskirta konteinerio kaip paslaugos kategorijai (CaaS), kartais vadinamam Kubernetes kaip paslauga (KaaS), kuri leidžia klientams lengvai paleisti savo Docker konteinerius visiškai valdomoje Kubernetes aplinkoje. Tiems, kurie nėra susipažinę su konteineriais, konteineriai padeda moduliuoti paslaugas / programas, todėl skirtinguose konteineriuose gali būti skirtingos paslaugos, pavyzdžiui, viename konteineryje gali būti jūsų žiniatinklio programos priekinė dalis, o kitame - galinė jos dalis. „Kubernetes“ automatizuoja, organizuoja, tvarko ir diegia jūsų konteinerius. Daugiau informacijos čia.

Google Kubernetes Engine | Google Cloud

3.3 „Google App Engine“ (GAE) – (PaaS)

GCP: „Google Cloud Platform Compute Stack“ analizė

6 pav.: Google App Engine (GAE) piktograma

Kaip minėta 2.2 skirsnyje, PaaS yra aukščiau IaaS, o GSP atveju jis taip pat gali būti laikomas pasiūlymu, viršijančiu GKE. GAE yra „Google“ pritaikytas „PaaS“ ir geriausiai save apibūdina „atsinešk savo kodą, o mes pasirūpinsime visa kita“.

Taip užtikrinama, kad klientams, naudojantiems GAE, nereikės susidurti su pagrindine aparatine / tarpine programine įranga ir jau gali turėti paruoštą naudoti iš anksto sukonfigūruotą platformą; jiems tereikia pateikti kodą, reikalingą jam paleisti.

GAE automatiškai apdoroja mastelio keitimą, kad atitiktų vartotojų apkrovą ir paklausą, o tai reiškia, kad jei jūsų gėlių pardavimo svetainė staiga pasiekia aukščiausią tašką dėl artėjančios Valentino dienos, GAE atliks pagrindinės infrastruktūros mastelį, kad atitiktų paklausą ir užtikrintų, kad jūsų svetainė nesustrigtų dėl padidėjusios paklausos. . Tai reiškia, kad mokate būtent už tuos išteklius, kurių tuo metu reikia jūsų programai.

GAE naudoja „Kubernetes“ arba jos savąją versiją, kad visa tai tvarkytų, todėl jums nereikės dėl to jaudintis. GAE geriausiai tinka įmonėms, kurios nesidomi pagrindine infrastruktūra ir rūpinasi tik tuo, kad jų programa būtų pasiekiama geriausiu įmanomu būdu.

Mano nuomone, GAE yra geriausia vieta pradėti, jei esate kūrėjas, turintis puikią idėją, bet nenorite susidoroti su serverių nustatymo, apkrovos balansavimo ir visų kitų daug laiko reikalaujančių devops / SRE darbų. . Laikui bėgant galėtumėte išbandyti GKE ir GCE, bet tai tik mano nuomonė.

Atsakomybės apribojimas: „AppEngine“ naudojama žiniatinklio programoms, o ne programoms mobiliesiems.

Informacijai: „App Engine“ – kurkite keičiamo dydžio žiniatinklio ir mobiliojo ryšio programas bet kuria kalba | Google Cloud

3.4 „Google“ debesies funkcijos – (FaaS)

GCP: „Google Cloud Platform Compute Stack“ analizė

7 pav.: Google Cloud Functions (GCF) piktograma

Tikimės, kad peržvelgę ​​ankstesnius pasiūlymus pastebėjote tendenciją. Kuo aukščiau lipate GCP skaičiavimo sprendimų kopėčiomis, tuo mažiau jums reikia nerimauti dėl pagrindinės technologijos. Ši piramidė baigiasi mažiausiu įmanomu skaičiavimo vienetu, funkcija, kaip parodyta 1 skyriuje.

GCF yra palyginti naujas GSP pasiūlymas, kuris vis dar yra beta versijos (šio rašymo metu). Debesų funkcijos leidžia suaktyvinti tam tikras kūrėjo parašytas funkcijas dėl įvykio.

Jie yra susiję su įvykiais ir yra populiariojo žodžio „be serverio“ šerdyje, o tai reiškia, kad jie nežino serverių. Debesų funkcijos yra labai paprastos ir turi daug skirtingų naudojimo būdų, kuriems reikia galvoti apie įvykius. Pavyzdžiui, kiekvieną kartą, kai užsiregistruoja naujas vartotojas, gali būti suaktyvinta debesies funkcija, įspėjanti kūrėjus.

Gamykloje, kai tam tikras jutiklis pasiekia tam tikrą vertę, jis gali suaktyvinti debesies funkciją, kuri apdoroja informaciją arba praneša kai kuriems priežiūros darbuotojams ir pan.

Debesų funkcijos – įvykiais pagrįsta serverio kompiuterija | Google Cloud

išvada

Šiame straipsnyje kalbėjome apie įvairius debesies pasiūlymus, pvz., IaaS, PaaS ir kt., ir kaip „Google“ skaičiavimo rinkinys įgyvendina šiuos skirtingus sluoksnius. Matėme, kad abstrakcijos sluoksniams pereinant iš vienos paslaugų kategorijos į kitą, pvz., IaaS Paas, reikia mažiau žinių apie pagrindinį.

Verslui tai suteikia ypatingo lankstumo, kuris ne tik atitinka veiklos tikslus, bet ir kitas pagrindines sritis, pvz., saugumą ir išlaidas. Apibendrinti:

Apskaičiuoti Variklis - leidžia susikurti savo virtualią mašiną, skiriant tam tikrus aparatinės įrangos resursus, pavyzdžiui, RAM, procesorių, atmintį. Tai taip pat gana praktiška ir žemo lygio.

Kubernetes variklis yra žingsnis į priekį nuo „Compute Engine“ ir leidžia naudoti „Kubernetes“ ir konteinerius programai tvarkyti, todėl galite ją padidinti pagal poreikį.

„App Engine“ yra „Kubernetes Engine“ žingsnis, leidžiantis sutelkti dėmesį tik į savo kodą, o „Google“ rūpinasi visais pagrindiniais platformos reikalavimais.

Debesų funkcijos yra skaičiavimo piramidės viršūnė, leidžianti parašyti paprastą funkciją, kurią paleidus, rezultatui apskaičiuoti ir grąžinti naudojama visa pagrindinė infrastruktūra.

Dėkojame už dėmesį!

Twitter: @martinomburajr

Šaltinis: www.habr.com

Добавить комментарий