GCP: Analiza računarskog sklopa Google Cloud Platforme

Prevod članka je pripravljen posebej za študente tečaja «Oblačne storitve».

Vas zanima razvoj na tem področju? Oglejte si posnetek profesionalne delavnice «AWS EC2 storitev», ki jo je vodil Egor Zuev — vodja ekipe v podjetju InBit in avtor izobraževalnega programa v OTUS.

GCP: Analiza računarskog sklopa Google Cloud Platforme

Google Cloud Platform (GCP) ponuja številne storitve, vključno z računalniškim skladom, 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 cool imena, vendar morda niso tako očitne glede svojih funkcij in tega, kar jih dela edinstvene med seboj. Ta članek je namenjen tistim, ki se šele spoznavajo z oblačnimi koncepti, zlasti z oblačnimi storitvami in GCP.

GCP: Analiza računarskog sklopa Google Cloud Platforme

1. Računalniški sklad

Računalniški sklad lahko gledamo kot na večplastno abstrakcijo nad tem, kar lahko ponudi računalniški sistem. Ta sklad se dviga (moves up) od „golega strojne opreme“ (bare metal), ki se nanaša na dejanske strojne komponente računalnika, do funkcij (functions), ki predstavljajo najmanjšo enoto računalništva. Pomembno je omeniti, da se storitve agregirajo, ko se premikamo navzgor po skladu, na primer oddelek „aplikacije“ (apps), prikazan na sliki 1 spodaj, naj bi vseboval vse osnovne komponente kontejnerjev (kontejnerji), virtualnih strojev (virtual machines) in strojne opreme. Na enak način bi moral komponent virtualnih strojev vsebovati strojno opremo znotraj za delovanje.

GCP: Analiza računarskog sklopa Google Cloud Platforme

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

Ta model, prikazan na sliki 1, je osnova za opisovanje ponudb oblačnih ponudnikov. Tako nekateri ponudniki morda ponujajo le, na primer, kontejnerje in storitve nižje kakovosti na skladu, drugi pa vse, kar je prikazano na sliki 1.

— Če ste seznanjeni z oblačnimi storitvami, preidite na oddelek 3, da se seznanite z ekvivalentom GCP
— Če potrebujete le povzetek oblačnih storitev, preidite na oddelek 2.4

2. Oblačne storitve

Svet oblačnih računalništva je zelo raznolik. Oblačni ponudniki nudijo številne storitve, prilagojene različnim potrebam strank. Morda ste že slišali za izraze, kot so IaaS, PaaS, SaaS, FaaS, KaaS itd., ki jih vsa črka abecede spremlja 'aaS'. Kljub nenavadni konvenciji poimenovanja te tvorijo nabor storitev oblačnih ponudnikov. Ugotavljam, da obstajajo 3 osnovne ponudbe 'kot storitev' (as a Service), ki jih oblačni ponudniki skoraj vedno zagotavljajo.

To so IaaS, PaaS in SaaS, ki v prevodu pomenijo infrastrukturo kot storitev (Infrastructure as a Service), platformo kot storitev (Platform as a Service) in programsko opremo kot storitev (Software as a Service). Pomembno je vizualizirati oblačne storitve kot ravni ponudbe storitev. To pomeni, da ko se vzpenjate ali spuščate po ravni, kot stranka prečkate različne možnosti oskrbe, ki se dodajajo ali odstranjujejo iz osnovne ponudbe. Najbolje je to obravnavati kot piramido, kot je prikazano na sliki 2.
GCP: Analiza računarskog sklopa Google Cloud Platforme

Slika 2: Piramida 'aaS' | Slika pridobljena iz Ruby Garage

2.1 Infrastruktura kot storitev (IaaS)

To je najnižja raven, ki jo lahko ponudi ponudnik oblačnih storitev, in vključuje ponudnika oblačnih računalništva, ki dobavlja 'golo' infrastrukturo, vključno z vmesnim programsko opremo, mrežnimi kabli, procesorji, grafičnimi procesorji, pomnilnikom, zunanjim shranjevanjem, strežniki in slikami osnovnih operacijskih sistemov, na primer Debian Linux, CentOS, Windows itd.

Če naročite ponudbo IaaS pri ponudniku oblačnih storitev, je to tisto, kar bi morali pričakovati. Na vas, kot stranki, ostane sestavljanje teh delov za upravljanje vašega podjetja. Obseg, s katerim boste delali, se lahko razlikuje od ponudnika do ponudnika, vendar na splošno preprosto dobite strojno opremo in OS, ostalo pa je odvisno od vas. Primeri IaaS vključujejo AWS Elastic Compute, Microsoft Azure in GCE.

Nekaterim ljudem morda ni všeč, da morajo namestiti slike OS in se ukvarjati z omrežjem, uravnoteževingom obremenitev ali se spraševati, kateri tip procesorja je najbolj primeren za njihovo delovno obremenitev. Tukaj se premikamo navzgor po piramidi k PaaS.

2.2 Platforma kot storitev (PaaS)

PaaS vključuje le ponudnika oblačnih storitev, ki ponuja določeno platformo, na kateri lahko uporabniki razvijajo aplikacije. Gre za abstrakcijo nad IaaS, kar pomeni, da ponudnik oblak prevzema vse podrobnosti glede tipov CPU, pomnilnika, RAM-a, shranjevanja, omrežja itd. Kot je prikazano na sliki 2, imate vi kot stranka malo nadzora nad dejansko platformo, saj oblačni ponudnik obravnava vse podrobnosti infrastrukture namesto vas. Zahtevate izbrano platformo in na njej gradite projekt. Primeri PaaS so Heroku.

Za nekatere je to lahko preveč visok nivo, saj ne želijo nujno graditi projekta na določeni platformi, temveč potrebujejo nabor storitev neposredno od ponudnika oblačnih storitev. Tukaj stopi v ospredje SaaS.

2.3 Programska oprema kot storitev (SaaS)

SaaS predstavlja najbolj razširjene storitve, ki jih nudijo ponudniki oblačnih storitev. Namenjene so končnim uporabnikom in so na voljo predvsem prek spletnih strani, kot so Gmail, Google Docs, Dropbox itd. Kar zadeva Google Cloud, obstaja več ponudb izven njihovega računalniškega sklada, ki so SaaS. Sem spadajo Data Studio, Big Query itd.

2.4 Povzetek oblačnih storitev

Sestavine
IaaS
PaaS
SaaS

Kaj dobite
Dobite infrastrukturo in plačate ustrezno. Svobodo uporabe ali namestitve kateregakoli programske opreme, operacijskega sistema ali njune kombinacije.
Tukaj dobite tisto, kar zahtevate. Programsko opremo, strojno opremo, operacijski sistem, spletno okolje. Dobite platformo, ki jo lahko takoj uporabite, in plačate ustrezno.
Tukaj se vam ni treba ničesar skrbeti. Na voljo vam je prednastavljen paket, prilagojen vašim zahtevam, in samo še ustrezno plačate.

Vrijednost
Osnovna raven računalništva
Vrh IaaS
To je v bistvu popoln paket storitev

Tehnične zapletenosti
Potrebno je tehnično znanje
Imate osnovno konfiguracijo, vendar so še vedno potrebna strokovna znanja.
Ni potrebe po skrbi za tehnične podrobnosti. Ponudnik SaaS zagotavlja vse.

S čim deluje
Virtualni stroji, shranjevanje, strežniki, omrežje, obremenitveni uravnavači itd.
Izvedbene okolje (kot je java runtime), baze podatkov (kot sta mySQL, Oracle), spletni strežniki (kot so tomcat itd.)
Aplikacije poput e-mail servisa (Gmail, Yahoo mail itd.), sajtova za društveno umrežavanje (Facebook itd.)

Grafik popularnosti
Popularno među visoko kvalifikovanim programerima, istraživačima kojima je potrebna prilagodba prema njihovim zahtevima ili oblasti istraživanja
Najpopularnije među programerima, jer se mogu fokusirati na razvoj svojih aplikacija ili skripti. Ne moraju brinuti o opterećenju saobraćaja ili upravljanju serverom itd.
Najpopularnije među običnim korisnicima ili kompanijama koje koriste softver poput e-maila, razmena datoteka, društvenih mreža, jer im ne treba briga o tehničkim detaljima

Slika 3: Sažetak osnovnih oblaka ponuda | Slika obezbeđena Amir na Blog Specia

3. Računarski paket Google Cloud Platform

Poredeći tipične ponude provajdera oblaka iz odeljka 2, možemo ih uporediti sa ponudama Google Cloud-a.

3.1 Google Compute Engine (GCE) — IaaS

GCP: Analiza računarskog sklopa Google Cloud Platforme

Slika 4: Ikona Google Compute Engine (GCE)

GCE je IaaS ponuda od Google-a. Sa GCE-om možete slobodno kreirati virtuelne mašine, raspodeliti resurse procesora i memorije, birati tip skladišta kao što su SSD ili HDD, kao i količinu memorije. To je gotovo kao da ste kreirali svoj vlastiti računar/radnu stanicu i brinuli se o svim detaljima njegovog rada.

U GCE-u možete birati od mikro instanci sa 0,3-jezgrenim procesorima i 1 GB RAM-a do 96-jezgrenih monstruma sa više od 300 GB RAM-a. Takođe možete praviti virtuelne mašine nestandardne veličine za svoje radne opterećenja. Za one koje to zanima — to su virtuelne mašine koje možete sastaviti.

Tipovi mašina | Dokumentacija Compute Engine | Google Cloud

3.2. Google Kubernetes Engine (GKE) — (CaaS / KaaS)

GCP: Analiza računarskog sklopa Google Cloud Platforme

Slika 5: Ikona Google Kubernetes Engine (GKE)

GKE je unikatna računalna ponuda od GCP-a koja predstavlja apstrakciju nad Compute Engine-om. U širem smislu, GKE se može svrstati u kategoriju "Kontejner kao usluga" (CaaS), ponekad nazvanu "Kubernetes kao usluga" (KaaS), koja klijentima olakšava pokretanje njihovih Docker kontejnera u potpuno upravljanom Kubernetes okruženju. Za one koji nisu upoznati s kontejnerima, kontejneri pomažu modularno oblikovati usluge/aplikacije, što znači da različiti kontejneri mogu sadržavati različite usluge, na primjer, jedan kontejner može sadržavati sučelje vaše web aplikacije, dok drugi može sadržavati njezin serverski dio. Kubernetes automatizira, koordinira, upravlja i raspoređuje vaše kontejnere. Više informacija ovdje.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) — (PaaS)

GCP: Analiza računarskog sklopa Google Cloud Platforme

Slika 6: Ikona Google App Engine (GAE)

Kao što je spomenuto u poglavlju 2.2, PaaS se nalazi iznad IaaS-a, a u slučaju GCP-a može se smatrati i ponudom iznad GKE-a. GAE je specijalizirani Google PaaS, a kako su najbolje opisali sami — "donosite svoj kod, a mi ćemo se pobrinuti za sve ostalo".

To osigurava da klijenti koji koriste GAE ne moraju se baviti osnovnim hardverom/posredničkim softverom i već mogu imati unaprijed konfiguriranu platformu spremnu za rad; sve što trebaju učiniti jest pružiti kod potreban za njegovu funkciju.

GAE automatski upravlja skaliranjem kako bi zadovoljio opterećenje i potražnju korisnika, što znači da, ako vaša web stranica koja prodaje cvijeće iznenada dosegne vrhunac zbog približavanja Valentinova, GAE će se pobrinuti za skaliranje osnovne infrastrukture kako bi zadovoljio potražnju i osigurao da vaša web stranica ne padne zbog povećane potražnje. To znači da plaćate samo za resurse koji su potrebni vašoj aplikaciji u tom trenutku.

GAE koristi Kubernetes ili njegovu ugrađenu verziju kako bi se nosio sa svim tim, tako da se vi ne morate brinuti o tome. GAE je najbolje prilagođen tvrtkama koje nisu zainteresirane za osnovnu infrastrukturu i brinu se samo o tome da njihova aplikacija bude najbolje dostupna.

Po mojem mnenju je GAE najboljši začetek, če ste razvijalec z odlično idejo, vendar nočete opravljati rutinskega dela z nastavljanjem strežnikov, uravnoteženjem obremenitev in vsemi drugimi zamudnimi devops/SRE nalogami. Sčasoma bi morda preizkusili GKE in GCE, a to je le moje mnenje.

Omejitev odgovornosti: AppEngine se uporablja za spletne aplikacije, ne pa za mobilne aplikacije.

Za spoznavanje: App Engine — Ustvarite razširljive spletne in mobilne backende v katerem koli jeziku | Google Cloud

3.4 Google Cloud Functions — (FaaS)

GCP: Analiza računarskog sklopa Google Cloud Platforme

Slika 7: Ikona Google Cloud Functions (GCF)

Upam, da ste opazili trend, ko ste analizirali prejšnje trditve. Višje ko se povzpnete po lestvici računalniških rešitev GCP, manj skrbi imate glede osnovnih tehnologij. Ta piramida se konča z najmanjšo možno enoto računalništva, funkcijo, kot je prikazano v poglavju 1.

GCF je relativno nova ponudba GCP, ki je še vedno v beta fazi (ob času pisanja tega članka). Oblačne funkcije omogočajo, da se določene funkcije, napisane s strani razvijalca, zaženejo ob nekem dogodku.

Upravljajo jih dogodki in so osnova za modro besedo 'brez strežnikov', torej ne poznajo strežnikov. Oblačne funkcije so zelo enostavne in imajo številne različne aplikacije, ki zahtevajo razmišljanje o dogodkih. Na primer, vsakič, ko se nov uporabnik registrira, se lahko zažene oblačna funkcija, da obvesti razvijalce.

V tovarni, ko določen senzor doseže določeno vrednost, lahko sproži oblačno funkcijo, ki izvaja obdelavo informacij ali obvešča določeno vzdrževalno osebje itd.

Oblačne funkcije — upravljani dogodki strežniškega računalništva | Google Cloud

Zaključek

V tem članku smo govorili o različnih oblačnih ponudbah, na primer IaaS, PaaS itd., in kako Googleov računalniški kup implementira te različne ravni. Videli smo, da ravni abstrakcije pri prehodu iz ene kategorije storitev v drugo, na primer iz IaaS v PaaS, zahtevajo manj znanja o osnovi.

Za podjetje to zagotavlja kritično fleksibilnost, ki ne le izpolnjuje njegove operativne cilje, temveč tudi zadostuje drugim ključnim področjem, kot sta varnost in stroški. Na kratko:

Compute Engine — vam omogućava da kreirate svoju vlastitu virtualnu mašinu, dodeljujući određene hardverske resurse, poput RAM-a, procesora, memorije. Takođe je prilično praktičan i niskonivojski.

Kubernetes Engine — je korak iznad Compute Engine, što vam omogućava korišćenje Kubernetesa i kontejnera za upravljanje vašom aplikacijom, skalirajući je po potrebi.

App Engine — je korak iznad Kubernetes Engine, omogućavajući vam da se fokusirate samo na svoj kod, dok Google osigurava sve osnovne zahteve platforme.

Cloud-Functions — je vrhunac računarske piramide, omogućavajući vam da napišete jednostavnu funkciju koja, kada se pokrene, koristi celu osnovnu infrastrukturu za izračunavanje i vraćanje rezultata.

Hvala za pozornost!

Twitter: @martinomburajr

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster