GCP: Analiza računalnog stoga Google Cloud Platforme

Prijevod članka pripremljen je posebno za studente tečaja «Cloud usluge».

Zanima vas razvoj u ovom smjeru? Pogledajte snimku profesionalnog masterclassa «AWS EC2 usluga», koji je održao Egor Zuev — TeamLead u kompaniji InBit i autor edukativnog programa u OTUS-u.

GCP: Analiza računalnog stoga Google Cloud Platforme

Google Cloud Platform (GCP) nudi brojne usluge, a posebno računalni stak koji sadrži Google Compute Engine (GCE), Google Kubernetes Engine (ranije — Container Engine) (GKE), Google App Engine (GAE) i Google Cloud Functions (GCF). Sve te usluge imaju sjajne nazive, ali njihova funkcija i ono što ih čini jedinstvenima u odnosu jedni na druge može biti manje očito. Ovaj članak je namenjen onima koji se prvi put upoznaju s konceptima oblaka, posebno s uslugama u oblaku i GCP-om.

GCP: Analiza računalnog stoga Google Cloud Platforme

1. Računalni stak

Računalni stak se može smatrati višeslojnim apstrakcijskim slojem onoga što računalni sustav može pružiti. Ovaj stak se uzdiže (moves up) od "gole hardvera" (bare metal), koji se odnosi na stvarne hardverske komponente računala, do funkcija (functions), koje predstavljaju najmanju jedinicu računanja. Ono što je važno napomenuti u vezi sa stakom je to da se usluge agregiraju dok se kreću prema gore kroz stak, na primjer, odjeljak "aplikacije" (apps), prikazan na slici 1 ispod, trebao bi sadržavati sve osnovne komponente kontejnera (kontejneri), virtualnih mašina (virtual machines) i hardvera. Na sličan način, komponenta virtualnih mašina bi trebala sadržavati hardver unutar sebe za rad.

GCP: Analiza računalnog stoga Google Cloud Platforme

Slika 1: Računalni stak | Slika preuzeta iz Google Cloud

Ovaj model, prikazan na slici 1, osnova je za opisivanje ponuda pružatelja usluga u oblaku. Na taj način, neki pružatelji mogu nuditi samo, na primjer, kontejnere i usluge ispod kvalitete kroz stak, dok drugi nude sve što je prikazano na slici 1.

— Ako ste upoznati s uslugama u oblaku, idite na odjeljak 3, kako biste se upoznali s ekvivalentom GCP-a
— Ako vam je potrebna samo sažetak o uslugama u oblaku, idite na odjeljak 2.4

2. Usluge u oblaku

Svijet oblačnih računalnih usluga je vrlo raznolik. Oblačni davatelji nude brojne usluge prilagođene različitim zahtjevima klijenata. Vjerojatno ste čuli za pojmove kao što su IaaS, PaaS, SaaS, FaaS, KaaS itd. s svim slovima abecede koja slijede 'aaS'. Unatoč neobičnoj konvenciji imenovanja, oni čine skup usluga oblačnih davatelja. Primijetio sam da postoje 3 osnovne ponude 'kao usluga' (as a Service) koje oblačni davatelji gotovo uvijek pružaju.

To su IaaS, PaaS i SaaS, što označava infrastrukturu kao uslugu (Infrastructure as a Service), platformu kao uslugu (Platform as a Service) i softver kao uslugu (Software as a Service). Važno je vizualizirati oblačne usluge kao razine pruženih usluga. To znači da kada se penjete ili spuštate s razine na razinu, kao klijent, prelazite različite opcije usluga koje se ili dodaju ili uklanjaju iz osnovne ponude. Najbolje je to gledati kao piramidu, kao što je prikazano na slici 2.
GCP: Analiza računalnog stoga Google Cloud Platforme

Slika 2: Piramida 'aaS' | Izvor slike Ruby Garage

2.1 Infrastruktura kao usluga (IaaS)

To je najniža razina koju može ponuditi davatelj oblačnih usluga, a uključuje oblačnog davatelja koji isporučuje 'golu' infrastrukturu, uključujući posrednički softver, mrežne kabele, procesore, grafičke procesore, radnu memoriju, pohranu, servere i slike osnovnih operativnih sustava, poput Debian Linuxa, CentOS-a, Windowsa itd.

Ako naručite IaaS ponudu od oblačnog davatelja, to je ono što trebate očekivati. Na vama je, kao klijentu, da sastavite te dijelove za vođenje svog poslovanja. Stepen s kojom ćete raditi može se razlikovati od davatelja do davatelja, ali općenito, jednostavno dobivate hardver i OS, dok je ostalo na vama. Primjeri IaaS-a uključuju AWS Elastic Compute, Microsoft Azure i GCE.

Nekim ljudima možda se neće svidjeti činjenica da moraju instalirati slike OS-a i brinuti se o mreži, balansiranju opterećenja ili razmišljati o tome koji tip procesora savršeno odgovara njihovom radnom opterećenju. Ovdje se penjemo uz piramidu prema PaaS-u.

2.2 Platforma kao usluga (PaaS)

PaaS uključuje samo pružatelja oblaka koji nudi određenu platformu na kojoj korisnici mogu stvarati aplikacije. Ovo je apstrakcija iznad IaaS-a, što znači da pružatelj oblaka preuzima sve detalje o vrstama CPU-a, memorije, RAM-u, pohrani, mrežama itd. Kao što je prikazano na slici 2, vi kao klijent imate malo kontrole nad stvarnom platformom, jer pružatelj oblaka brine o svim detaljima infrastrukture umjesto vas. Vi zahtijevate odabranu platformu i gradite projekt na njoj. Primjeri PaaS-a su Heroku.

Za nekoga to može biti previše visoka razina, jer on ne želi nužno sastavljati projekt na navedenoj platformi, već mu treba skup usluga izravno od pružatelja oblaka. Tu se pojavljuje SaaS.

2.3 Softver kao usluga (SaaS)

SaaS predstavlja najčešće usluge koje pružaju pružatelji oblaka. Namijenjene su krajnjim korisnicima i dostupne su uglavnom putem web stranica, kao što su Gmail, Google Docs, Dropbox itd. Što se tiče Google Clouda, postoji nekoliko ponuda izvan njihovog računalnog skladišta koje su SaaS. To uključuje Data Studio, Big Query itd.

2.4 Sažetak o oblaku uslugama

Sastojci
IaaS
PaaS
SaaS

Što dobivate
Dobivate infrastrukturu i plaćate sukladno. Slobodu korištenja ili instaliranja bilo kojeg softvera, operativnog sustava ili njihove kompozicije.
Ovdje dobivate ono što tražite. Softver, hardware, operativni sustav, web okruženje. Dobivate gotovu platformu i plaćate sukladno.
Ovdje se ne morate brinuti ni o čemu. Dobivate unaprijed instalirani paket prilagođen vašim zahtjevima, a samo trebate platiti sukladno.

Vrijednost
Osnovna razina računalstva
Vrh IaaS-a
To je u suštini potpuni paket usluga

Tehničke složenosti
Potrebno je tehničko znanje
Dobivate osnovnu konfiguraciju, ali još uvijek je potrebno znanje iz područja.
Nema potrebe zamarati se tehničkim pojedinostima. Pružatelj SaaS-a osigurava sve.

S čime radi
Virtualne mašine, pohrane, serveri, mreža, ravnoteže opterećenja itd.
Izvršna okruženja (kao što je java runtime), baze podataka (kao što su mySQL, Oracle), web serveri (kao što je tomcat itd.)
Aplikacije poput usluga e-pošte (Gmail, Yahoo mail itd.), web stranica za društvenu interakciju (Facebook itd.)

Graf popularnosti
Popularno među visoko kvalificiranim programerima i istraživačima kojima je potrebna prilagodba prema njihovim zahtjevima ili području istraživanja
Najpopularnije među programerima, jer se mogu fokusirati na razvoj svojih aplikacija ili skripti. Ne trebaju brinuti o prometu ili upravljanju poslužiteljem itd.
Najpopularnije među običnim potrošačima ili tvrtkama koje koriste softver poput e-pošte, razmjene datoteka, društvenih mreža, jer se ne trebaju brinuti o tehničkim detaljima

Slika 3: Sažetak osnovnih oblaka ponuda | Slika je pružena Amir at Blog Specia

3. Google Cloud Platform računski paket

Razmatrajući tipične ponude pružatelja oblaka u odjeljku 2, možemo ih uskladiti s ponudama Google Clouda.

3.1 Google Compute Engine (GCE) — IaaS

GCP: Analiza računalnog stoga Google Cloud Platforme

Slika 4: Ikona Google Compute Engine (GCE)

GCE je IaaS ponuda od Googlea. S GCE možete slobodno stvarati virtualne strojeve, raspoređivati procesorske i memorijske resurse, birati tip pohrane, kao što su SSD ili HDD, kao i količinu memorije. To je gotovo kao da ste izgradili vlastiti računar/radnu stanicu i bavite se svim detaljima njenog rada.

U GCE možete birati od mikro instanci s 0,3 jezgri procesora i 1 GB RAM-a do 96-jezgrenih monstruma s više od 300 GB RAM-a. Također možete stvarati virtualne strojeve prilagođenih veličina za svoje radne opterećenja. Za one koji su zainteresirani — to su virtualni strojevi koje možete sastaviti.

Tipovi strojeva | Dokumentacija Compute Engine | Google Cloud

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

GCP: Analiza računalnog stoga Google Cloud Platforme

Slika 5: Ikona Google Kubernetes Engine (GKE)

GKE je jedinstvena 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 nazivanu „Kubernetes kao usluga“ (KaaS), koja omogućava korisnicima da lako pokrenu svoje Docker kontejnere u potpuno upravljanom Kubernetes okruženju. Za one koji nisu upoznati sa kontejnerima, kontejneri pomažu modularno oblikovati usluge/aplikacije, tako 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čunalnog stoga Google Cloud Platforme

Slika 6: Ikona Google App Engine (GAE)

Kao što je spomenuto u odjeljku 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 sami najbolje opisuju — „donesite svoj kod, a mi ćemo se pobrinuti za sve ostalo“.

To osigurava da klijenti koji koriste GAE ne moraju se suočavati s temeljnim hardverom/posredničkim softverom, te već mogu imati unaprijed konfiguriranu platformu spremnu za rad; sve što trebaju učiniti je dostaviti kod potreban za pokretanje.

GAE automatski upravlja skaliranjem kako bi zadovoljio opterećenje i potražnju korisnika, što znači da, ako vaša stranica za prodaju cvijeća naglo dosegne vrhunac jer se bliži Dan zaljubljenih, GAE će upravljati skaliranjem temeljne infrastrukture kako bi zadovoljila potražnju i osigurala da vaša web stranica ne padne zbog povećane potražnje. To znači da plaćate samo za one resurse koji su vašoj aplikaciji potrebni u tom trenutku.

GAE koristi Kubernetes ili njegov ugrađeni verziju da se nosi sa svim tim, tako da se vi ne morate brinuti o tome. GAE je najbolje prilagođen za tvrtke koje nisu zainteresirane za temeljnu infrastrukturu i brinu se samo o tome da njihova aplikacija bude dostupna na najbolji mogući način.

Po mom mišljenju, GAE je najbolje mjesto za početak ako ste programer s odličnom idejom, ali ne želite se baviti rutinskim poslovima kao što su postavljanje poslužitelja, balansiranje opterećenja i sve druge radne zadaće koje zahtijevaju tempo devops/SRE. S vremenom biste mogli isprobati GKE i GCE, ali to je samo moje mišljenje.

Odricanje: AppEngine se koristi za web aplikacije, a ne za mobilne aplikacije.

Za upoznavanje: App Engine - Stvarajte skalabilne web i mobilne backendove na bilo kojem jeziku | Google Cloud

3.4 Google Cloud Functions - (FaaS)

GCP: Analiza računalnog stoga Google Cloud Platforme

Slika 7: Ikona Google Cloud Functions (GCF)

Nadam se da ste primijetili tendenciju dok ste analizirali prethodne ponude. Što više napredujete na ljestvici računalnih rješenja GCP-a, to manje trebate brinuti o osnovnim tehnologijama. Ova piramida završava najmanjom mogućom jedinicom računanja, funkcijom, kao što je prikazano u odjeljku 1.

GCF je relativno nova ponuda GCP-a koja je još uvijek u beta fazi (u trenutku pisanja ovog članka). Funkcije u oblaku omogućuju sporadično pokretanje određenih funkcija koje je napisao programer, temeljenih na nekim događajima.

One su upravljane događajima i leže u osnovi popularnog izraza 'bez poslužitelja', tj. ne znaju za poslužitelje. Funkcije u oblaku su vrlo jednostavne i imaju mnogo različitih primjena koje zahtijevaju razmišljanje o događajima. Na primjer, svaki put kada se novi korisnik registrira, može se pokrenuti funkcija u oblaku kako bi upozorila programere.

U tvornici, kada određeni senzor postigne određenu vrijednost, može pokrenuti funkciju u oblaku koja obrađuje neke informacije ili obavještava određeno osoblje za održavanje itd.

Funkcije u oblaku - upravljane događajima poslužiteljske računalne jedinice | Google Cloud

Zaključak

U ovom članku razgovarali smo o različitim ponudama oblaka, kao što su IaaS, PaaS itd., i kako Googleov kapacitet implementira te različite razine. Vidjeli smo da razine apstrakcije prilikom prelaska iz jedne kategorije usluga u drugu, na primjer iz IaaS-a u PaaS, zahtijevaju manje znanja o osnovnim tehnologijama.

Za poslovanje to pruža kritičnu fleksibilnost koja ne samo da ispunjava njegove operativne ciljeve, već također zadovoljava i druga ključna područja, kao što su sigurnost i trošak. Ukratko:

Compute Engine — omogućuje vam da stvorite vlastitu virtualnu mašinu dodjeljujući određene hardverske resurse, poput RAM-a, procesora i pohrane. Također je dovoljno praktičan i niskonadmašan.

Kubernetes Engine — to je korak više u odnosu na Compute Engine, koji vam omogućuje korištenje Kubernetesa i kontejnera za upravljanje vašom aplikacijom, dopuštajući vam da je skalirate prema potrebi.

App Engine — to je korak više od Kubernetes Engine, omogućujući vam da se usredotočite samo na svoj kod, dok Google osigurava sve osnovne zahtjeve platforme.

Cloud-Functions — to je vrhunac računalne piramide, omogućujući vam da napišete jednostavnu funkciju koja, kada se pokrene, koristi svu temeljnu infrastrukturu za izračunavanje i vraćanje rezultata.

Hvala na pažnji!

Twitter: @martinomburajr

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster