GCP: Raščlamba Google Cloud Platform Computing Stack

Prijevod članka pripremljen je posebno za studente kolegija "Usluge u oblaku".

Jeste li zainteresirani za razvoj u ovom smjeru? Pogledajte snimku profesionalnog majstorskog tečaja "AWS EC2 usluga", koju je održao Egor Zuev - TeamLead u InBit-u i autor edukacijskog programa u OTUS-u.

GCP: Raščlamba Google Cloud Platform Computing Stack

Google Cloud Platform (GCP) nudi mnoge usluge, a posebno računalni skup koji sadrži Google Compute Engine (GCE), Google Kubernetes Engine (bivši Container Engine) (GKE), Google App Engine (GAE) i Google Cloud Functions (GCF). ). Sve ove usluge imaju zgodna imena, ali možda nisu sasvim očigledne njihove značajke i ono što ih čini jedinstvenima u odnosu jedne na drugu. Ovaj je članak namijenjen onima koji su novi u konceptima oblaka, posebice uslugama oblaka i GCP-u.

GCP: Raščlamba Google Cloud Platform Computing Stack

1. Računalni stog

Računalni skup može se smatrati slojevitom apstrakcijom onoga što računalni sustav može pružiti. Ovaj niz se penje (kreće gore) od "golog željeza" (samo metal) odnosi se na stvarne hardverske komponente računala, sve do funkcija (Funkcije), što je najmanja obračunska jedinica. Ono što je važno napomenuti u vezi sa stogom je da se usluge agregiraju kako se pomiču prema gore, kao što je odjeljak "aplikacije" (aplikacije) prikazano na slici 1 u nastavku treba sadržavati sve osnovne komponente spremnika (spremnici), virtualni strojevi (virtualni strojevi) i željezo. Na isti način, komponenta virtualnog stroja mora sadržavati hardver kako bi radila.

GCP: Raščlamba Google Cloud Platform Computing Stack

Slika 1: Računalni stog | Izvor slike Google Cloud

Ovaj model, prikazan na slici 1, osnova je za opisivanje ponuda pružatelja usluga oblaka. Dakle, neki pružatelji mogu pružiti samo npr. spremnike i usluge ispod kvalitete steka, dok drugi mogu pružiti sve što je prikazano na slici 1.

- Ako ste upoznati s uslugama u oblaku, idite na odjeljak 3za prikaz GCP ekvivalenta
- Ako želite samo sažetak usluga u oblaku, idite na odjeljak 2.4

2. Usluge u oblaku

Svijet računalstva u oblaku vrlo je raznolik. Cloud provideri nude mnoge usluge prilagođene različitim zahtjevima korisnika. Možda ste čuli za pojmove kao što su IaaS, PaaS, SaaS, FaaS, KaaS itd. sa svim slovima abecede iza kojih slijedi "aaS". Unatoč čudnoj konvenciji imenovanja, oni čine skup usluga pružatelja usluga oblaka. Tvrdim da postoje 3 glavne ponude "kao usluga" (kao usluga) koje pružatelji usluga oblaka gotovo uvijek pružaju.

To su IaaS, PaaS i SaaS, što označava infrastrukturu kao uslugu, platformu kao uslugu i softver kao uslugu. Važno je vizualizirati usluge u oblaku kao slojeve usluga. To znači da dok se krećete gore ili dolje s razine na razinu, vi, kao kupac, prolazite kroz različite opcije usluga koje su dodane ili uklonjene iz glavne ponude. Najbolje je zamisliti ovo kao piramidu, kao što je prikazano na slici 2.
GCP: Raščlamba Google Cloud Platform Computing Stack

Slika 2: AaS piramida | Izvor slike Ruby garaža

2.1 Infrastruktura kao usluga (IaaS)

Ovo je najniža razina koju pružatelj usluga u oblaku može ponuditi i uključuje pružatelja usluga u oblaku koji pruža golu infrastrukturu, uključujući međuware, mrežne kabele, procesore, GPU-ove, RAM, vanjsku pohranu, poslužitelje i slike osnovnog operativnog sustava. npr. Debian Linux, CentOS, Windows, itd.

Ako naručite ponudu od IaaS pružatelja usluga u oblaku, to je ono što biste trebali očekivati. Na vama je, kao kupcu, da sastavite ove dijelove za vođenje svog poslovanja. Opseg onoga s čime morate raditi može se razlikovati od dobavljača do dobavljača, ali općenito samo nabavite hardver i OS, a vi radite ostalo. Primjeri IaaS-a su AWS Elastic Compute, Microsoft Azure i GCE.

Nekim ljudima se možda neće svidjeti činjenica da moraju instalirati OS slike i baviti se umrežavanjem, balansiranjem opterećenja ili brinuti o tome koja je vrsta procesora idealna za njihovo radno opterećenje. Ovo je mjesto gdje se pomičemo piramidom do PaaS-a.

2.2 Platforma kao usluga (PaaS)

PaaS uključuje samo pružatelja usluga u oblaku koji nudi određenu platformu na kojoj korisnici mogu graditi aplikacije. To je apstrakcija u odnosu na IaaS, što znači da pružatelj usluga oblaka brine o svim pojedinostima vrsta CPU-a, memorije, RAM-a, pohrane, umrežavanja itd. Kao što je prikazano na slici 2, vi kao kupac imate malo kontrole nad stvarnim platformu jer pružatelj upravlja svim pojedinostima infrastrukture umjesto vas. Vi tražite odabranu platformu i gradite projekt na njoj. Primjer PaaS-a je Heroku.

Za neke je to možda previsoka razina, budući da on ne želi nužno izgraditi projekt na navedenoj platformi, već treba skup usluga izravno od pružatelja usluga u oblaku. Ovdje SaaS stupa na scenu.

2.3 Softver kao usluga (SaaS)

SaaS je najčešća usluga koju pružaju pružatelji usluga u oblaku. Namijenjeni su krajnjim korisnicima i uglavnom su dostupni putem web stranica kao što su Gmail, Google Docs, Dropbox itd. Što se tiče Google Clouda, postoji nekoliko ponuda izvan njihovog računalnog skupa koje su SaaS. To uključuje Data Studio, Big Query itd.

2.4 Sažetak usluga u oblaku

sastojci
IAA
PaaS
SaaS

Što dobivate
Dobivate infrastrukturu i plaćate u skladu s tim. Sloboda korištenja ili instaliranja bilo kojeg softvera, operativnog sustava ili njihove kombinacije.
Ovdje ćete dobiti ono što tražite. Softver, hardver, OS, web okruženje. Dobivate platformu spremnu za korištenje i plaćate u skladu s tim.
Ovdje ne morate brinuti ni o čemu. Dobivate unaprijed instalirani paket prilagođen vašim zahtjevima i morate samo platiti u skladu s tim.

Vrijednost
Osnovna razina informatike
Vrhunski IaaS
To je u biti kompletan paket usluga.

Tehničke poteškoće
Potrebno tehničko znanje
Dobivate osnovnu konfiguraciju, ali i dalje je potrebno poznavanje domene.
Nema potrebe zamarati se tehničkim detaljima. SaaS pružatelj pruža sve.

S čime radi
Virtualni strojevi, pohrana, poslužitelji, mreža, balanseri opterećenja itd.
Runtimes (kao što je java runtime), baze podataka (kao što su mySQL, Oracle), web poslužitelji (kao što je tomcat, itd.)
Aplikacije kao što su usluge e-pošte (Gmail, Yahoo mail, itd.), stranice za društvenu interakciju (Facebook, itd.)

Grafikon popularnosti
Popularno među visokokvalificiranim programerima, istraživačima koji zahtijevaju prilagodbu kako bi odgovarali njihovim zahtjevima ili području istraživanja
Najpopularniji kod programera jer se mogu usredotočiti na razvoj svojih aplikacija ili skripti. Ne moraju brinuti o učitavanju prometa ili upravljanju poslužiteljem itd.
Najpopularniji među općenitim potrošačima ili tvrtkama koje koriste softver poput e-pošte, dijeljenja datoteka, društvenih mreža jer ne moraju brinuti o tehničkim detaljima.

Slika 3: Sažetak glavnih ponuda oblaka | Slika ljubaznošću Amir na Blog Specia

3. Računalni paket Google Cloud Platform

Nakon što smo pogledali tipične ponude pružatelja usluga oblaka u odjeljku 2, možemo ih usporediti s ponudama Google Clouda.

3.1 Google Compute Engine (GCE) - IaaS

GCP: Raščlamba Google Cloud Platform Computing Stack

Slika 4: Ikona Google Compute Engine (GCE).

GCE je Googleova IaaS ponuda. S GCE-om možete slobodno kreirati virtualne strojeve, dodijeliti CPU i memorijske resurse, odabrati vrstu pohrane kao što je SSD ili HDD i količinu memorije. To je gotovo kao da sastavljate vlastito računalo/radnu stanicu i brinete se o svim detaljima kako ono radi.

U GCE-u možete birati između mikro instanci s 0,3-jezgrenim procesorima i 1 GB RAM-a do 96-jezgrenih čudovišta s preko 300 GB RAM-a. Također možete stvoriti virtualne strojeve prilagođene veličine za svoja radna opterećenja. Za one koje zanima, ovo su virtualni strojevi koje možete izgraditi.

Vrste strojeva | Dokumentacija Compute Engine | Google Cloud

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

GCP: Raščlamba Google Cloud Platform Computing Stack

Slika 5: Ikona Google Kubernetes Engine (GKE).

GKE je jedinstvena računalna ponuda GCP-a koja je apstrakcija u odnosu na Compute Engine. Općenitije, GKE se može kategorizirati kao spremnik kao usluga (CaaS), koji se ponekad naziva i Kubernetes kao usluga (KaaS), što korisnicima omogućuje jednostavno pokretanje svojih Docker spremnika u potpuno upravljanom Kubernetes okruženju. Za one koji nisu upoznati sa spremnicima, spremnici pomažu modularizirati usluge/aplikacije, tako da različiti spremnici mogu sadržavati različite usluge, na primjer, jedan spremnik može ugostiti sučelje vaše web aplikacije, a drugi može sadržavati njenu pozadinu. Kubernetes automatizira, koordinira, upravlja i postavlja vaše spremnike. Više informacija ovdje.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) - (PaaS)

GCP: Raščlamba Google Cloud Platform Computing Stack

Slika 6: Ikona Google App Engine (GAE).

Kao što je spomenuto u odjeljku 2.2, PaaS se nalazi iznad IaaS-a, au slučaju GCP-a, može se vidjeti i kao prijedlog iznad GKE-a. GAE je specijalizirani Google PaaS, a kako sami sebe najbolje opisuju, "donesite svoj kod, mi ćemo se pobrinuti za ostalo."

To osigurava da korisnici koji koriste GAE ne moraju imati posla s temeljnim hardverom/middlewareom i već mogu imati unaprijed konfiguriranu platformu spremnu za rad; sve što moraju učiniti je osigurati kod potreban za njegovo pokretanje.

GAE automatski upravlja skaliranjem kako bi zadovoljio opterećenje i potražnju korisnika, što znači da ako vaša cvjetna stranica iznenada dostigne vrhunac jer se bliži Valentinovo, GAE će upravljati skaliranjem temeljne infrastrukture kako bi zadovoljio potražnju i osigurao da vaša web stranica neće pasti zbog povećane potražnje . To znači da plaćate točno one resurse koji su trenutno potrebni vašoj aplikaciji.

GAE koristi Kubernetes ili njegovu ugrađenu verziju za sve to tako da ne morate brinuti o tome. GAE je najprikladniji za tvrtke koje nisu zainteresirane za temeljnu infrastrukturu i kojima je stalo samo do toga 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 poslom postavljanja poslužitelja, balansiranja opterećenja i svim ostalim devops/SRE poslovima koji oduzimaju puno vremena. S vremenom biste mogli isprobati GKE i GCE, ali to je samo moje mišljenje.

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

Za informaciju: App Engine - Izgradite skalabilne web i mobilne pozadine na bilo kojem jeziku | Google Cloud

3.4 Funkcije Google Clouda - (FaaS)

GCP: Raščlamba Google Cloud Platform Computing Stack

Slika 7: Ikona Google Cloud Functions (GCF).

Nadam se da ste uočili trend analizirajući prethodne prijedloge. Što se više penjete na ljestvici GCP Computinga, manje morate brinuti o temeljnoj tehnologiji. Ova piramida kulminira najmanjom mogućom jedinicom izračuna, funkcijom, kao što je prikazano u odjeljku 1.

GCF je relativno nova GCP ponuda koja je još uvijek u beta fazi (u vrijeme pisanja ovog teksta). Funkcije u oblaku omogućuju da se određene funkcije koje je napisao programer pokrenu nekim događajem.

Oni su vođeni događajima i u središtu su popularne riječi "bez poslužitelja", što znači da ne poznaju poslužitelje. Funkcije u oblaku vrlo su jednostavne i imaju mnogo različitih namjena koje zahtijevaju razmišljanje vođeno događajima. Na primjer, svaki put kada se novi korisnik registrira, funkcija oblaka može se pokrenuti da upozori programere.

U tvornici, kada određeni senzor dosegne određenu vrijednost, može pokrenuti funkciju oblaka koja vrši neku obradu informacija ili obavještava neko osoblje za održavanje itd.

Funkcije u oblaku - Poslužiteljsko računalstvo vođeno događajima | Google Cloud

Zaključak

U ovom smo članku govorili o različitim ponudama u oblaku kao što su IaaS, PaaS itd. i o tome kako skup Google Compute implementira te različite slojeve. Vidjeli smo da slojevi apstrakcije pri prelasku iz jedne kategorije usluge u drugu, kao što je IaaS u Paas, zahtijevaju manje znanja o podlozi.

Za tvrtku, ovo osigurava kritičnu fleksibilnost koja ne samo da ispunjava njegove operativne ciljeve, već također zadovoljava druga ključna područja kao što su sigurnost i troškovi. Ukratko:

Izračunaj motor - omogućuje vam stvaranje vlastitog virtualnog stroja dodjeljivanjem određenih hardverskih resursa, kao što su RAM, procesor, memorija. Također je prilično praktičan i niske razine.

Kubernetes Engine korak je naprijed u odnosu na Compute Engine, koji vam omogućuje korištenje Kubernetesa i spremnika za upravljanje vašom aplikacijom, omogućujući vam da je skalirate prema potrebi.

App Engine korak je naprijed u odnosu na Kubernetes Engine, omogućujući vam da se usredotočite samo na svoj kod, dok Google pruža sve zahtjeve temeljne platforme.

Funkcije oblaka je vrhunac računske piramide, omogućujući vam da napišete jednostavnu funkciju koja, kada se pokrene, koristi cijelu temeljnu infrastrukturu za izračunavanje i vraćanje rezultata.

Hvala vam!

Twitter: @martinomburajr

Izvor: www.habr.com

Dodajte komentar