Artikli tĂ”lge on ette valmistatud spetsiaalselt kursuse ĂŒliĂ”pilastele .
Kas on huvitav selles suunas areneda? Vaadake professionaalse meistrikursuse salvestust , mille viis lĂ€bi EĐłĐŸŃ ĐŃĐ”ĐČ â InBit'i meeskonna juht ja OTUS'e haridusprogrammi autor.

Google Cloud Platform (GCP) pakub mitmeid teenuseid, sealhulgas arvutusstack'i, mis sisaldab Google Compute Engine (GCE), Google Kubernetes Engine (varem â Container Engine) (GKE), Google App Engine (GAE) ja Google Cloud Functions (GCF). KĂ”ik need teenused omavad Ă€gedaid nimetusi, kuid vĂ”ivad olla mitte tĂ€iesti selged oma funktsioonide osas ja selle osas, mis teeb nad ĂŒksteisest ainulaadseteks. See artikkel on mĂ”eldud neile, kes tutvuvad pilve kontseptsioonidega, eriti pilveteenustega ja GCP-ga.

1. Arvutusstack
Arvutusstack'i vĂ”ib kĂ€sitleda kui mitmeastmelist abstraktsiooni selle ĂŒle, mida arvutisĂŒsteem suudab pakkuda. See stack tĂ”useb (moves up) âpaljast rauastâ (bare metal), mis viitab tĂ”elistele arvutikomponentidele, kuni funktsioonideni (functions), mis on arvutamise vĂ€ikseim ĂŒhik. Oluline on mĂ€rkida, et stackis teenused kogunevad, kui liikuda ĂŒles poole, nĂ€iteks jaotises ârakendusedâ (apps), mis on kujutatud alloleval joonisel 1, peaks sisaldama kĂ”iki konteinerite (containers), virtuaalmasinate (virtual machines) ja rauda baaskomponente. Samamoodi peab virtuaalmasina komponent sisaldama rauda, et töötada.

Joonis 1: Arvutusstack | Pilt on saadud
See mudel, nagu on nÀidatud joonisel 1, on aluseks pilvepakkujate pakkumiste kirjeldamiseks. SeetÔttu vÔivad mÔned pakkujad pakkuda vaid nÀiteks konteinerite ja madalama kvaliteediga teenuseid stack'is, teised aga kÔike, mis on kujutatud joonisel 1.
â Kui olete pilveteenustega tuttav, liikuge jaotisse 3, et tutvuda GCP vastava osaga
â Kui vajate lihtsalt kokkuvĂ”tet pilveteenustest, liikuge jaotisse 2.4
2. Pilveteenused
Pilvearvutite maailm on vÀga mitmekesine. Pilveteenuse pakkujad pakuvad hulgaliselt teenuseid, mis on kohandatud klientide erinevatele vajadustele. VÔib-olla olete kuulnud sellistest terminoloogiatest nagu IaaS, PaaS, SaaS, FaaS, KaaS jne, mille taga on «aaS». Kuigi nimetamise konventsioon vÔib tunduda veider, moodustavad nad pilveteenuste pakkujate teenuste komplekti. TÔden, et on olemas 3 pÔhiteenust, mida pilveteenuse pakkujad peaaegu alati pakuvad.
Need on IaaS, PaaS ja SaaS, mis tĂ€hendavad vastavalt infrastruktuuri kui teenust (Infrastructure as a Service), platvormi kui teenust (Platform as a Service) ja tarkvara kui teenust (Software as a Service). On oluline visualiseerida pilveteenuseid kui teenuste tasemeid. See tĂ€hendab, et kui liigute ĂŒles vĂ”i alla tasemete vahel, ĂŒletate erinevaid teenuse variante, mida kas lisatakse vĂ”i eemaldatakse pĂ”hiteenusest. Parim on seda kĂ€sitleda pĂŒramiidina, nagu on nĂ€idatud joonisel 2.

Joonis 2: «aaS» pĂŒramiid | Pilt saadud
2.1 Infrastruktuur kui teenus (IaaS)
See on madalaim tase, mida pilveteenuse pakkuja saab pakkuda, ja see hĂ”lmab pilvearvutuse pakkujat, kes tarnib âalustavaâ infrastruktuuri, sealhulgas vahendustarkvara, vĂ”rgu kaableid, protsessoreid, graafikaprotsessoreid, mĂ€lu, vĂ€list salvestust, servereid ja pĂ”hikĂ€itusĂŒsteemide pilte, nagu Debian Linux, CentOS, Windows jne.
Kui tellite pilveteenuse pakkujalt IaaS pakkumise, siis see on see, mida peaksite ootama. Teie, kui kliendi, kohustus on kokku panna need osad oma Ă€ri juhtimiseks. Tase, millega peate töötama, vĂ”ib varieeruda pakkujast pakkujani, kuid tavaliselt saate lihtsalt riistvara ja opsĂŒsteemi, kĂ”ik muu jÀÀb teie ĂŒlesandeks. IaaS nĂ€ideteks on AWS Elastic Compute, Microsoft Azure ja GCE.
MĂ”nedel inimestel ei pruugi meeldida, et nad peavad installima opsĂŒsteemide pilte ja tegelema vĂ”rgustikuga, koormuse tasakaalustamisega vĂ”i muretsema selle ĂŒle, milline protsessor sobib nende töökoormustega ideaalselt. Just siin liigume tagasi pĂŒramiidi jĂ€rgmiseks tasemeks, PaaS.
2.2 Platvorm kui teenus (PaaS)
PaaS hĂ”lmab ainult pilveteenuse pakkujat, kes pakub kindlat platvormi, millel kasutajad saavad rakendusi luua. See on IaaS-i ĂŒle abstraktsioon, mis tĂ€hendab, et pilveteenuse pakkuja vĂ”tab endale kĂ”ik detailid, sealhulgas CPU, mĂ€lu, RAM, salvestus, vĂ”rgud jne. Nagu on nĂ€idatud joonisel 2, on teil, kui kliendil, vaid vĂ€ike kontroll reaalse platvormi ĂŒle, kuna pilveteenuse pakkuja tegeleb kĂ”igi infrastruktuuri detailidega teie eest. Te kĂŒsitakse valitud platvormi ja kogute sellel projekti. PaaS-i nĂ€ideteks on Heroku.
MÔne jaoks vÔib see olla liiga kÔrge tase, kuna ta ei pruugi soovi koguda projekti mÀÀratud platvormil, vaid pigem vajab teenuste kogumit otse pilveteenuse pakkujalt. Siin tuleb mÀngu SaaS.
2.3 Tarkvara kui teenus (SaaS)
SaaS hÔlmab kÔige levinumaid teenuseid, mida pakuvad pilveteenuse pakkujad. Need on mÔeldud lÔppkasutajatele ja on peamiselt saadaval veebisaitide kaudu, nÀiteks Gmail, Google Docs, Dropbox jne. Mis puutub Google Cloudi, siis on mitmeid pakkumisi vÀljaspool nende arvutustehnoloogia virna, mis on SaaS. Nendeks on Data Studio, Big Query jne.
2.4 Ălevaade pilveteenustest
Komponendid
IaaS
PaaS
SaaS
Mida te saate
Te saate infrastruktuuri ja maksate vastavalt. Vabadus kasutada vĂ”i installida mis tahes tarkvara, operatsioonisĂŒsteemi vĂ”i nende kompositsiooni.
Siin saate seda, mida palute. Tarkvara, riistvara, operatsioonisĂŒsteem, veebikeskkond. Saate valmisoleku platvormi ja maksate vastavalt.
Siin ei pea te millegi pÀrast muretsema. Teile antakse teie nÔuete kohaselt eelnevalt paigaldatud pakett ja peate lihtsalt maksma vastavalt.
TĂ€hendus
PÔhitaseme arvutused
IaaS-i tipp
See on tegelikult terviklik teenuste pakett
Tehnilised keerukused
Vajalikud on tehnilised teadmised
Teile antakse baas konfiguratsioon, kuid vajalikud on endiselt valdkonna teadmised.
Te ei pea muretsema tehniliste detailide ĂŒle. SaaS-i pakkuja pakub kĂ”ike.
Millega te töötate
Virtuaalsed masinad, salvestus, serverid, vÔrgud, koormuse tasakaalustajad jne.
Teostuskeskkonnad (nt Java runtime), andmebaasid (nt MySQL, Oracle), veebiserverid (nt Tomcat jne)
Rakendused, nagu e-posti teenused (Gmail, Yahoo mail jne), sotsiaalse suhtluse saidid (Facebook jne)
Populaarsuse graafik
Populaarne kÔrgelt kvalifitseeritud arendajate, teadlaste seas, kellele on vajalik kohandamine vastavalt nende nÔudmistele vÔi teadusvaldkonnale
Populaarne arendajate seas, kuna nad saavad keskenduda oma rakenduste vÔi skriptide arendamisele. Neil ei pea olema muret liikluskoormuse vÔi serveri haldamise pÀrast jne.
Populaarne tavaliste tarbijate vÔi ettevÔtete seas, kes kasutavad tarkvara nagu e-post, failivahetusteenused, sotsiaalmeedia, kuna nad ei pea muretsema tehniliste detailide pÀrast
Joonis 3: Oluliste pilveteenuste kokkuvÔte | Pilt on esitatud
3. Google Cloud Platformâi arvutuspakett
Vaatledes tĂŒĂŒpilisi pilveteenuste pakkujate pakkumisi jaotises 2, saame need seostada Google Cloud'i pakkumistega.
3.1 Google Compute Engine (GCE) â IaaS

Joonis 4: Google Compute Engine (GCE) ikoon
GCE on Google'i IaaS pakkumine. GCE abil saate vabalt luua virtuaalmasinaid, jaotada töötlusvĂ”ime ja mĂ€lu ressursse, valida salvestustĂŒĂŒbi, nĂ€iteks SSD vĂ”i HDD, ning mĂ€lu mahtu. See on peaaegu nagu oma arvuti/jaama loomine ja kĂ”ik selle töö detailide haldamine.
GCE-s saate valida mikrotasandi instantsidest, millel on 0,3 tuumaga protsessorid ja 1 GB RAM, kuni 96-tuumaliste monsterite juurde, millel on rohkem kui 300 GB RAM. Samuti saate luua kohandatud suurusega virtuaalmasinaid oma töökoormuste jaoks. Need on virtuaalsed masinad, mida saate ise kokku panna.
3.2. Google Kubernetes Engine (GKE) â (CaaS / KaaS)

Joonis 5: Google Kubernetes Engine (GKE) ikoon
GKE on ainulaadne arvutuslahendus GCP-lt, mis on abstraktsioon Compute Engine ĂŒle. Ăldiselt vĂ”ib GKE kuuluda "Konteiner kui teenus" (CaaS) kategooriasse, mida mĂ”nikord nimetatakse "Kubernetes kui teenus" (KaaS), ja see vĂ”imaldab klientidel lihtsalt kĂ€ivitada oma Docker-konteinereid tĂ€iesti hallatavates Kubernetes keskkondades. Neile, kes konteineritega ei ole tuttavad, aitavad konteinerid mooduliselt kujundada teenuseid/rakendusi, nii et erinevad konteinerid vĂ”ivad sisaldada erinevaid teenuseid, nĂ€iteks ĂŒks konteiner vĂ”ib sisaldada teie veebirakenduse liidest, samas kui teine vĂ”ib sisaldada selle serveripoolset osa. Kubernetes teostab teie konteinerite automatiseerimist, koordineerimist, haldamist ja juurutamist. Rohkem teavet leiate siit.
3.3 Google App Engine (GAE) â (PaaS)

Joonis 6: Google App Engine (GAE) ikoon
Nagu mainitud jaotises 2.2, on PaaS IaaS-st kĂ”rgemal, ja GCP puhul vĂ”ib seda samuti kĂ€sitleda kui pakkumist GKE ĂŒle. GAE on spetsialiseeritud Google'i PaaS ja nagu nad ise end kĂ”ige paremini kirjeldavad â "tooge oma kood, meie hoolitseme ĂŒlejÀÀnu eest".
See tagab, et GAE-d kasutavad kliendid ei pea tegelema alusriistvara/vahemaalise tarkvaraga ning neil on juba eelnevalt seadistatud platvorm, mis on tööks valmis; kÔik, mis nad peavad tegema, on esitada vajalik kood selle kÀivitamiseks.
GAE haldab automaatselt skaleerimist, et rahuldada kasutajate koormust ja nÔudlust, mis tÀhendab, et kui teie lillekauplus saavutab Àkki haripunkti, kuna lÀheneb sÔbrapÀev, siis GAE tegeleb alusstruktuuri skaleerimisega, et rahuldada nÔudlust ja tagada, et teie veebileht ei kukuks kokku suurenenud nÔudluse tÔttu. See tÀhendab, et maksate tÀpselt nende ressursside eest, mida teie rakendus sel hetkel vajab.
GAE kasutab selle kÔigega tegelemiseks Kubernetesit vÔi selle sisseehitatud versiooni, et teie ei peaks sellega vaeva nÀgema. GAE sobib kÔige paremini ettevÔtetele, kes ei ole huvitatud alusstruktuurist ja hoolivad ainult sellest, et nende rakendus oleks vÔimalikult hÀsti kÀttesaadav.
Minu arvates on GAE parim koht alustamiseks, kui olete arendaja suurepÀrase idee kÔrvale, kuid ei soovi tegeleda serverite seadistamise, koormuse tasakaalustamise ja muu töömahuka devops/SRE tööga. Aja jooksul vÔiksite proovida GKE-d ja GCE-d, kuid see on ainult minu arvamus.
MÀrkus: AppEngine on mÔeldud veebirakenduste jaoks, mitte mobiilirakenduste jaoks.
Kasutamiseks:
3.4 Google Cloud Functions â (FaaS)

Joonis 7: Google Cloud Functions (GCF) ikoon
Loodan, et olete eelnevaid ettepanekuid analĂŒĂŒsides tĂ€hele pannud suundumust. Mida kĂ”rgemale te tĂ”usete GCP arvutuslahenduste redelil, seda vĂ€hem peate muretsema aluste tehnoloogiate pĂ€rast. See pyramid lĂ”peb minimaalsete arvutuste haldamise ĂŒksustega, funktsioonidega, nagu on nĂ€idatud jaotises 1.
GCF on suhteliselt uus GCP pakkumine, mis on endiselt beetatestimise etapis (artikli kirjutamise ajal). Pilvelfunktsioonid vĂ”imaldavad arendaja kirjutatud funktsioonide kĂ€ivitamist mingisuguse sĂŒndmuse tĂ”ttu.
Need on sĂŒndmustega juhitud ja on serveriteta mĂ”iste aluseks, mis tĂ€hendab, et nad ei tea serveritest midagi. Pilvelfunktsioonid on vĂ€ga lihtsad ja neid saab kasutada paljusid erinevaid rakendusi, mis nĂ”uavad sĂŒndmusele orienteeritud mĂ”tlemist. NĂ€iteks iga kord, kui uus kasutaja registreerib, vĂ”idakse kĂ€ivitada pilvelfunktsioon, et arendajaid teavitada.
Tehases, kui teatud andur saavutab kindla vÀÀrtuse, vÔib see kÀivitada pilvelfunktsiooni, mis teostab mingisugust info töötlemist vÔi teavitab teatud teeninduspersonalist jne.
KokkuvÔte
Selles artiklis rÀÀkisime erinevatest pilvetehnoloogiatest, nĂ€iteks IaaS, PaaS jne, ja kuidas Googleâi arvustuslaud rakendab neid erinevaid tasandid. Oleme nĂ€inud, et teenuste erinevate kategoriate vahel, nĂ€iteks IaaS-st PaaS-le ĂŒleminek, nĂ”uab vĂ€hem teadmiseid aluse kohta.
Ările pakub see kriitilist paindlikkust, mis mitte ainult ei vasta selle operatiivsetele eesmĂ€rkidele, vaid rahuldab ka muid olulisi valdkondi, nagu turvalisus ja kulud. KokkuvĂ”ttes:
Compute Engine â vĂ”imaldab teil luua oma virtuaalse masina, eraldades teatud riistvararessursid, nagu RAM, protsessor ja mĂ€lu. See on samuti piisavalt praktiline ja madalama taseme lahendus.
Kubernetes Engine â see on samm vĂ”rreldes Compute Engine'iga, mis vĂ”imaldab teil kasutada Kubernetes'e ja konteinerite haldamist oma rakenduse jaoks, vĂ”imaldades vajadusel selle skaleerimist.
App Engine â see on samm vĂ”rreldes Kubernetes Engine'iga, vĂ”imaldades teil keskenduda ainult oma koodile, samas kui Google hoolitseb kĂ”igi baasplatvormi nĂ”uete eest.
Cloud-Functions â see on arvutusliku hierarhia tipp, vĂ”imaldades kirjutada lihtsa funktsiooni, mis kĂ€ivitamisel kasutab kogu baasstruktuuri arvutamiseks ja tulemuse tagastamiseks.
AitÀh tÀhelepanu eest!
Twitter:
Allikas: habr.com
