Artikli tõlge on ette valmistatud spetsiaalselt kursuse üliõpilastele .
Kas oled huvitatud selle valdkonna arengust? Vaata professionaalse meistriklassi salvestust , mille viis läbi Ehor Zuyev — InBit'i TeamLead ja OTUS'e haridusprogrammi autor.

Google Cloud Platform (GCP) pakub palju teenuseid, sealhulgas arvutusteeki, mis sisaldab Google Compute Engine'i (GCE), Google Kubernetes Engine'i (endise nimega Container Engine) (GKE), Google App Engine'i (GAE) ja Google Cloud Functions'i (GCF). Kõik need teenused kannavad ägedaid nimetusi, kuid nende funktsioonid ja see, mis muudab nad üksteisest ainulaadseteks, võivad olla mitte alati ilmne. See artikkel on mõeldud neile, kes alles tutvuvad pilvekontseptsioonidega, eriti pilveteenuste ja GCP-ga.

1. Arvutusteek
Arvutusteeki võib vaadata kui mitmetasandilist abstraktsiooni sellest, mida arvutisüsteem pakkuda suudab. See teek tõuseb (moves up) „puhtast riistvarast“ (bare metal), mis viitab arvuti tegelikele riistvarakomponentidele, kuni funktsioonideni (functions), mis on arvutamise väikseim üksus. Oluline on märkida, et tehnoloogia virnastamine toimub teenuste aggregatsiooni kaudu, kui liigutakse virna ülespoole, näiteks jaotises „rakendused“ (rakendused), mida on näidatud allolevas joonisel 1, peab sisaldama kõiki konteinerite (konteinerid), virtuaalmasinate (virtuaalmasinad) ja riistvara komponente. Samamoodi peab virtuaalmasinate komponent sisaldama riistvara, et see saaks toimida.

Joonis 1: Arvutuste virn | Pilt on saadud
See mudel, nagu on näidatud joonisel 1, on aluseks pilveteenuste pakkumiste kirjeldamiseks. Seetõttu võivad mõned pakkujad pakkuda ainult näiteks konteineri- ja allpool kvaliteediga teenuseid, samas kui teised pakuvad kõike, mis on näidatud joonisel 1.
— Kui olete pilveteenustega tuttav, liikuge jaotisse 3, et tutvuda GCP ekvivalentidega
— Kui vajate ainult kiiret ülevaadet pilveteenustest, liikuge jaotisse 2.4
2. Pilveteenused
Pilve arvutamise maailm on väga mitmekesine. Pilveteenuse pakkujad pakuvad hulgaliselt teenuseid, mis on kohandatud erinevate klientide nõudmistele. Olete ehk kuulnud sellistest mõistetest nagu IaaS, PaaS, SaaS, FaaS, KaaS jne, kus iga tähe järel on "aaS". Hoolimata kummalisest nimetamisest, moodustavad need pilveteenuse pakkujate teenuste kogumi. Tõden, et on 3 peamist "teenusena" pakkumist, 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 teenustasanditena. See tähendab, et kui tõstate või langetate taset, ületate te kliendina erinevaid teenuse variante, mida kas lisatakse või eemaldatakse põhipakkumisest. Parim on seda vaadata kui püramiidi, nagu on näidatud joonistel 2.

Joonis 2: "aaS" püramiid | Pilt on saadud
2.1 Teenusena pakutav infrastruktuur (IaaS)
See on madalaim tase, mida pilveteenuste pakkuja võib pakkuda, ning see hõlmab pilvearvutuste pakkujat, kes toob teieni 'palja' infrastruktuuri, sealhulgas tarkvara, võrgukaableid, protsessoreid, graafikaprotsessoreid, mälusid, välist salvestust, servereid ja põhiettevõttesüsteemide pilte nagu Debian Linux, CentOS, Windows jne.
Kui tellite IaaS-teenusepakkujatelt pakkumise, siis see on see, mida peaksite otsima. Teie, kui kliendi, ülesanne on neid komponente oma äri juhtimiseks kokku panna. Tase, millega peate töötama, võib varieeruda pakkujate lõikes, kuid tavaliselt saate lihtsalt riistvara ja opsüsteemi, kõik muu on teie teha. IaaS-i näidete hulka kuuluvad AWS Elastic Compute, Microsoft Azure ja GCE.
Mõnele võib tunduda ebameeldiv, et neil tuleb installida opsüsteemi pilte ja tegeleda võrgustiku, koormuse tasakaalustamisega või hoolitseda selle eest, milline protsessor sobib nende töökoormusele ideaalselt. Just siin liigume me ülespoole püramiidi PaaS-i suunas.
2.2 Platvorm teenusena (PaaS)
PaaS hõlmab ainult pilveteenuse pakkujat, kes pakub konkreetset platvormi, millel kasutajad saavad rakendusi arendada. See on abstraktsioon IaaS-ist, mis tähendab, et pilveteenuse pakkuja tegeleb kõigi protsessorite, mälu, RAM-i, salvestamise, võrgu jne detailidega. Nagu on näidatud joonisel 2, on teil kliendina väike kontroll tegeliku platvormi üle, kuna pilveteenuse pakkuja hoolitseb infrastruktuuri üksikasjade eest teie nimel. Te saate küsida valitud platvormi ja töötada sellel projekti kallal. PaaS-i näideteks on Heroku.
Mõnele võib see olla liiga kõrge tase, kuna ta ei pruugi tahtma projektide loomisega antud platvormil tegeleda, vaid vajab pigem teenuste komplekti otse pilveteenuse pakkujalt. Siinkohal astub mängu SaaS.
2.3 Tarkvara teenusena (SaaS)
SaaS on kõige laialdasemalt kasutatav teenus, mida pakuvad pilveteenuse pakkujad. Need on mõeldud lõppkasutajatele ja on peamiselt kergesti kätte saadavad veebisaitide kaudu, nagu Gmail, Google Docs, Dropbox jne. Google Cloudi puhul on mitmeid pakkumisi, mis ei kuulu nende arvutusvõrku, kuid on SaaS tüüpi. Nende hulka kuuluvad näiteks Data Studio, Big Query jne.
2.4 Ülevaade pilveteenustest
Komponendid
IaaS
PaaS
SaaS
Mida te saate
Saate infrastruktuuri ja maksate vastavalt sellele. Vabadus kasutada või paigaldada igasugust tarkvara, operatsioonisüsteemi või nende kombinatsiooni.
Siin saate just seda, mida soovite. Tarkvara, riistvara, operatsioonisüsteemi, veebikeskkonna. Te saate kasutusvalmis platvormi ja maksate vastavalt sellele.
Siin ei pea te millestki muretsema. Teile antakse eelnevalt seadistatud pakett vastavalt teie nõudmistele, ning teil jääb üle vaid vastavalt maksta.
Väärtus
Põhimõtteline arvutusvõime
IaaS tipp
See on sisuliselt täisteenuste pakett
Tehnilised keerukused
On vajalikud tehnilised teadmised
Teile antakse põhiline konfiguratsioon, kuid valdkonna teadmised on endiselt vajalikud.
Ärge muretsege tehniliste detailide pärast. SaaS-i pakkuja hoolitseb kõikide eest.
Millest töötatakse
Virtuaalmasinad, salvestusruumid, serverid, võrk, koormuse tasakaidurite jms.
Käivituskeskkonnad (nt Java runtime), andmebaasid (nt MySQL, Oracle), veebiserverid (nt Tomcat jms.)
Rakendused, nagu meiliteenused (Gmail, Yahoo Mail jne), sotsiaalse suhtluse saidid (Facebook jne.)
Populaarsusgraafik
Populaarne kõrgelt kvalifitseeritud arendajate ja teadlaste seas, kes vajavad kohandamist vastavalt oma nõudmistele või teadusvaldkonnale.
Eriti populaarne arendajate seas, kuna nad saavad keskenduda oma rakenduste või skriptide arendamisele. Nad ei pea muretsema liikluse laadimise või serveri haldamise pärast jne.
Populaarne tavaliste tarbijate või ettevõtete seas, kes kasutavad sellist tarkvara nagu e-post, failide jagamine, sotsiaalmeedia, kuna nad ei pea muretsema tehniliste detailide pärast.
Joonis 3: Peamiste pilveteenuste kokkuvõte | Pilt pakub
3. Google Cloud Platformi arvutusteenus
Vaadates pilveteenuste pakkujate tüüpilisi ettepanekuid jaotises 2, saame neid võrrelda Google Cloudi 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 protsessori- ja mäluresursse, valida salvestustüübi, näiteks SSD või HDD, ja määrata mälumahtu. See on peaaegu nagu kui loote enda arvuti/tööstusjaama ja haldate kõike selle töö osas.
GCE-s saate valida mikroinstantside vahel, kus on 0,3 tuuma protsessorid ja 1 GB RAM, kuni 96 tuuma hiiglaslikeni, kus on üle 300 GB RAM. Samuti saate luua virtuaalmasinaid, mis sobivad teie töökoormustele. Neile, kes on huvitatud — need on virtuaalsed masinad, mille saate ise kokku panna.
3.2. Google Kubernetes Engine (GKE) — (Caas / Kaas)

Joonis 5: Google Kubernetes Engine (GKE) ikoon
GKE on ainulaadne arvutuslahendus GCP-st, mis esindab abstraktsiooni Compute Engine'i üle. Üldiselt võib GKE kuuluda kategooriasse „Konteinerina teenus” (CaaS), mida mõnikord nimetatakse „Kubernetesina teenus” (KaaS), mis võimaldab klientidel lihtsalt käivitada oma Docker-konteinereid täielikult hallatavates Kubernetes-keskkondades. Neile, kes ei ole konteinereid tuttavad, aitavad konteinerid moodulite kujul teenuseid/rakendusi luua, võimaldades erinevates konteinerites sisaldada erinevaid teenuseid; näiteks võib üks konteiner sisaldada teie veebirakenduse liidest, samas kui teine võib sisaldada selle serveripoolset osa. Kubernetes vastutab teie konteinerite automatiseerimise, koordineerimise, haldamise ja käitamise eest. Rohkem teavet leiate siit.
3.3 Google App Engine (GAE) — (PaaS)

Joonis 6: Google App Engine (GAE) ikoon
Nagu mainitud jaotises 2.2, asub PaaS IaaS-st kõrgemal ning GCP puhul võib seda samuti pidada pakkumiseks GKE kohal. GAE on spetsialiseeritud Google'i PaaS, nagu nad ise end parimana kirjeldavad — „tooge oma kood, meie hoolitseme kõige muu eest.”
See tagab, et GAE kasutavad kliendid ei pea tegelema põhivarustuse või vaheprogrammiga, vaid saavad juba valmis ette seadistatud platvormi, mis on tööks valmis; kõik, mida nad peavad tegema, on esitada jooksu jaoks vajalik kood.
GAE haldab automaatselt skaleerimist, et rahuldada kasutajate koormust ja nõudlust, mis tähendab, et kui teie lillemüügi veebisait ühel hetkel järsku tippu jõuab, kuna läheneb sõbrapäev, teeb GAE põhitaristu skaleerimise, et rahuldada nõudlust ja tagada, et teie veebisait ei kukuks suurema nõudluse tõttu. See tähendab, et maksate täpselt nende ressursside eest, mis teie rakendusele antud hetkel vajalikud on.
GAE kasutab Kubernetes'i või selle sisseehitatud versiooni kõigi nende aspektide haldamiseks, et teil ei peaks selle pärast muretsema. GAE sobib kõige paremini ettevõtetele, kes ei ole huvitatud põhitaristust, ja hoolivad ainult sellest, et nende rakendus oleks parimal võimalikul viisil kättesaadav.
Minu arvates on GAE parim koht alguseks, kui olete arendaja, kellel on suurepärane idee, kuid te ei soovi tegeleda serverite seadistamise, koormuse tasakaalu ja muu töömahuka devops/SRE tööga. Aja jooksul võiksite proovida GKE ja GCE, kuid see on vaid minu arvamus.
Vastutusest loobumine: AppEngine on mõeldud veebirakendustele, mitte mobiilirakendustele.
Sissejuhatus:
3.4 Google Cloud Functions — (FaaS)

Joonis 7: Google Cloud Functions (GCF) ikoon
Loodan, et olete märganud suundumust, analüüsides eelnevaid pakkumisi. Mida kõrgemale tõusete GCP arvutuslahenduste redelil, seda vähem peate muretsema baastehnoloogiate üle. See pyramidi tipp lõpeb kõige väiksema arvutusüksusega, funktsiooniga, nagu on näidatud jaotises 1.
GCF on suhteliselt uus GCP pakkumine, mis on endiselt beetatestimise faasis (artikli kirjutamise ajal). Pilvandmed võimaldavad arendaja kirjutatud teatud funktsioonide käivitamist mõne sündmuse põhjal.
Need to event-driven functionalities, they underlie the trendy term "serverless," meaning they operate without traditional servers. Cloud functions are simple and have many different applications that rely on event-driven thinking. For instance, every time a new user registers, a cloud function can be triggered to notify the developers.
In a factory, when a specific sensor reaches a certain threshold, it can activate a cloud function that processes information or alerts some maintenance personnel, and so on.
Kokkuvõte
In this article, we discussed various cloud offerings like IaaS, PaaS, etc., and how the Google Cloud computing stack implements these different layers. We noted that as you move from one service category to another, such as from IaaS to PaaS, the levels of abstraction require less knowledge of the underlying technology.
Äri jaoks tagab see kriitilise paindlikkuse, mis vastab mitte ainult operatiivsetele eesmärkidele, vaid rahuldab ka teisi olulisi valdkondi, nagu turvalisus ja kulud. Kokkuvõttes:
Compute Engine — võimaldab teil luua oma virtuaalse masina, määrates kindlaks teatud riistvaralised ressursid, nagu RAM, protsessor ja mälu. See on praktiline ja madala tasandi lahendus.
Kubernetes Engine — on samm edasi võrreldes Compute Engine'iga, mis võimaldab teil kasutada Kubernetes't ja konteinerite haldamist oma rakenduse jaoks, võimaldades selle vajadusel skaleerida.
App Engine — on samm edasi Kubernetes Engine'ist, võimaldades teil keskenduda ainult oma koodile, samal ajal kui Google hoolitseb kõigi baasplatvormi nõuete eest.
Cloud-Functions — on arvutamise püramiidi tipp, mis võimaldab kirjutada lihtsa funktsiooni, mis käivitamisel kasutab kogu baasinfra struktuuri arvutamiseks ja tulemuse tagastamiseks.
Aitäh tähelepanu eest!
Twitter:
Allikas: habr.com
