GCP: Google Cloud Platform datoru infrastruktūras analīze

Raksta tulkojums sagatavots Ä«paÅ”i kursa studentiem Ā«MākoņpakalpojumiĀ».

Interesē attÄ«stÄ«ties Å”ajā jomā? Skatieties profesionālā meistarklasē Ā«AWS EC2 pakalpojumsĀ», ko vadÄ«ja Jeļena Zujeva — komandas vadÄ«tāja uzņēmumā InBit un izglÄ«tÄ«bas programmas autore OTUS.

GCP: Google Cloud Platform datoru infrastruktūras analīze

Google Cloud Platform (GCP) piedāvā daudzus pakalpojumus, tostarp datorsistēmas infrastruktÅ«ru, kas ietver Google Compute Engine (GCE), Google Kubernetes Engine (iepriekÅ” — Container Engine) (GKE), Google App Engine (GAE) un Google Cloud Functions (GCF). Visi Å”ie pakalpojumi ir ar iespaidÄ«giem nosaukumiem, taču to funkcijas un unikālas Ä«paŔības attiecÄ«bā viens pret otru var nebÅ«t acÄ«mredzamas. Å is raksts ir paredzēts tiem, kuri tikai iepazÄ«stas ar mākoņu konceptiem, Ä«paÅ”i par mākoņpakalpojumiem un GCP.

GCP: Google Cloud Platform datoru infrastruktūras analīze

1. Datoru infrastruktūra

Datoru infrastruktÅ«ru var uzskatÄ«t par daudzlÄ«meņu abstrakciju par to, ko var nodroÅ”ināt datorsistēma. Å Ä« infrastruktÅ«ra virzās (virzās uz augÅ”u) no Ā«tÄ«rajām iekārtāmĀ» (tÄ«ra metāla), kas attiecas uz fiziskajiem datoru komponentiem, lÄ«dz funkcijām (funkcijas), kas ir vismazākā aprēķināŔanas vienÄ«ba. Kas ir svarÄ«gi attiecÄ«bā uz Å”o infrastruktÅ«ru, ir tas, ka pakalpojumi tiek apkopoti, pārejot uz augÅ”u, piemēram, sadaļa Ā«lietojumprogrammasĀ» (lietojumprogrammas), kas parādÄ«ta attēlā 1 zemāk, vajadzētu ietvert visus pamatkomponentus konteineriem (konteineri), virtuālajām maŔīnām (virtuālās maŔīnas) un aparatÅ«ru. LÄ«dzÄ«gi, virtuālo maŔīnu komponents ir jāietver aparatÅ«ra iekŔējai darbÄ«bai.

GCP: Google Cloud Platform datoru infrastruktūras analīze

Attēls 1: Datoru infrastruktūra | Attēls iegūts no Google Cloud

Å Ä« modeļa, kas redzama attēlā 1, ir pamats mākoņu pakalpojumu sniedzēju piedāvājumu aprakstīŔanai. Tādējādi daži pakalpojumu sniedzēji var piedāvāt tikai, piemēram, konteinerus un zemākas kvalitātes pakalpojumus, bet citi — visu, kas attēlots attēlā 1.

— Ja esat pazÄ«stams ar mākoņpakalpojumiem, pārejiet uz 3. sadaļu, lai iepazÄ«tos ar GCP ekvivalentu
— Ja Jums ir nepiecieÅ”ama tikai kopsavilkums par mākoņpakalpojumiem, pārejiet uz 2.4. sadaļu

2. Mākoņpakalpojumi

Mākoņrakstura pasaule ir ļoti dažāda. MākonÄ« pakalpojumi piedāvā daudzus risinājumus, pielāgotus dažādām klientu prasÄ«bām. JÅ«s varētu bÅ«t dzirdējuÅ”i par tādiem terminiem kā IaaS, PaaS, SaaS, FaaS, KaaS utt. ar visām alfabēta burtiem, kam seko "aaS". Neskatoties uz dÄ«vaino nosaukumu vienoÅ”anos, tie veido mākonÄ« pakalpojumu komplektu. Es varu teikt, ka ir 3 galvenie piedāvājumi "kā pakalpojums" (as a Service), kurus mākonÄ« pakalpojumu sniedzēji gandrÄ«z vienmēr nodroÅ”ina.

Tie ir IaaS, PaaS un SaaS, kas attiecÄ«gi apzÄ«mē infrastruktÅ«ru kā pakalpojumu (Infrastructure as a Service), platformu kā pakalpojumu (Platform as a Service) un programmatÅ«ru kā pakalpojumu (Software as a Service). Ir svarÄ«gi vizualizēt mākonÄ« pakalpojumus kā pakalpojumu lÄ«meņus. Tas nozÄ«mē, ka, kad jÅ«s paceļaties vai nolaižaties no lÄ«meņa uz lÄ«meni, jÅ«s, kā klients, Ŕķērsojat dažādus pakalpojumu variantus, kas vai nu tiek pievienoti, vai noņemti no pamata piedāvājuma. Vislabāk to ir skatÄ«t kā piramÄ«du, kā parādÄ«ts 2. attēlā.
GCP: Google Cloud Platform datoru infrastruktūras analīze

Attēls 2: "aaS" piramīda | Attēls iegūts no Ruby Garage

2.1 Infrastruktūra kā pakalpojums (IaaS)

Tas ir viszemākais lÄ«menis, ko var piedāvāt mākonÄ« pakalpojumu sniedzējs, un tas ietver mākonÄ« datu apstrādes pakalpojumu sniedzēju, kas piegādā "pliku" infrastruktÅ«ru, ieskaitot starpprogrammatÅ«ru, tÄ«kla kabeļus, procesorus, grafiskos procesorus, operatÄ«vo atmiņu, ārējo uzglabāŔanu, serverus un pamata operētājsistēmu attēlus, piemēram, Debian Linux, CentOS, Windows u.tml.

Ja jÅ«s pasÅ«tāt no mākonÄ« pakalpojumu sniedzēja IaaS piedāvājumu, tad tas ir tas, ko jÅ«s varat sagaidÄ«t saņemt. Jums kā klientam paliek Ŕīs daļas salikt kopā, lai vadÄ«tu savu biznesu. DarbÄ«bas apjoms, ar kuru jums bÅ«s jāsaskaras, var atŔķirties no sniedzēja uz sniedzēju, bet parasti jÅ«s iegÅ«stat tikai aparatÅ«ru un operētājsistēmu, bet pārējais ir atkarÄ«gs no jums. IaaS piemēri ir AWS Elastic Compute, Microsoft Azure un GCE.

Dažiem cilvēkiem var nepatikt fakts, ka viņiem jāinstalē operētājsistēmas attēli un jānodarbojas ar tÄ«klu, slodzes lÄ«dzsvaroÅ”anu vai jārÅ«pējas par to, kāds procesors ir vispiemērotākais viņu darba slodzei. TieÅ”i Å”eit mēs virzāmies augÅ”up pa piramÄ«du uz PaaS.

2.2 Platforma kā pakalpojums (PaaS)

PaaS ietver tikai mākoņu pakalpojumu sniedzēju, kas piedāvā noteiktu platformu, uz kuras lietotāji var veidot lietotnes. Tā ir abstrakcija virs IaaS, kas nozÄ«mē, ka mākoņu pakalpojumu sniedzējs uzņemas visas detaļas par procesoru, atmiņas, RAM, uzglabāŔanas, tÄ«klu utt. Kā parādÄ«ts attēlā 2, jÅ«s kā klients kontrolējat ļoti maz reālo platformu, jo mākoņu pakalpojumu sniedzējs rÅ«pējas par visām infrastruktÅ«ras detaļām jÅ«su vietā. JÅ«s pieprasāt izvēlēto platformu un veidojat tajā projektu. Piemēri PaaS ir Heroku.

Dažiem cilvēkiem tas var Ŕķist pārāk augsts lÄ«menis, jo viņi obligāti nevēlas veidot projektu uz norādÄ«tās platformas, bet drÄ«zāk nepiecieÅ”ams pakalpojumu kopums tieÅ”i no mākoņu pakalpojumu sniedzēja. Å eit nāk talkā SaaS.

2.3 Programmatūra kā pakalpojums (SaaS)

SaaS ir visizplatÄ«tākie pakalpojumi, ko sniedz mākoņu pakalpojumu sniedzēji. Tie ir paredzēti galapatērētājiem un galvenokārt pieejami caur tÄ«mekļa vietnēm, piemēram, Gmail, Google Docs, Dropbox utt. AttiecÄ«bā uz Google Cloud ir vairāki piedāvājumi ārpus viņu skaitļoÅ”anas steka, kas ir SaaS. Tie ietver Data Studio, Big Query utt.

2.4 Kopsavilkums par mākoņu pakalpojumiem

Komponentes
IaaS
PaaS
SaaS

Ko jūs saņemat
Jūs saņemat infrastruktūru un maksājat attiecīgi. Brīvību izmantot vai instalēt jebkuru programmatūru, operētājsistēmu vai to kombināciju.
Šeit jūs saņemat to, ko pieprasāt. Programmatūra, aparatūra, operētājsistēma, tīmekļa vide. Jūs saņemat gatavu platformu un maksājat attiecīgi.
Å eit jums nav jāuztraucas par neko. Jums tiek nodroÅ”ināts iepriekÅ” instalēts komplekts, kas pielāgots jÅ«su prasÄ«bām, un jums atliek tikai maksāt attiecÄ«gi.

Vērtība
Pamatlīmenis skaitļoŔanas
IaaS virsotne
Tā ir būtībā pilna pakalpojumu pakete

Tehniskās grūtības
NepiecieŔamas tehniskās zināŔanas
Jums ir pamata konfigurācija, bet joprojām nepiecieŔamas jomas zināŔanas.
Nav nepiecieÅ”ams uztraukties par tehniskām detaļām. SaaS pakalpojumu sniedzējs nodroÅ”ina visu.

Ar ko tiek strādāts
Virtuālās maŔīnas, uzglabāŔanas, serveri, tÄ«kls, slodzes balansētāji utt.
Izpildes vides (piemēram, Java runtime), datu bāzes (piemēram, MySQL, Oracle), tīmekļa serveri (piemēram, Tomcat utt.)
Lietojumprogrammas, piemēram, pasta pakalpojumi (Gmail, Yahoo mail uc.), sociālo mediju vietnes (Facebook uc.)

Popularitātes grafiks
Populāri starp augsti kvalificētiem izstrādātājiem, pētniekiem, kuriem nepiecieÅ”ama pielāgoÅ”ana atbilstoÅ”i viņu prasÄ«bām vai pētÄ«jumu jomai
Vispopulārākie starp izstrādātājiem, jo viņi var koncentrēties uz savu lietojumprogrammu vai skriptu izstrādi. Viņiem nav jāuztraucas par satiksmes ielādi vai servera pārvaldību utt.
Vispopulārākie starp parastajiem patērētājiem vai uzņēmumiem, kuri izmanto programmatūru, piemēram, e-pastu, failu apmaiņas rīkus, sociālos tīklus, jo viņiem nav jāsatraucas par tehniskajām detaļām

Attēls 3: Galveno mākoņu piedāvājumu kopsavilkums | Attēls nodroÅ”ināts Amir pie Blog Specia

3. Google Cloud Platform Computing Package

Apskatot tipiskos mākoņu pakalpojumu sniedzēju piedāvājumus 2. sadaļā, mēs varam tos salīdzināt ar Google Cloud piedāvājumiem.

3.1 Google Compute Engine (GCE) — IaaS

GCP: Google Cloud Platform datoru infrastruktūras analīze

Attēls 4: Google Compute Engine (GCE) ikona

GCE ir Google IaaS piedāvājums. Ar GCE jÅ«s varat brÄ«vi izveidot virtuālās maŔīnas, sadalÄ«t procesora un atmiņas resursus, izvēlēties krātuves veidu, piemēram, SSD vai HDD, kā arÄ« atmiņas apjomu. Tas ir gandrÄ«z tāpat kā izveidot savu datoru/darba staciju un rÅ«pēties par visām tā darbÄ«bas detaļām.

GCE jÅ«s varat izvēlēties no mikro instancēm ar 0,3 kodolu procesoriem un 1 GB RAM lÄ«dz 96 kodolu ā€žmonstriemā€ ar vairāk nekā 300 GB RAM. JÅ«s arÄ« varat izveidot nestandarta lieluma virtuālās maŔīnas savām darba slodzēm. Tie, kas ir ieinteresēti — tie ir virtuālie datori, kurus jÅ«s varat salikt.

MaŔīnu veidi | Compute Engine dokumentācija | Google Cloud

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

GCP: Google Cloud Platform datoru infrastruktūras analīze

Attēls 5: Google Kubernetes Engine (GKE) ikona

GKE — unikāls skaitļoÅ”anas risinājums no GCP, kas ir abstrahēts no Compute Engine. PlaŔākā nozÄ«mē GKE var klasificēt kā "Konteinera kā pakalpojuma" (CaaS), dažkārt sauktu arÄ« par "Kubernetes kā pakalpojumu" (KaaS), kas ļauj klientiem viegli palaist savus Docker konteinerus pilnÄ«bā pārvaldÄ«tā Kubernetes vidē. Lai arÄ« tie, kas nav iepazinuÅ”ies ar konteineriem, konteineri palÄ«dz modulāri veidot pakalpojumus / lietojumprogrammas, tāpēc dažādi konteineri var saturēt dažādus pakalpojumus, piemēram, viens konteiners var mitināt jÅ«su tÄ«mekļa lietojumprogrammas saskarni, bet cits var saturēt tās servera daļu. Kubernetes veic automatizāciju, koordināciju, pārvaldÄ«bu un jÅ«su konteineru izvietoÅ”anu. Vairāk informācijas Å”eit.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) — (PaaS)

GCP: Google Cloud Platform datoru infrastruktūras analīze

Attēls 6: Google App Engine (GAE) ikona

Kā minēts 2.2 nodaļā, PaaS ir augstāks par IaaS, un GCP gadÄ«jumā to var uzskatÄ«t par piedāvājumu virs GKE. GAE ir specializēts Google PaaS, un kā viņi paÅ”i vislabāk apraksta sevi — "pārvadājiet savu kodu, bet mēs parÅ«pēsimies par visu pārējo."

Tas nodroÅ”ina, ka klientiem, kuri izmanto GAE, nav jātiek galā ar pamatiekārtu / vidusposma programmatÅ«ru, un viņiem var bÅ«t iepriekÅ” konfigurēta platforma, kas ir gatava darbam; viss, kas viņiem jādara, ir sniegt kodu, kas nepiecieÅ”ams tā palaiÅ”anai.

GAE automātiski apstrādā mērogoÅ”anu, lai apmierinātu slodzi un pieprasÄ«jumu no lietotājiem, kas nozÄ«mē, ka, ja jÅ«su ziedu pārdoÅ”anas vietne pēkŔņi sasniedz augstumu, jo tuvojas ValentÄ«na diena, GAE tiks galā ar mērogoÅ”anu pamatinfrastruktÅ«rā, lai apmierinātu pieprasÄ«jumu un nodroÅ”inātu, ka jÅ«su tÄ«mekļa vietne neizkrÄ«t pie paaugstināta pieprasÄ«juma. Tas nozÄ«mē, ka jÅ«s maksājat tieÅ”i par tiem resursiem, kas nepiecieÅ”ami jÅ«su lietojumprogrammai Å”obrÄ«d.

GAE izmanto Kubernetes vai tā iebūvēto versiju, lai ar visu to tiktu galā, lai jums par to nebūtu jārūpējas. GAE vislabāk der kompānijām, kuru interese nav pamatinfrastruktūra un kas rūpējas tikai par to, lai viņu lietojumprogramma būtu pieejama vislabākajā veidā.

Manuprāt, GAE ir labākā vieta, kur uzsākt, ja esat izstrādātājs ar lielisku ideju, bet nevēlaties nodarboties ar rutÄ«nu serveru iestatīŔanā, slodzes sadalīŔanā un visām citām darbietilpÄ«gām devops/SRE aktivitātēm. Laika gaitā jÅ«s varētu izmēģināt GKE un GCE, bet tā ir tikai mana domām.

Atskaite: AppEngine tiek izmantots tīmekļa lietojumprogrammām, nevis mobilajām lietotnēm.

IepazīŔanai: App Engine — izveidojiet mērogotus tÄ«mekļa un mobilos aizmugurējos risinājumus jebkurā valodā | Google Cloud

3.4 Google Cloud Functions — (FaaS)

GCP: Google Cloud Platform datoru infrastruktūras analīze

Attēls 7: Google Cloud Functions (GCF) ikona

Ceru, ka esat pamanÄ«jis tendenci, analizējot iepriekŔējās piedāvājumus. Jo augstāk atrodaties GCP skaitļoÅ”anas risinājumu hierarhijā, jo mazāk jums jākoncentrējas uz pamattehnoloÄ£ijām. Å Ä« piramÄ«da beidzas ar mazāko iespējamo skaitļoÅ”anas vienÄ«bu — funkciju, kā norādÄ«ts 1. sadaļā.

GCF ir salÄ«dzinoÅ”i jauns GCP piedāvājums, kas vēl joprojām atrodas beta testēŔanas fāzē (rakstīŔanas brÄ«dÄ«). MākonÄ« funkcijas ļauj noteiktām izstrādātāja uzrakstÄ«tām funkcijām tikt izpildÄ«tām pēc jebkura notikuma.

Tie tiek pārvaldÄ«ti ar notikumiem un ir pamatā modē ienākuÅ”ajai frāzei ā€žbezserveruā€, tas ir, viņi neizzina serverus. MākonÄ« funkcijas ir ļoti vienkārÅ”as un ir daudz dažādu pielietojumu, kas prasa notikumu domāŔanu. Piemēram, katru reizi, kad tiek reÄ£istrēts jauns lietotājs, var tikt aktivizēta mākonÄ« funkcija, lai brÄ«dinātu izstrādātājus.

Ražotnē, kad noteikts sensors sasniedz noteiktu vērtÄ«bu, tas var uzsākt mākonÄ« funkciju, kas veic noteiktu informācijas apstrādi vai informē apkalpojoÅ”o personālu utt.

MākonÄ« funkcijas — notikumiem vadÄ«tas servera skaitļoÅ”anas funkcijas | Google Cloud

Secinājums

Å ajā rakstā mēs runājām par dažādiem mākoņa piedāvājumiem, piemēram, IaaS, PaaS utt., un to, kā Google skaitļoÅ”anas steks Ä«steno Å”os dažādos lÄ«meņus. Mēs redzējām, ka abstrakcijas lÄ«meņi, pārejot no vienas pakalpojumu kategorijas uz citu, piemēram, no IaaS uz PaaS, prasa mazāk zināŔanu par pamatā esoÅ”o.

Uzņēmējam tas nodroÅ”ina kritiski svarÄ«gu elastÄ«bu, kas ne tikai atbilst tā operatÄ«vajiem mērÄ·iem, bet arÄ« apmierina citas galvenās jomas, piemēram, droŔību un izmaksas. Kopsavilkums:

Compute Engine — ļauj jums izveidot savu virtuālo maŔīnu, pieŔķirot noteiktus aparatÅ«ras resursus, piemēram, RAM, procesoru un atmiņu. Tas ir arÄ« pietiekami praktisks un zema lÄ«meņa.

Kubernetes Engine — tas ir solis augstāk salÄ«dzinājumā ar Compute Engine, kas ļauj jums izmantot Kubernetes un konteinerus jÅ«su lietojuma pārvaldīŔanai, ļaujot to nepiecieÅ”amÄ«bas gadÄ«jumā paplaÅ”ināt.

App Engine — tas ir solis augstāk salÄ«dzinājumā ar Kubernetes Engine, ļaujot jums koncentrēties tikai uz savu kodu, kamēr Google nodroÅ”ina visus pamatplatformas prasÄ«bas.

Cloud-Functions — tas ir augstākais aprēķinu piramÄ«das lÄ«menis, ļaujot uzrakstÄ«t vienkārÅ”u funkciju, kas, kad tā tiek aktivizēta, izmanto visu pamatinfrastruktÅ«ru aprēķinu veikÅ”anai un rezultāta atgrieÅ”anai.

Paldies par uzmanību!

Twitter: @martinomburajr

Avots: habr.com

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster