GCP: Google Cloud Platform Computing Stackтин бөлүштүрүлүшү

Макаланын котормосу курстун студенттери үчүн атайын даярдалган "Булут кызматтары".

Бул багытта өнүгүүгө кызыкдарсызбы? Профессионалдык мастер-класстын жазуусун көрүңүз "AWS EC2 кызматы", аны InBitтеги TeamLead жана OTUSдагы билим берүү программасынын автору Егор Зуев өткөрдү.

GCP: Google Cloud Platform Computing Stackтин бөлүштүрүлүшү

Google Булут Платформасы (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-сүрөттө көрсөтүлгөн нерселердин бардыгын камсыздай алышат.

- Эгер сиз булут кызматтары менен тааныш болсоңуз, анда өтүңүз бөлүм 3GCP эквивалентин көрүү үчүн
- Эгер сиз булут кызматтарынын корутундусун гана кааласаңыз, дарегине өтүңүз бөлүм 2.4

2. Булут кызматтары

Булуттагы эсептөө дүйнөсү абдан ар түрдүү. Булут провайдерлери кардарлардын ар кандай талаптарына ылайыкташтырылган көптөгөн кызматтарды сунуштайт. Сиз IaaS, PaaS, SaaS, FaaS, KaaS ж.б. алфавиттин бардык тамгаларынан кийин "aaS" менен. Кызык атоо конвенциясына карабастан, алар булут провайдеринин кызматтарынын топтомун түзөт. Булут провайдерлери дээрлик дайыма камсыз кылган 3 негизги "кызмат катары" (Кызмат катары) сунуштары бар экенин билдирем.

Булар IaaS, PaaS жана SaaS, алар тиешелүүлүгүнө жараша инфраструктура кызмат катары, платформа кызмат катары жана программалык камсыздоо кызмат катары. Булут кызматтарын тейлөө катмарлары катары элестетүү маанилүү. Бул сиз бир деңгээлден деңгээлге өйдө же ылдый жылганыңызда, сиз кардар катары негизги сунушка кошулган же алынып салынган ар кандай тейлөө опцияларын басып өтүп жатасыз дегенди билдирет. Муну 2-сүрөттө көрсөтүлгөндөй пирамида катары кабыл алуу эң жакшы.
GCP: Google Cloud Platform Computing Stackтин бөлүштүрүлүшү

2-сүрөт: AaS пирамидасы | Сүрөт булактан алынды Ruby Garage

2.1 Инфраструктура кызмат катары (IaaS)

Бул булут кызмат көрсөтүүчүсү сунуш кыла ала турган эң төмөнкү деңгээл жана анын ичинде орто программа, тармак кабелдери, процессорлор, GPUлар, оперативдүү эстутум, тышкы сактагыч, серверлер жана негизги операциялык тутумдун сүрөттөрү, мисалы, Debian Linux, CentOS, Windows, ж.б.

Эгер сиз IaaS булут кызмат көрсөтүүчүсүнөн сунуш заказ кылсаңыз, анда бул сиз күткөн нерсе. Сиздин бизнесиңизди жүргүзүү үчүн бул бөлүктөрдү чогултуу кардар катары сизге көз каранды. Сиз менен иштөөнүн көлөмү сатуучудан сатуучуга чейин ар кандай болушу мүмкүн, бирок жалпысынан сиз жөн гана аппараттык жабдыктарды жана ОСти аласыз, калганын сиз жасайсыз. IaaS мисалдары AWS Elastic Compute, Microsoft Azure жана GCE.

Кээ бир адамдарга OS сүрөттөрүн орнотуу жана тармактык байланыш, жүктү тең салмактоо же алардын жумуш жүгү үчүн кандай процессордун түрү идеалдуу экенине кам көрүү менен алектениши керек экендиги жакпашы мүмкүн. Бул жерде биз пирамидадан PaaSке жылабыз.

2.2 Платформа кызмат катары (PaaS)

PaaS колдонуучулар тиркемелерди кура турган белгилүү бир платформаны сунуш кылган булут кызматын камсыздоочуну гана камтыйт. Бул IaaS боюнча абстракция, башкача айтканда, булут провайдери CPU, эстутум, оперативдүү эс тутум, сактоо, тармактык ж.б. түрлөрүнүн бардык деталдарына кам көрөт. платформа, анткени провайдер сиз үчүн инфраструктуранын бардык деталдарын иштетет. Сиз тандалган платформаны сурайсыз жана ага долбоорду курасыз. PaaS мисалы Heroku болуп саналат.

Кээ бирөөлөр үчүн бул өтө жогорку деңгээлде болушу мүмкүн, анткени ал долбоорду сөзсүз түрдө көрсөтүлгөн платформада курууну каалабайт, тескерисинче, булут кызмат көрсөтүүчүсүнөн түздөн-түз кызматтардын топтомун талап кылат. Бул жерде SaaS ойнойт.

2.3 Кызмат катары программалык камсыздоо (SaaS)

SaaS булут кызмат көрсөтүүчүлөр тарабынан сунушталган таралган кызмат болуп саналат. Алар акыркы колдонуучуларга арналган жана негизинен Gmail, Google Docs, Dropbox, ж.б.у.с. сыяктуу веб-сайттар аркылуу жеткиликтүү. Google Булутуна келсек, алардын эсептөө стекинен тышкары бир нече сунуштар бар, алар SaaS. Аларга Data Studio, Big Query ж.б.

2.4 Булут кызматтарынын кыскача баяндамасы

боюнча шайлоочулардын
киримдүүлүктөгү
Paas
SaaS

Сиз эмне алып жатасыз?
Сиз инфраструктураны алып, ошого жараша төлөйсүз. Кандайдыр бир программаны, операциялык системаны же алардын комбинациясын колдонуу же орнотуу эркиндиги.
Бул жерде сиз сураган нерсени аласыз. Программалык камсыздоо, аппараттык камсыздоо, OS, веб чөйрө. Сиз колдонууга даяр платформа аласыз жана ошого жараша төлөйсүз.
Бул жерде сиз эч нерседен кабатырланбайсыз. Сизге талаптарыңызга ылайыкташтырылган, алдын ала орнотулган топтом берилет жана сиз ошого жараша гана төлөшүңүз керек.

Наркы
Эсептөөнүн негизги деңгээли
Top IaaS
Бул негизинен кызматтардын толук пакети болуп саналат.

Техникалык кыйынчылыктар
Техникалык билим талап кылынат
Сизге негизги конфигурация берилет, бирок домен билими дагы эле талап кылынат.
Техникалык деталдар менен убара болуунун кереги жок. SaaS камсыздоочу баарын камсыз кылат.

Эмне менен иштейт
Виртуалдык машиналар, сактагычтар, серверлер, тармак, жүк балансы ж.б.
Runtimes (мисалы, java runtime), маалымат базалары (мисалы, mySQL, Oracle), веб серверлер (мисалы, tomcat ж.
Электрондук почта кызматтары (Gmail, Yahoo почтасы ж.б.), социалдык өз ара аракеттенүү сайттары (Facebook ж.б.)

Популярдуулук графиги
Алардын талаптарына же изилдөө чөйрөсүнө ылайыкташтырууну талап кылган жогорку квалификациялуу иштеп чыгуучулар, изилдөөчүлөр арасында популярдуу
Иштеп чыгуучулар арасында эң популярдуу, анткени алар өздөрүнүн тиркемелерин же скрипттерин иштеп чыгууга басым жасай алышат. Алар трафикти жүктөө же серверди башкаруу ж.б.у.с. жөнүндө тынчсыздануунун кереги жок.
Электрондук почта, файлдарды бөлүшүү, социалдык тармактар ​​сыяктуу программалык камсыздоону колдонгон жалпы керектөөчүлөр же компаниялар арасында эң популярдуу, анткени алар техникалык деталдар жөнүндө тынчсыздануунун кереги жок.

3-сүрөт: негизги булут сунуштарынын кыскача баяндамасы | Сүрөт сылык Blog Speciaдагы Амир

3. Эсептөө пакети Google Cloud Platform

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 ГБ оперативдүү эс тутуму бар микро инстанциялардан 96 ГБ оперативдик эстутуму бар 300 ядролуу желмогуздарга чейин тандай аласыз. Сиз ошондой эле иш жүктөөлөрүңүз үчүн ыңгайлаштырылган өлчөмдөгү виртуалдык машиналарды түзө аласыз. Кызыккандар үчүн бул сиз кура турган виртуалдык машиналар.

Машина түрлөрү | Compute Engine Documentation | Google Булут

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

GCP: Google Cloud Platform Computing Stackтин бөлүштүрүлүшү

5-сүрөт: Google Kubernetes Engine (GKE) сөлөкөтү

GKE бул GCPдин уникалдуу эсептөө сунушу, ал Compute Engine үстүнөн абстракция болуп саналат. Жалпысынан алганда, GKE кызмат катары Контейнер (CaaS), кээде Kubernetes Кызмат катары (KaaS) деп аталат, бул кардарларга Docker контейнерлерин толук башкарылган Kubernetes чөйрөсүндө оңой иштетүүгө мүмкүндүк берет. Контейнерлерди билбегендер үчүн контейнерлер кызматтарды/тиркемелерди модулдаштырууга жардам берет, андыктан ар кандай контейнерлер ар кандай кызматтарды камтышы мүмкүн, мисалы, бир контейнер сиздин веб тиркемеңиздин интерфейсин, экинчиси анын арткы жагын камтышы мүмкүн. Kubernetes контейнерлериңизди автоматташтырат, координациялайт, башкарат жана жайгаштырат. Көбүрөөк маалымат бул жерде.

Google Kubernetes Engine | Google Булут

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 негизги инфраструктурага кызыкпаган компаниялар үчүн эң ылайыктуу жана алардын тиркемесин мүмкүн болушунча жеткиликтүү кылууну гана ойлойт.

Менин оюмча, GAE - бул эң жакшы жер, эгерде сиз мыкты идеяга ээ иштеп чыгуучу болсоңуз, бирок серверлерди орнотуу, жүктөрдү тең салмактоо жана башка бардык devops/SRE убакытты талап кылган жумуштар менен алек болгуңуз келбесе. Убакыттын өтүшү менен GKE жана GCE сынап көрсөңүз болот, бирок бул менин оюм.

Жоопкерчиликтен баш тартуу: AppEngine мобилдик колдонмолор үчүн эмес, веб колдонмолору үчүн колдонулат.

Маалымат үчүн: App Engine - Каалаган тилде масштабдуу веб жана мобилдик серверлерди куруңуз | Google Булут

3.4 Google Cloud Functions - (FaaS)

GCP: Google Cloud Platform Computing Stackтин бөлүштүрүлүшү

7-сүрөт: Google Cloud Functions (GCF) сөлөкөтү

Мурунку сунуштарды талдоо менен сиз тенденцияны байкадыңыз деп ишенем. GCP Computing тепкичине канчалык бийик чыксаңыз, негизги технология жөнүндө ошончолук азыраак тынчсыздана аласыз. Бул пирамида 1-бөлүмдө көрсөтүлгөндөй, эсептөөнүн мүмкүн болгон эң кичине бирдиги, функция менен аяктайт.

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

Алар окуяга негизделген жана "серверсиз" деген сөздүн өзөгүндө, алар серверлерди билишпейт. Cloud Functions абдан жөнөкөй жана окуяларга негизделген ой жүгүртүүнү талап кылган көптөгөн ар кандай колдонууга ээ. Мисалы, жаңы колдонуучу катталган сайын, иштеп чыгуучуларга эскертүү берүү үчүн булут функциясы иштетилиши мүмкүн.

Заводдо, белгилүү бир сенсор белгилүү бир мааниге жеткенде, ал кээ бир маалыматты иштеткен булут функциясын иштете алат же кээ бир тейлөө кызматкерлерине кабарлайт ж.б.

Cloud Functions - Event Driven Server Computing | Google Булут

жыйынтыктоо

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

Бизнес үчүн бул анын операциялык максаттарына гана жооп бербестен, коопсуздук жана чыгым сыяктуу башка негизги чөйрөлөрдү канааттандырган маанилүү ийкемдүүлүктү камсыз кылат. Жыйынтыктоо:

эсептөө кыймылдаткычы - оперативдик эс, процессор, эс сыяктуу белгилүү бир аппараттык ресурстарды бөлүштүрүү аркылуу өзүңүздүн виртуалдык машинаңызды түзүүгө мүмкүндүк берет. Бул дагы бир топ практикалык жана төмөн деңгээлде.

Kubernetes Engine Бул Compute Engine'ден өйдө көтөрүлгөн кадам, ал сизге колдонмоңузду башкаруу үчүн Kubernetes жана контейнерлерди колдонууга мүмкүндүк берет жана керек болсо, аны масштабдатууга мүмкүндүк берет.

App Engine Google негизги платформанын бардык талаптарын камсыз кылат, ошол эле учурда сиздин кодуңузга гана көңүл бурууга мүмкүндүк берүүчү Kubernetes Engineден бир тепкич.

Cloud Functions Эсептөө пирамидасынын туу чокусу болуп саналат, ал сизге жөнөкөй функцияны жазууга мүмкүндүк берет, ал иштеткенде, натыйжаны эсептөө жана кайтаруу үчүн бардык негизги инфраструктураны колдонот.

Конул бурганын учун рахмат!

Twitter: @martinomburajr

Source: www.habr.com

Комментарий кошуу