Përkthimi i artikullit është përgatitur veçanërisht për studentët e kursit .
A është interesante të zhvilloheni në këtë drejtim? Shikoni regjistrimin e masterclass-it profesional , i drejtuar nga Egor Zuev — TeamLead në kompaninë InBit dhe autor i programit arsimor në OTUS.

Google Cloud Platform (GCP) ofron shumë shërbime, dhe në veçanti një stack llogaritar që përfshin Google Compute Engine (GCE), Google Kubernetes Engine (më parë — Container Engine) (GKE), Google App Engine (GAE) dhe Google Cloud Functions (GCF). Të gjitha këto shërbime kanë emra të mahnitshëm, por mund të mos jenë plotësisht të qarta në lidhje me funksionet e tyre dhe atë që i bën ato unike në relacion me njëri-tjetrin. Ky artikull është i destinuar për ata që sapo po nisin të njihet me konceptet e cloud-it, në veçanti me shërbimet e cloud-it dhe GCP.

1. Stack-u llogaritar
Stack-u llogaritar mund të konsiderohet si një abstraksion shumënivël mbi atë që mund të ofrojë një sistem kompjuterik. Ky stack ngjitet (moves up) nga "hardueri i papërpunuar" (bare metal), i referohet komponenteve reale harduerike të kompjuterit, deri në funksionet (functions), të cilat përbëjnë njësinë më të vogël të llogaritjes. Një gjë e rëndësishme për t'u theksuar në lidhje me stack-un është se shërbimet agregohen duke u ngjitur në stack, për shembull, seksioni i "aplikacioneve" (apps), i treguar në figurën 1 më poshtë, duhet të përmbajë të gjitha komponentët bazë të kontejnerëve (containers), makinave virtuale (virtual machines) dhe harduerit. Po ashtu, komponenti i makinave virtuale duhet të përmbajë harduerin brenda për të funksionuar.

Figura 1: Stack-u llogaritar | Imazhi i marrë nga
Ky model, i paraqitur në figurën 1, është baza për përshkrimin e ofertave nga ofruesit e cloud-it. Prandaj, disa ofrues mund të ofrojnë vetëm, për shembull, kontejnerë dhe shërbime më poshtë me cilësi të ulët në stack, ndërsa të tjerë — gjithçka që është treguar në figurën 1.
— Nëse jeni të njohur me shërbimet e cloud-it, kaloni te seksioni 3, për të njohur ekuivalentin GCP
— Nëse ju nevojitet vetëm një përmbledhje mbi shërbimet e cloud-it, kaloni te seksioni 2.4
2. Shërbimet e cloud-it
Bota e kompjuterëve në re është shumë e larmishme. Ofruesit e shërbimeve në re ofrojnë një mori shërbimesh, të përshtatura për kërkesat e ndryshme të klientëve. E mundshme është që të keni dëgjuar për terma si IaaS, PaaS, SaaS, FaaS, KaaS etj. me të gjitha shkronjat e alfabetit, pas të cilave ndodhet «aaS». Pavarësisht nga kjo marrëveshje e çuditshme emërtimi, ato formojnë një grup shërbimesh të ofruesve të shërbimeve në re. Po theksoj se ka 3 oferta kryesore «si shërbim» (as a Service), që ofruesit e shërbimeve në re i ofrojnë pothuajse gjithmonë.
Këto janë IaaS, PaaS dhe SaaS, që përfaqësojnë 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ë visualizoni shërbimet në re si nivele shërbimesh të ofruara. Kjo do të thotë se kur ngjiteni ose zbresni nga një nivel në tjetrin, ju, si klient, kaloni nëpër opsione të ndryshme shërbimi, të cilat shtohen ose hiqen nga oferta themelore. Më mirë e konsideroni këtë si një piramidë, siç është treguar në figurën 2.

Fig 2: Piramida «aaS» | Imazhi është marrë nga
2.1 Infrastrukturë si shërbim (IaaS)
Ky është niveli më i ulët që një ofrues i shërbimeve në re mund të ofrojë, dhe përfshin një ofrues të kompjuterëve në re, që furnizon një infrastrukturë ‘të zbrazët’, përfshirë softuerin e mesëm, kabllot rrjetë, procesorët, grafikët, memorien RAM, magazinimin e jashtëm, serverët dhe imazhet e sistemeve operative bazë si Debian Linux, CentOS, Windows etj.
Nëse porositni një ofertë IaaS nga një ofrues i shërbimeve në re, ky është ai që duhet të prisni të merrni. Ju si klient mbetet të lidhni këto pjesë për të udhëhequr biznesin tuaj. Shkalla e asaj me të cilën do t'ju duhet të punoni mund të ndryshojë nga ofruesi në ofrues, por zakonisht, ju thjesht merrni pajisjet dhe sistemin operativ, ndërsa pjesa tjetër mbetet në duar tuaja. Disa shembuj të IaaS përfshijnë AWS Elastic Compute, Microsoft Azure dhe GCE.
Disa njerëz mund të mos e pëlqejnë faktin që duhet të instalojnë imazhet e sistemeve operative dhe të merren me rrjetin, balancimin e ngarkesës ose të kujdesen për llojin e procesorit që është ideal për ngarkesën e tyre të punës. Këtu fillojmë të ngjitemi në piramidë drejt PaaS.
2.2 Platforma si shërbim (PaaS)
PaaS përfshin vetëm një ofrues shërbimesh në cloud, që ofron një platformë të caktuar mbi të cilën përdoruesit mund të krijojnë aplikacione. Kjo është një abstraksion mbi IaaS, që do të thotë se ofruesi i cloud merr përsipër të gjitha detajet e llojeve të CPU, memorjes, RAM-it, ruajtjes, rrjeteve etj. Siç tregohet në figurën 2, ju si klient keni 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 tuaj të zgjedhur dhe ndiheni në ndërtimin e projektit. Shembuj të PaaS janë Heroku.
Për dikë, kjo mund të jetë një nivel shumë i lartë, pasi nuk dëshiron domosdoshmërish të ndërtojë një projekt mbi atë platformë, por ka nevojë për një grup shërbimesh drejtpërdrejt nga ofruesi i shërbimeve të cloud. Këtu hyn në lojë SaaS.
2.3 Softi si shërbim (SaaS)
SaaS përfaqëson shërbimet më të zakonshme të ofruara nga ofruesit e shërbimeve në cloud. Ato janë të destinuara për përdoruesit e fundit dhe kryesisht janë të aksesueshme përmes faqeve të internetit, si Gmail, Google Docs, Dropbox etj. Sa i përket Google Cloud, ka disa oferta jashtë grumbullit të tyre të llogaritur që janë SaaS. Këtu përfshihen Data Studio, Big Query etj.
2.4 Përmbledhje mbi shërbimet në cloud
Komponentët
IaaS
PaaS
SaaS
Çfarë merrni
Merrni infrastrukturën dhe paguani përkatësisht. Lirinë për të përdorur ose instaluar çdo softuer, sistem operativ ose kombinimin e tyre.
Këtu merrni atë që kërkoni. Softin, harduerin, sistemin operativ, mjedisin web. Merrni një platformë të gatshme për t'u përdorur dhe paguani përkatësisht.
Këtu nuk ka nevojë të shqetësoheni për asgjë. Ju ofrohet një paketë e parainstaluar e konfiguruar sipas kërkesave tuaja, dhe ju mbetet vetëm të paguani përkatësisht.
Vlera
Niveli bazë i llogaritjeve
Majtas IaaS
Në thelb, ky është një paketë shërbimesh e plotë
Vështirësitë teknike
Njohuri teknike të nevojshme
Ju ofrohet një konfigurim bazë, por ende nevojiten njohuri të fushës.
Nuk ka nevojë të shqetësoheni për detajet teknike. Ofruesi 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 e uebit (si tomcat etj.)
Aplikacione si shërbimet e postës elektronike (Gmail, Yahoo mail etj.), faqet e rrjeteve sociale (Facebook etj.)
Grafiku i popullaritetit
Popullor mes zhvilluesve me përvojë të lartë dhe kërkuesve që kërkojnë personalizim në përputhje me kërkesat e tyre ose fushën e kërkimit
Më i njohur 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 ngarkimin e trafikut apo menaxhimin e serverëve etj.
Më i populluar mes konsumatorëve të zakonshëm ose kompanive që përdorin softuer si posta elektronike, shkëmbimi i skedarëve, rrjetet sociale, pasi ata nuk kanë nevojë të shqetësohen për detajet teknike
Figura 3: Përmbledhje e ofertave kryesore të reja në oblake | Imazh i ofruar
3. Paketa e llogaritjes Google Cloud Platform
Duke shqyrtuar ofertat tipike të ofruesve të reja të oblakeve në seksionin 2, ne mund të krahasojmë ato me ofertat e Google Cloud.
3.1 Google Compute Engine (GCE) — IaaS

Figura 4: Ikona Google Compute Engine (GCE)
GCE është një ofertë IaaS nga Google. Me GCE, ju mund të krijoni me liri makina virtuale, të shpërndani resurset e procesorit dhe memories, të zgjidhni llojin e ruajtjes, si SSD ose HDD, si dhe kapacitetin e memories. Praktikisht është si të krijoni kompjuterin tuaj të ndihmës/riparimit dhe të merreni me të gjitha detajet e funksionimit të tij.
Në GCE, ju mund të zgjidhni nga instancat mikro me procesorë 0.3-deri në 1 GB RAM deri në monstrumet 96-bërthamorë me më shumë se 300 GB RAM. Ju gjithashtu mund të krijoni makina virtuale të dimensioneve të personalizuara për ngarkesat tuaja të punës. Për ata që janë të interesuar — këto janë makina virtuale që mund të ndërtoni.
3.2. Google Kubernetes Engine (GKE) — (Caas / Kaas)

Figura 5: Ikona Google Kubernetes Engine (GKE)
GKE — është një ofertë unike llogaritëse nga GCP, e cila paraqet një abstraksion mbi Compute Engine. Më në një kuptim më të gjerë, GKE mund të klasifikohet në kategorinë 'Kontejner si Shërbim' (CaaS), ndonjëherë e quajtur 'Kubernetes si Shërbim' (KaaS), e cila lejon klientët të fillojnë lehtësisht kontejnerët e tyre Docker në një mjedis të plotë të menaxhuar Kubernetes. Për ata që nuk janë të njohur me kontejnerët, kontejnerët ndihmojnë në ndërtimin modular të shërbimeve/aplikacioneve, kështu që kontejnerët e ndryshëm mund të përmbajnë shërbime të ndryshme; për shembull, një konteiner mund të hostojë ndërfaqen e aplikacionit tuaj web, ndërsa një tjetër mund të përmbajë pjesën e tij server. Kubernetes kryen automatizimin, koordinimin, menaxhimin dhe shpërndarjen e kontejnerëve tuaj. Më shumë informacion këtu.
3.3 Google App Engine (GAE) — (PaaS)

Figura 6: Ikona e Google App Engine (GAE)
Siç u përmend në seksionin 2.2, PaaS ndodhet mbi IaaS, dhe në rastin e GCP mund të konsiderohet gjithashtu si një ofertë mbi GKE. GAE është një PaaS i specializuar nga Google, dhe siç e përshkruajnë ata më së miri vetveten — 'çoni kodin tuaj, dhe ne do të kujdesemi për gjithçka tjetër'.
Kjo siguron që klientët që përdorin GAE nuk duhet të merren me hardware-in/themelen e softuerit, dhe tashmë mund të kenë një platformë të paracaktuar gati për t'u përdorur; gjithçka që duhet të bëjnë është të sigurojnë kodin e nevojshëm për ta aktivizuar.
GAE automatikisht menaxhon shkallëzimin për të përmbushur ngarkesën dhe kërkesën e përdoruesve, që do të thotë se nëse web-faqja juaj, që shet lule, papritur arrin një kulm, sepse po afrohet Dita e Shën Valentinit, GAE do të menaxhojë shkallëzimin e infrastrukturës themelore për të përmbushur kërkesën dhe për të siguruar që web-faqja juaj të mos bjerë për shkak të rritjes së kërkesës. Kjo do të thotë se paguani pikërisht për burimet që kërkon aplikacioni juaj në atë moment.
GAE përdor Kubernetes ose versionin e tij të integruar për të u përballur me gjithçka, kështu që ju nuk duhet të shqetësoheni për këtë. GAE është më e përshtatshme për kompanitë që nuk janë të interesuara në infrastrukturën themelore dhe shqetësohen vetëm për të siguruar që aplikacioni i tyre të jetë sa më i aksesueshëm.
Sipas mendimit tim, GAE është vendi më i mirë për t'u nisur, nëse je zhvillues me një ide të shkëlqyer, por nuk dëshiron të merresh me punët e zakonshme të konfigurimit të serverëve, balancimit të ngarkesës dhe të gjithë punëve të tjera të lodhshme të devops/SRE. Me kalimin e kohës, mund të provosh GKE dhe GCE, por kjo është vetëm mendimi im.
Kërcënimi: AppEngine përdoret për aplikacione web, jo për aplikacione mobile.
Për t'u njohur:
3.4 Google Cloud Functions - (FaaS)

Figura 7: Ikona e Google Cloud Functions (GCF)
Shpresoj se keni vënë re një tendencë duke analizuar propozimet e mëparshme. Sa më lart që ngjiteni në shkallët e zgjidhjeve të llogarive GCP, aq më pak duhet të shqetësoheni për teknologjitë themelore. Kjo piramidë përfundon me unitetin më të vogël të mundshëm të llogarive, funksionin, siç është e paraqitur në seksionin 1.
GCF është një propozim relativisht i ri i GCP që ende ndodhet në fazën e beta-testimit (në momentin e shkruarjes së këtij artikulli). Funksionet në cloud lejojnë që funksione të caktuara, të shkruara nga zhvilluesi, të ekzekutohen nga ndonjë ngjarje.
Ato administrohen nga ngjarjet dhe qëndrojnë në thelb të fjalës moderne "pa server", domethënë nuk dinë për serverët. Funksionet në cloud janë shumë të thjeshta dhe kanë shumë aplikime të ndryshme që kërkojnë mendësi ngjarjesh. Për shembull, sa herë që një përdorues i ri regjistrohet, mund të aktivizohet një funksion në cloud për të njoftuar zhvilluesit.
Në fabrikë, kur një sensor i caktuar arrin një vlerë të caktuar, ai mund të aktivizojë një funksion në cloud që kryen disa përpunime informacioni, ose njofton disa stafe të shërbimit etj.
Përfundim
Në këtë artikull ne folëm për propozime të ndryshme në cloud, siç janë IaaS, PaaS etj., dhe si Google implementon këto nivele të ndryshme të llogarive. Ne pamë se nivelet e abstarctës ndërsa kalojmë nga një kategori shërbimesh në një tjetër, si nga IaaS në PaaS, kërkojnë më pak njohuri mbi bazën.
Për bizneset, kjo ofron një fleksibilitet të rëndësishëm që jo vetëm plotëson qëllimet operative të saj, por gjithashtu përmbush disa fusha kyçe të tjera, si siguria dhe kostoja. Përmbledhësisht:
Compute Engine — ju lejon të krijoni makinën tuaj virtuale, duke alokuar burime specifike harduerike, siç janë RAM, procesori, memoria. Është gjithashtu mjaft praktik dhe me nivel të ulët.
Kubernetes Engine — është një hap më lart krahasuar me Compute Engine, që ju lejon të përdorni Kubernetes dhe kontejnerë për menaxhimin e aplikacionit tuaj, duke lejuar që të bëni skalimin nëse është e nevojshme.
App Engine — është një hap më lart krahasuar me Kubernetes Engine, duke ju lejuar të fokusoheni vetëm në kodin tuaj, ndërsa Google siguron të gjitha kërkesat e platformës bazë.
Cloud-Functions — është maja e piramidës së llogaritjes, duke lejuar që të shkruani një funksion të thjeshtë, i cili kur aktivizohet përdor tërë infrastrukturën e bazës për të llogaritur dhe kthyer rezultatin.
Faleminderit për vëmendjen!
Twitter:
Burimi: habr.com
