GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Өгүүллийн орчуулгыг тус курсын оюутнуудад зориулж тусгайлан бэлтгэсэн "Үүлэн үйлчилгээ".

Та энэ чиглэлээр хөгжих сонирхолтой байна уу? Мэргэжлийн мастер ангийн бичлэгийг үзээрэй "AWS EC2 үйлчилгээ", үүнийг InBit-ийн TeamLead, OTUS-ийн боловсролын хөтөлбөрийн зохиогч Егор Зуев удирдан явуулсан.

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Google Cloud Platform (GCP) нь олон үйлчилгээ, ялангуяа Google Compute Engine (GCE), Google Kubernetes Engine (хуучнаар Container Engine) (GKE), Google App Engine (GAE) болон Google Cloud Functions (GCF) зэрэг олон үйлчилгээг санал болгодог. . Эдгээр бүх үйлчилгээ нь гайхалтай нэртэй боловч тэдгээрийн чиг үүрэг, тэдгээрийг бие биенээсээ өвөрмөц болгодог зүйл нь бүрэн тодорхой биш байж магадгүй юм. Энэ нийтлэл нь үүлэн үйлчилгээ болон GCP-ийн тухай ойлголтыг шинээр эзэмшсэн хүмүүст зориулагдсан болно.

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

1. Тооцоолох стек

Тооцооллын стекийг компьютерийн систем юугаар хангаж чадах талаар давхарласан хийсвэрлэл гэж үзэж болно. Энэ стек дээшилж байна (дээш хөдөлдөг) "нүцгэн төмөр" -ээс (нүцгэн металл), компьютерийн бодит техник хангамжийн бүрэлдэхүүн хэсгүүдийг дурдаж, функцууд хүртэл (үйл ажиллагаа), хамгийн бага тооцооны нэгжийг илэрхийлдэг. Стекийн талаар анхаарах чухал зүйл бол "програмууд" хэсэг (апп-ууд), доорх 1-р зурагт үзүүлсэн савны бүх үндсэн бүрэлдэхүүн хэсгүүдийг агуулсан байх ёстой (савнууд), виртуал машинууд (виртуал машинууд) ба төмөр. Үүнтэй адилаар виртуал машинуудын бүрэлдэхүүн хэсэг нь ажиллахын тулд доторх техник хангамжийг агуулсан байх ёстой.

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Зураг 1: Тооцоолох стек | Зургийг эх сурвалжаас авсан Google Cloud

1-р зурагт үзүүлсэн энэхүү загвар нь үүлэн үйлчилгээ үзүүлэгчдийн саналуудыг тайлбарлах үндэс юм. Тиймээс зарим үйлчилгээ үзүүлэгчид зөвхөн жишээлбэл, савны дагуу чанар муутай сав, үйлчилгээг үзүүлэх боломжтой бол зарим нь Зураг 1-т үзүүлсэн бүх зүйлийг хангаж чадна.

— Хэрэв та үүлэн үйлчилгээний талаар сайн мэддэг бол хаягаар орно уу 3-р хэсэгGCP эквивалентыг харах
— Хэрэв та зөвхөн үүлэн үйлчилгээний хураангуй мэдээллийг авахыг хүсвэл хаягаар очно уу 2.4-р хэсэг

2. Үүлэн үйлчилгээ

Үүлэн тооцооллын ертөнц маш олон янз байдаг. Үүлэн үйлчилгээ үзүүлэгчид нь хэрэглэгчийн янз бүрийн шаардлагад нийцсэн төрөл бүрийн үйлчилгээг санал болгодог. Та IaaS, PaaS, SaaS, FaaS, KaaS гэх мэт нэр томъёоны талаар сонссон байх. цагаан толгойн бүх үсгүүдийн араас "aaS". Хачирхалтай нэрлэх конвенцийг үл харгалзан тэд үүлэн үйлчилгээ үзүүлэгчийн багц үйлчилгээг бүрдүүлдэг. Үүлэн үйлчилгээ үзүүлэгчдийн бараг үргэлж үзүүлдэг "үйлчилгээний хувьд" 3 үндсэн санал байдгийг би хэлж байна.

Эдгээр нь Infrastructure as a Service, Platform as a Service, Software as a Service гэсэн утгатай IaaS, PaaS болон SaaS юм. Үүлний үйлчилгээг үзүүлж буй үйлчилгээний давхарга гэж төсөөлөх нь чухал. Энэ нь та нэг түвшнээс дээш эсвэл доошоо шилжих үед үйлчлүүлэгч та үндсэн санал дээр нэмсэн эсвэл хасагдсан өөр өөр үйлчилгээний сонголтуудаар дамждаг гэсэн үг юм. Үүнийг 2-р зурагт үзүүлсэн шиг пирамид гэж үзэх нь дээр.
GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Зураг 2: aaS пирамид | Зургийг эх сурвалжаас авсан Руби гараж

2.1 Дэд бүтэц нь үйлчилгээ (IaaS)

Энэ нь үүлэн үйлчилгээ үзүүлэгчийн санал болгож чадах хамгийн доод түвшин бөгөөд дунд програм хангамж, сүлжээний кабель, CPU, GPU, RAM, гадаад санах ой, сервер, Debian Linux, CentOS, Windows гэх мэт үндсэн үйлдлийн системийн дүрс зэрэг нүцгэн металл дэд бүтцийг хүргэх үүлэн үйлчилгээ үзүүлэгчийг хамардаг. , гэх мэт.

Хэрэв та үүлэн IaaS үйлчилгээ үзүүлэгчээс үнийн санал захиалсан бол үүнийг хүлээж авах ёстой. Бизнесээ явуулахын тулд эдгээр хэсгүүдийг цуглуулах нь үйлчлүүлэгч танаас хамаарна. Таны хамтран ажиллах хэмжээ нь худалдагчаас хамаарч өөр өөр байж болох ч ерөнхийдөө та зөвхөн техник хангамж, үйлдлийн системээ авах бөгөөд бусад нь танаас хамаарна. IaaS-ийн жишээ бол AWS Elastic Compute, Microsoft Azure, GCE юм.

Зарим хүмүүс үйлдлийн системийн дүрсийг суулгаж, сүлжээний асуудал, ачааллыг тэнцвэржүүлэх, эсвэл ямар төрлийн процессор нь тэдний ажлын ачаалалд тохирох талаар санаа зовж байгаа нь таалагдахгүй байж магадгүй юм. Эндээс бид пирамид дээгүүр PaaS руу шилждэг.

2.2 Үйлчилгээ болгон платформ (PaaS)

PaaS нь зөвхөн хэрэглэгчид програм бүтээх боломжтой тусгай платформыг санал болгодог үүлэн үйлчилгээ үзүүлэгчийг хамардаг. Энэ нь IaaS дээр хийсэн хийсвэр зүйл бөгөөд үүлэн үйлчилгээ үзүүлэгч нь CPU-ийн төрөл, санах ой, RAM, хадгалалт, сүлжээ гэх мэт бүх нарийн ширийн зүйлийг хариуцдаг гэсэн үг юм. Зураг 2-т үзүүлсэнчлэн, үйлчлүүлэгч та бодит платформыг хянах чадвар багатай. үүлэн үйлчилгээ үзүүлэгч нь танд зориулж дэд бүтцийн бүх мэдээллийг зохицуулдаг. Та сонгосон платформыг хүсч, түүн дээр төслийг бий болгох. PaaS-ийн жишээ бол Хероку юм.

Зарим хүмүүсийн хувьд энэ нь хэтэрхий өндөр түвшин байж болох юм, учир нь тэд төслийг тодорхой платформ дээр бүтээх шаардлагагүй, харин үүлэн үйлчилгээ үзүүлэгчээс шууд багц үйлчилгээ авах шаардлагатай байдаг. Эндээс SaaS гарч ирдэг.

2.3 Үйлчилгээний програм хангамж (SaaS)

SaaS нь үүлэн үйлчилгээ үзүүлэгчдээс үзүүлдэг хамгийн түгээмэл үйлчилгээг төлөөлдөг. Эдгээр нь эцсийн хэрэглэгчдэд зориулагдсан бөгөөд голчлон Gmail, Google Docs, Dropbox гэх мэт вэбсайтуудаар дамжуулан хандах боломжтой. Google Cloud-ийн хувьд, тэдгээрийн тооцоолох стекээс гадна хэд хэдэн саналууд байдаг SaaS. Үүнд Data Studio, Big Query гэх мэт.

2.4 Үүлэн үйлчилгээний хураангуй

Бүрэлдэхүүн хэсгүүд
IaaS
ТАСС
SaaS

Юу авдаг вэ?
Дэд бүтцээ аваад тэр дагуу төлбөрөө төлнө. Аливаа програм хангамж, үйлдлийн систем эсвэл тэдгээрийн бүтцийг ашиглах, суулгах эрх чөлөө.
Эндээс та хүссэн зүйлээ авах болно. Програм хангамж, техник хангамж, үйлдлийн систем, вэб орчин. Та ашиглахад бэлэн платформ авч, үүний дагуу төлбөрөө төлнө.
Энд та юунд ч санаа зовох хэрэггүй. Таны шаардлагад нийцүүлэн урьдчилан суулгасан багцыг танд өгөх бөгөөд таны хийх ёстой зүйл бол зохих төлбөрийг төлөх явдал юм.

үнэ цэнэ
Үндсэн тооцоолол
Шилдэг IaaS
Энэ нь үндсэндээ үйлчилгээний бүрэн багц юм

Техникийн хүндрэлүүд
Техникийн мэдлэг шаардлагатай
Танд үндсэн тохиргоо өгөгдсөн хэдий ч танд домэйны мэдлэг хэрэгтэй хэвээр байна.
Техникийн нарийн ширийн зүйлд санаа зовох шаардлагагүй. SaaS үйлчилгээ үзүүлэгч бүх зүйлийг хангадаг.

Энэ нь юутай ажилладаг вэ?
Виртуал машин, хадгалах сан, сервер, сүлжээ, ачаалал тэнцвэржүүлэгч гэх мэт.
Ажиллах орчин (java ажиллах цаг гэх мэт), мэдээллийн сан (mySQL, Oracle гэх мэт), вэб серверүүд (tomcat гэх мэт)
Имэйл үйлчилгээ (Gmail, Yahoo мэйл гэх мэт), нийгмийн харилцааны сайтууд (Facebook гэх мэт) зэрэг програмууд.

Түгээмэл байдлын график
Өндөр ур чадвартай хөгжүүлэгчид, өөрсдийн шаардлага эсвэл судалгааны талбарт тохируулан өөрчлөх шаардлагатай судлаачдын дунд алдартай
Хөгжүүлэгчдийн дунд хамгийн алдартай нь программууд эсвэл скриптүүдийг боловсруулахад анхаарлаа төвлөрүүлдэг. Тэд замын ачаалал, серверийн удирдлага гэх мэтийн талаар санаа зовох хэрэггүй.
Техникийн дэлгэрэнгүй мэдээлэлд санаа зовох шаардлагагүй тул цахим шуудан, файл хуваалцах, олон нийтийн сүлжээ гэх мэт программ хангамжийг ашигладаг энгийн хэрэглэгчид эсвэл компаниудын дунд хамгийн алдартай.

Зураг 3: Үүлний гол саналуудын хураангуй | Зургийг өгсөн Blog Specia дахь Амир

3. Google Cloud Platform Computing Suite

2-р хэсэг дэх ердийн үүлэн үйлчилгээ үзүүлэгчийн саналуудыг харсны дараа бид тэдгээрийг Google Cloud-ийн саналуудтай харьцуулж болно.

3.1 Google Compute Engine (GCE) - IaaS

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Зураг 4: Google Compute Engine (GCE) дүрс

GCE бол Google-ийн IaaS санал юм. GCE-ийн тусламжтайгаар та виртуал машинуудыг чөлөөтэй үүсгэж, CPU болон санах ойн нөөцийг хуваарилж, SSD эсвэл HDD гэх мэт хадгалах төрөл, санах ойн хэмжээг сонгох боломжтой. Бараг л та өөрийн компьютер/ажлын станцаа бүтээж, хэрхэн ажилладаг талаар бүх нарийн ширийн зүйлийг зохицуулсан юм шиг.

GCE-д та 0,3 цөмт процессортой, 1 ГБ RAM-тай микро инстансуудаас 96 ГБ-аас дээш RAM-тай 300 цөмт мангас хүртэл сонгох боломжтой. Та мөн ажлын ачаалалдаа тохируулсан хэмжээтэй виртуал машин үүсгэж болно. Сонирхсон хүмүүсийн хувьд эдгээр нь таны барьж болох виртуал машинууд юм.

Машины төрөл | Тооцооллын хөдөлгүүрийн баримт бичиг | Google Cloud

3.2. Google Kubernetes Engine (GKE) - (Caas / Kaas)

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Зураг 5: Google Kubernetes Engine (GKE) дүрс

GKE нь GCP-ийн өвөрмөц тооцооллын санал бөгөөд Compute Engine-ийн дээд талд байгаа хийсвэр зүйл юм. Ерөнхийдөө GKE-г Container as a Service (CaaS), заримдаа Kubernetes as a Service (KaaS) гэж нэрлэдэг бөгөөд энэ нь хэрэглэгчдэд Docker контейнеруудаа бүрэн удирддаг Kubernetes орчинд хялбархан ажиллуулах боломжийг олгодог. Контейнерийн талаар сайн мэдэхгүй хүмүүсийн хувьд контейнер нь үйлчилгээ/програмыг модульчлахад тусалдаг тул өөр өөр контейнер нь өөр өөр үйлчилгээг агуулж болно, жишээлбэл, нэг контейнер таны вэб програмын нүүрэн талыг, нөгөө нь арын хэсгийг агуулж болно. Kubernetes таны контейнеруудыг автоматжуулж, зохион байгуулж, удирдаж, байрлуулдаг. Дэлгэрэнгүй мэдээллийг эндээс авна уу.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) - (PaaS)

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Зураг 6: Google App Engine (GAE) дүрс

2.2-р хэсэгт дурьдсанчлан PaaS нь IaaS-ийн дээр байрладаг бөгөөд GCP-ийн хувьд үүнийг GKE-ээс дээш санал гэж үзэж болно. GAE бол Google-ийн захиалгат PaaS бөгөөд тэдний өөрсдийгөө хамгийн сайн тодорхойлдог арга бол "кодоо авчир, бид үлдсэнийг нь хариуцах болно".

Энэ нь GAE-г ашигладаг хэрэглэгчид үндсэн техник хангамж/дунд програм хангамжтай харьцах шаардлагагүй бөгөөд урьдчилан тохируулсан платформыг ашиглахад бэлэн байх боломжийг олгодог; Тэдний хийх ёстой зүйл бол үүнийг ажиллуулахад шаардлагатай кодыг өгөх явдал юм.

GAE нь ачаалал болон хэрэглэгчийн эрэлт хэрэгцээг хангахын тулд масштабыг автоматаар зохицуулдаг бөгөөд энэ нь Гэгээн Валентины өдөр ойртож байгаа тул таны цэцэг зардаг вэб сайт гэнэт оргилдоо хүрвэл GAE эрэлт хэрэгцээг хангахын тулд суурь дэд бүтцийг өргөжүүлэх ажлыг зохицуулж, эрэлт нэмэгдсэний улмаас вэбсайт тань сүйрэхгүй байх болно гэсэн үг юм. Энэ нь та яг тухайн үед таны програмд ​​шаардагдах нөөцийг төлнө гэсэн үг юм.

GAE нь энэ бүхнийг зохицуулахын тулд Kubernetes эсвэл түүний эх хувилбарыг ашигладаг тул та энэ талаар санаа зовох шаардлагагүй болно. GAE нь үндсэн дэд бүтцийг сонирхдоггүй компаниудад хамгийн тохиромжтой бөгөөд зөвхөн тэдний програмыг хамгийн сайн аргаар ашиглах боломжтой эсэхийг шалгадаг.

Миний бодлоор, хэрэв та гайхалтай санаатай хөгжүүлэгч боловч сервер тохируулах, ачааллыг тэнцвэржүүлэх болон бусад бүх цаг хугацаа шаардсан devops/SRE ажлыг даван туулахыг хүсэхгүй байгаа бол GAE бол эхлэх хамгийн тохиромжтой газар юм. . Цаг хугацаа өнгөрөхөд та GKE болон GCE-г туршиж үзэх боломжтой, гэхдээ энэ бол зөвхөн миний бодол юм.

Хариуцлага: AppEngine нь гар утасны програм биш харин вэб программуудад ашиглагддаг.

Мэдээлэлд: App Engine - Ямар ч хэл дээр өргөтгөх боломжтой вэб болон гар утасны арын сүлжээг бий болгох | Google Cloud

3.4 Google Cloud функцууд - (FaaS)

GCP: Google Cloud Platform Computing Stack-ийн задаргаа

Зураг 7: Google Cloud Functions (GCF) дүрс

Та өмнөх саналуудыг хараад чиг хандлагыг анзаарсан гэж найдаж байна. Та GCP тооцооллын шийдлийн шатаар дээш гарах тусам үндсэн технологийн талаар санаа зовох шаардлагагүй болно. Энэ пирамид нь 1-р хэсэгт үзүүлсэн шиг хамгийн бага тооцооны нэгж болох функцээр төгсдөг.

GCF нь харьцангуй шинэ GCP санал бөгөөд одоог хүртэл бета хувилбарт байгаа (энэ зүйлийг бичиж байх үед). Клоуд функцууд нь хөгжүүлэгчийн бичсэн зарим функцийг үйл явдлын улмаас өдөөх боломжийг олгодог.

Эдгээр нь үйл явдалд тулгуурладаг бөгөөд "сервергүй" гэсэн үгийн гол цөм нь тэд серверийг мэдэхгүй гэсэн үг юм. Үүлэн функцууд нь маш энгийн бөгөөд үйл явдлын талаар бодох шаардлагатай олон янзын хэрэглээтэй байдаг. Жишээлбэл, шинэ хэрэглэгч бүртгүүлэх бүрд үүлэн функцийг ажиллуулж хөгжүүлэгчдэд анхааруулах боломжтой.

Үйлдвэрт тодорхой мэдрэгч тодорхой утгад хүрэхэд зарим мэдээлэл боловсруулдаг үүлэн функцийг идэвхжүүлж эсвэл засвар үйлчилгээний ажилтнуудад мэдэгддэг.

Үүлэн функцууд - Үйл явдалд суурилсан серверийн тооцоолол | Google Cloud

дүгнэлт

Энэ нийтлэлд бид IaaS, PaaS гэх мэт янз бүрийн үүлний саналууд болон Google-ийн тооцоолох стек нь эдгээр өөр давхаргыг хэрхэн хэрэгжүүлдэг талаар ярилцсан. Paas дахь IaaS гэх мэт нэг үйлчилгээний ангиллаас нөгөөд шилжих үед хийсвэрлэх давхаргууд нь үндсэн зүйлийн талаар бага мэдлэг шаарддаг болохыг бид харсан.

Бизнесийн хувьд энэ нь зөвхөн өөрийн үйл ажиллагааны зорилгод нийцэх төдийгүй аюулгүй байдал, зардал гэх мэт бусад чухал хэсгүүдэд нийцсэн чухал уян хатан байдлыг хангадаг. Нэгтгэн дүгнэхэд:

Compute Engine - RAM, процессор, санах ой гэх мэт тодорхой техник хангамжийн нөөцийг хуваарилах замаар өөрийн виртуал машин үүсгэх боломжийг танд олгоно. Энэ нь бас нэлээд практик, доогуур түвшинд байна.

Kubernetes хөдөлгүүр Энэ нь Compute Engine-ээс нэг шат ахисан бөгөөд танд хэрэглүүрээ удирдахын тулд Кубернетес болон контейнер ашиглах боломжийг олгож, шаардлагатай бол томруулах боломжийг олгоно.

Апп хөдөлгүүр Энэ нь Kubernetes Engine-ээс ахисан алхам бөгөөд Google нь платформын үндсэн шаардлагуудыг хангаж байхад зөвхөн код дээрээ л анхаарлаа хандуулах боломжийг олгодог.

Үүлэн функцууд нь тооцоолох пирамидын дээд хэсэг бөгөөд үүнийг ажиллуулахдаа үндсэн дэд бүтцийг бүхэлд нь ашиглан тооцоолж, үр дүнг буцаах энгийн функц бичих боломжийг танд олгоно.

Таны анхаарлын төвд баярлалаа!

Twitter: @martinomburajr

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх