GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Përkthimi i artikullit është përgatitur posaçërisht për studentët e kursit «Shërbimet e Cloud».

A është interesante të zhvillohesh në këtë drejtim? Shikoni regjistrimin e masterklasës profesionale «Shërbimi AWS EC2», e cila u mbajt nga Egor Zuev — TeamLead në kompaninë InBit dhe autor i programit edukativ në OTUS.

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Google Cloud Platform (GCP) ofron shumë shërbime, veçanërisht një grumbull llogaritës që përfshin Google Compute Engine (GCE), Google Kubernetes Engine (ndryshe — Container Engine) (GKE), Google App Engine (GAE) dhe Google Cloud Functions (GCF). Të gjitha këto shërbime kanë emra të bukur, por mund të mos jenë krejtësisht të qarta në lidhje me funksionet e tyre dhe atë që i bën ato unike për njëri-tjetrin. Ky artikull është i destinuar për ata që sapo po njohin konceptet cloud, sidomos shërbimet cloud dhe GCP.

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

1. Grumbulli llogaritës

Grumbulli llogaritës mund të konsiderohet si një abstrakt shumëniveli mbi atë që mund të ofrojë një sistem kompjuterik. Ky grumbull ngjitet (moves up) nga «metali i departamentit» (bare metal), që i referohet komponenteve të faktikshme harduerore të kompjuterit, deri në funksionet (functions), që përfaqëson njësinë më të vogël të llogaritjes. Gjë që është e rëndësishme të shënohet në lidhje me stekën është se shërbimet agregohen ndërsa lëvizin sipër stekës, për shembull, seksi 'aplikacione' (aplikacione), e paraqitur në figurën 1 më poshtë, duhet të përmbajë të gjitha komponentët bazë të konteinerëve (konteinerë), makinave virtuale (makinat virtuale) dhe harduerit. Po ashtu, komponenti i makinave virtuale duhet të përmbajë harduerin brenda për të funksionuar.

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Figura 1: Steka e llogaritjes | Imazhi është marrë nga Google Cloud

Ky model, i paraqitur në figurën 1, është baza për përshkrimin e ofertave nga ofruesit e shërbimeve të cloud. Prandaj, disa ofrues mund të ofrojnë vetëm, për shembull, konteinerë dhe shërbime në cilësi më të ulët në stekë, ndërsa të tjerë — gjithçka që është e paraqitur në figurën 1.

— Nëse jeni të njohur me shërbimet e cloud, kaloni në seksionin 3, për të njohur ekuivalentin GCP
— Nëse ju nevojitet vetëm një përmbledhje e shërbimeve të cloud, kaloni në seksionin 2.4

2. Shërbimet e cloud

Bota e computimit në cloud është shumë e shumëllojshme. Ofruesit e cloud-it ofrojnë një mori shërbimesh, të përshtatura për kërkesa të ndryshme të klientëve. Ndoshta keni dëgjuar për terma si IaaS, PaaS, SaaS, FaaS, KaaS, etj., me të gjitha shkronjat e alfabetit të ndjekura nga 'aaS'. Megjithëse kjo marrëveshje emërtimi duket e çuditshme, ata përbëjnë një grup shërbimesh të ofruara nga ofruesit e cloud-it. Mund të theksoj se ka 3 oferta kryesore 'si shërbim' (as a Service) që ofruesit e cloud-it i sigurojnë pothuajse gjithmonë.

Këto janë IaaS, PaaS dhe SaaS, që nënkuptojnë përkatësisht infrastrukturën si shërbim (Infrastructure as a Service), platformën si shërbim (Platform as a Service) dhe softuerin si shërbim (Software as a Service). Është e rëndësishme të vizualizoni shërbimet e cloud-it si nivele të shërbimeve të ofruara. Kjo do të thotë se kur ngjiteni ose zbritni nga një nivel në një tjetër, si klient, kaloni nëpër ndryshime të ndryshme të shërbimit, që ose shtohen ose hiqen nga oferta kryesore. Më e mira është ta shikoni këtë si një piramidë, siç ilustrohet në Figurën 2.
GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Figura 2: Piramida 'aaS' | Imazhi i marrë nga Ruby Garage

2.1 Infrastrukturë si Shërbim (IaaS)

Ky është niveli më i ulët që mund të ofrojë një ofrues shërbimesh në re, dhe përfshin ofruesin e llogaritjes në re që ofron infrastrukturën 'në gjendje të papërpunuar', duke përfshirë softuerin mesatar, kabllot rrjetë, procesorët, grafikët, memorien RAM, ruajtjen e jashtme, serverët dhe imazhet e sistemeve operative bazë, si Debian Linux, CentOS, Windows, etj.

Nëse porositni një ofertë IaaS nga një ofrues shërbimesh në re, ky është ajo që duhet të prisni të merrni. Ngarkesa e mbledhjes së këtyre pjesëve për menaxhimin e biznesit tuaj mbetet në duar tuaja, si klient. Shtresa me të cilën do të punoni mund të ndryshojë nga ofruesi në ofrues, por zakonisht ju thjesht merrni pajisjen dhe sistemin operativ, ndërsa detyra e tjetër është mbi ju. Disa shembuj të IaaS janë AWS Elastic Compute, Microsoft Azure dhe GCE.

Disa njerëz mund të mos e pëlqejnë idenë që duhet të instalojnë imazhe të sistemeve operative dhe të merrem me rrjetin, balancimin e ngarkesës ose të kujdesen për llojin e procesorit që është më i përshtatshmi për ngarkesat e tyre. Këtu ne kalojmë drejt PaaS.

2.2 Platforma si shërbim (PaaS)

PaaS përfshin vetëm ofruesin e shërbimeve në cloud që ofron një platformë të caktuar mbi të cilën përdoruesit mund të krijojnë aplikacione. Kjo është një abstrahim mbi IaaS, që do të thotë se ofruesi i cloud merr përsipër të gjitha detajet e tipave të CPU, kujtesës, RAM, ruajtjes, rrjeteve, etj. Siç ilustrohet në figurinë 2, ju si klient keni një kontroll të vogël mbi platformën reale, pasi ofruesi i cloud merret me të gjitha detajet e infrastrukturës për ju. Ju kërkoni platformën e zgjedhur dhe ndërtoni projektin mbi të. Disa shembuj të PaaS-it janë Heroku.

Për disa njerëz, kjo mund të duket një nivel shumë i lartë, pasi ata nuk duan patjetër të ndërtojnë një projekt mbi platformën e përcaktuar, por përkundrazi kanë nevojë për një grup shërbimesh drejtpërdrejt nga ofruesi i shërbimeve në cloud. Këtu hyn në skenë SaaS.

2.3 Softueri si shërbim (SaaS)

SaaS përfaqëson shërbimet më të zakonshme që ofrohen nga ofruesit e shërbimeve në cloud. Ato janë të destinuara për përdoruesit finalë dhe janë të arritshme kryesisht nëpërmjet faqeve në internet, si Gmail, Google Docs, Dropbox etj. Sa i përket Google Cloud, ka disa oferta përtej stakut të tyre të llogaritjes, të cilat janë SaaS. Këtu përfshihen Data Studio, Big Query etj.

2.4 Përmbledhja e shërbimeve në cloud

Pjesët komponentë
IaaS
PaaS
SaaS

Çfarë merrni
Merrni infrastrukturën dhe paguani në përputhje. Liri për të përdorur ose instaluar çdo software, sistem operativ ose kombinim të tyre.
Këtu merrni atë që kërkoni. Software, harduer, sistem operativ, mjedis në web. Merrni një platformë të gatshme për përdorim dhe paguani në përputhje.
Këtu nuk keni nevojë të shqetësoheni për asgjë. Ju sigurohet një paketë e parakonfiguruar sipas kërkesave tuaja, dhe thjesht duhet të paguani në përputhje.

Vlera
Niveli themelor i llogaritjes
Krahu i sipërm të IaaS
Ky është në thelb një paketë e plotë shërbimesh

Vështirësitë teknike
Kërkohen njohuri teknike
Ju përkrahni një konfigurim bazik, por ende nevojiten njohuri në fushën përkatëse.
Nuk keni nevojë të shqetësoheni për detajet teknike. Furnizuesi SaaS ofron gjithçka.

Me çfarë punon
Makinat virtuale, ruajtjet, serverët, rrjeti, balancuesit e ngarkesës, etj.
Mjediset e ekzekutimit (si java runtime), bazat e të dhënave (si mySQL, Oracle), serverët web (si tomcat, etj.)
Aplikacione si shërbimet e postës (Gmail, Yahoo mail, etj.), faqet e mediave sociale (Facebook, etj.)

Grafiku i popullaritetit
Popullor mes zhvilluesve të avancuar, hulumtuesve që kërkojnë përshtatje të personalizuar sipas nevojave të tyre ose fushës së hulumtimit.
Më popullor mes zhvilluesve, pasi ata mund të përqendrohen në zhvillimin e aplikacioneve ose skripteve të tyre. Ata nuk kanë nevojë të shqetësohen për ngarkesën e trafikut apo menaxhimin e serverit, etj.
Më popullor mes konsumatorëve të zakonshëm ose kompanive që përdorin softuer, si posta elektronike, ndarjet e skedarëve, rrjetet sociale, pasi ata nuk kanë nevojë të shqetësohen për detajet teknike.

Figura 3: Përmbledhje e ofertave kryesore të cloud-it | Imazhi është siguruar Amir në Blog Specia

3. Paketa e Llogaritjes Google Cloud Platform

Duke shqyrtuar ofertat tipike të ofruesve të cloud-it në seksionin 2, ne mund të krahasojmë ato me ofertat e Google Cloud.

3.1 Google Compute Engine (GCE) — IaaS

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Figura 4: Ikona e Google Compute Engine (GCE)

GCE është një ofertë IaaS nga Google. Me GCE, mund të krijoni lirisht makina virtuale, të shpërndani burimet e CPU dhe RAM-it, të zgjidhni tipin e ruajtjes, si SSD ose HDD, dhe gjithashtu kapacitetin e memories. Është pothuajse sikur të keni ndërtuar kompjuterin tuaj/zyrën tuaj dhe të merret me të gjitha detajet e funksionimit të saj.

Në GCE, mund të zgjidhni nga instancat mikro me procesorë 0.3-bërthamash dhe 1 GB RAM deri te monstrat 96-bërthamash me mbi 300 GB RAM. Ju gjithashtu mund të krijoni makina virtuale në përmasa të personalizuara për ngarkesat tuaja pune. Për ata që janë të interesuar — këto janë makina virtuale që mund t'i ndihmoni të ndërtoni.

Tipet e makinave | Dokumentacioni i Compute Engine | Google Cloud

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

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Figura 5: Ikona e Google Kubernetes Engine (GKE)

GKE është një zgjidhje unike llogaritëse nga GCP, që shërben si një abstraksion mbi Compute Engine. Në një kuptim më të gjerë, GKE mund të përfshihet në kategorinë 'Kontenier si Shërbim' (CaaS), ndonjëherë e njohur si 'Kubernetes si Shërbim' (KaaS), e cila u lejon klientëve të lëshojnë lehtësisht kontenierët e tyre Docker në një mjedis të menaxhuar plotësisht nga Kubernetes. Për ata që nuk janë të njohur me kontenierët, kontenierët ndihmojnë në ndërtimin modular të shërbimeve/aplikacioneve, duke bërë që kontenierë të ndryshëm të mund të përmbajnë shërbime të ndryshme; për shembull, një kontenier mund të strehojë ndërfaqen e aplikacionit tuaj në web, ndërsa një tjetër mund të përmbajë pjesën e tij serverike. Kubernetes merr përsipër automatizimin, koordinimin, menaxhimin dhe lëshimin e kontenierëve tuaj. Më shumë informacion këtu.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) — (PaaS)

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Figura 6: Ikona e Google App Engine (GAE)

Siç u përmend në seksionin 2.2, PaaS është mbi IaaS, dhe në rastin e GCP, gjithashtu mund të konsiderohet si një ofertë mbi GKE. GAE është një PaaS i specializuar nga Google, dhe siç e përshkruajnë më mirë ata vetë — 'shtyni kodin tuaj, dhe ne do të kujdesemi për gjithçka tjetër'.

Kjo garanton që klientët që përdorin GAE nuk duhet të merren me harduerin ose softuerin e ndërmjetëm bazë, dhe tashmë mund të kenë një platformë të parakonfiguruar, të gatshme për t'u përdorur; gjithçka që duhet të bëjnë është të ofrojnë kodin e nevojshëm për ta bërë atë të funksionojë.

GAE automatizon përpunimin e shkallëzimit për të përmbushur ngarkesën dhe kërkesën nga përdoruesit, që do të thotë se nëse faqja juaj e internetit që shiti lule papritur arrin në një pikë maksimale, sepse po afrohet Dita e Shën Valentinit, GAE do të trajtojë shkallëzimin e infrastrukturës bazë për të përmbushur këtë kërkesë dhe për të garantuar se faqja juaj e internetit nuk do të bjerë për shkak të kërkesës së rritur. Kjo do të thotë se paguani pikërisht për burimet që aplikacioni juaj ka nevojë në atë moment.

GAE përdor Kubernetes ose versionin e saj të integruar për të përballuar të gjitha këto, në mënyrë që ju të mos keni nevojë të shqetësoheni për të. GAE është më e përshtatshme për kompanitë që nuk janë të interesuara për infrastrukturën bazë dhe kujdesen vetëm për të siguruar që aplikacioni i tyre të jetë në dispozicion në mënyrën më të mirë të mundshme.

Sipas mendimit tim, GAE është vendi më i mirë për të filluar nëse jeni zhvillues me një ide të shkëlqyer, por nuk dëshironi të merremi me punën rutinë të konfigurimit të serverëve, balancimin e ngarkesës dhe të gjitha punët e tjera të lodhshme të devops/SRE. Me kalimin e kohës, mund të provoni GKE dhe GCE, por kjo është vetëm mendimi im.

Kufizimi: AppEngine përdoret për aplikacione web, jo për aplikacione celulare.

Për njohje: App Engine — Krijoni blloqe të shkallëzueshme për web dhe celular në çdo gjuhë | Google Cloud

3.4 Funksionet e Google Cloud — (FaaS)

GCP: Analiza e stack-ut të llogarive Google Cloud Platform

Figura 7: Ikona e Funksioneve të Google Cloud (GCF)

Shpresoj se keni vënë re tendencën, duke analizuar propozimet e mëparshme. Sa më lart të ngjiteni në shkallën e zgjidhjeve të llogaritjes GCP, aq më pak duhet të shqetësoheni për teknologjitë bazë. Kjo piramidë përfundon me njësinë më të vogël të mundshme të llogaritjes, funksionin, siç tregohet në seksionin 1.

GCF është një propozim relativisht i ri i GCP, i cili është ende në fazën e provës (në momentin e shkrimit të këtij artikulli). Funksionet e reja në cloud lejojnë që funksione të caktuara të shkruara nga zhvilluesi të aktivizohen nga ndonjë ngjarje.

Ato menaxhohen nga ngjarjet dhe janë në themel të fjalës moderne "pa server", pra nuk i dinë serverët. Funksionet në re janë shumë të thjeshta dhe kanë shumë aplikime të ndryshme që kërkojnë një mendim të orientuar nga ngjarjet. Për shembull, sa herë që një përdorues i ri regjistrohet, mund të aktivizohet një funksion në re për të njoftuar zhvilluesit.

Në fabrikë, kur një sensor i caktuar arrin një vlerë të caktuar, ai mund të aktivizojë një funksion në re që kryen disa përpunime informacioni, ose njofton disa staf të shërbimit, etj.

Funksionet në re — llogaritje serveri të menaxhuara nga ngjarjet | Google Cloud

Përfundimi

Në këtë artikull folëm për ofertat e ndryshme në re, si IaaS, PaaS, etj., dhe si staku i llogaritjeve të Google zbatohet në këto nivele të ndryshme. Përjetuam se nivelet e abstraksionit ndërmjet kalimit nga një kategori shërbimesh në tjetrën, si nga IaaS në PaaS, kërkojnë më pak njohuri për teknologjinë në themel.

Për biznesin, kjo ofron fleksibilitet kritik, që jo vetëm përmbush objektivat operative, por gjithashtu adreson fusha të tjera kyçe, si siguria dhe kostoja. Duke e përmbledhur:

Compute Engine — ju lejon të krijoni makinën tuaj virtuale, duke rezervuar burime specifike harduerike si RAM, procesor, memorie. Është gjithashtu mjaft praktik dhe në nivel të ulët.

Kubernetes Engine — është një hap më lart krahasuar me Compute Engine, i cili ju lejon të përdorni Kubernetes dhe kontejnerët për të menaxhuar aplikacionin tuaj, duke e mundësuar atë të shkallëzohet sipas nevojës.

App Engine — është një hap më lart krahasuar me Kubernetes Engine, që ju lejon të përqendroheni vetëm në kodin tuaj, ndërsa Google siguron të gjitha kërkesat e infrastrukturës bazë.

Cloud-Functions — është maja e piramidës së llogaritjes, duke lejuar të shkruani një funksion të thjeshtë, i cili, kur aktivizohet, përdor të gjithë infrastrukturën themelore për llogaritje dhe kthimin e rezultatit.

Faleminderit për vëmendjen!

Twitter: @martinomburajr

Burimi: habr.com

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster