GCP: Google Cloud Platform Compute Stack талдауы

Мақаланың аудармасы курс студенттері үшін арнайы дайындалған «Бұлттық қызметтер».

Осы бағытта дамуға мүдделі ме? Кәсіби шеберлік сабағының жазбасын қараңыз «AWS EC2 қызметі», оны InBit-те TeamLead және OTUS-те білім беру бағдарламасының авторы Егор Зуев жүргізді.

GCP: Google Cloud Platform Compute 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 Compute Stack талдауы

1. Стекті есептеу

Есептеу стегін компьютерлік жүйе қамтамасыз ете алатын деңгейлі абстракция ретінде қарастыруға болады. Бұл стек көтеріледі (жоғары жылжиды) «жалаң темірден» (жалаң металл), компьютердің нақты аппараттық құрамдас бөліктеріне сілтеме жасай отырып, функцияларға дейін (функциялары), ол ең кіші есептеу бірлігін білдіреді. Стек туралы айта кететін маңызды нәрсе: «қолданбалар» бөлімі ( сияқты стекке жылжытқанда қызметтер біріктіріледі.бағдарламалар), төмендегі 1-суретте көрсетілген, барлық негізгі контейнер құрамдастарын қамтуы керек (контейнерлер), виртуалды машиналар (виртуалды машиналар) және темір. Сол сияқты, виртуалды машиналар құрамдас бөлігі жұмыс істеу үшін ішінде аппараттық құралды қамтуы керек.

GCP: Google Cloud Platform Compute Stack талдауы

1-сурет: стек есептеу | Кескін қайдан алынды Google Cloud

1-суретте көрсетілген бұл модель бұлттық провайдерлердің ұсыныстарын сипаттау үшін негіз болып табылады. Осылайша, кейбір провайдерлер, мысалы, стектің бойымен сапасы төмен контейнерлер мен қызметтерді ғана ұсына алады, ал басқалары 1-суретте көрсетілгеннің барлығын қамтамасыз ете алады.

— Бұлттық қызметтермен таныс болсаңыз, мына сайтқа өтіңіз 3-бөлімGCP баламасын көру үшін
— Тек бұлттық қызметтер туралы қысқаша мәлімет алғыңыз келсе, өтіңіз 2.4-бөлім

2. Бұлттық қызметтер

Бұлтты есептеулер әлемі өте алуан түрлі. Бұлттық провайдерлер тұтынушылардың әртүрлі талаптарына бейімделген әртүрлі қызметтерді ұсынады. IaaS, PaaS, SaaS, FaaS, KaaS және т.б. сияқты терминдерді естіген боларсыз. алфавиттің барлық әріптерінен кейін "aaS". Біртүрлі атау конвенциясына қарамастан, олар бұлттық провайдер қызметтерінің жиынтығын құрайды. Мен бұлттық провайдерлер әрдайым дерлік ұсынатын «қызмет ретінде» 3 негізгі ұсыныс бар екенін айтамын.

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

2-сурет: aaS пирамидасы | Кескін қайдан алынды Ruby гаражы

2.1 Инфрақұрылым қызмет ретінде (IaaS)

Бұл бұлттық провайдер ұсына алатын ең төменгі деңгей және бұлттық провайдер аралық бағдарламалық құралды, желілік кабельдерді, процессорларды, графикалық процессорларды, жедел жадты, сыртқы жадты, серверлерді және операциялық жүйенің негізгі кескіндерін, мысалы, Debian Linux, CentOS, Windows сияқты жалаң металл инфрақұрылымын жеткізуді қамтиды. , т.б.

Бұлттық IaaS провайдерінен баға ұсынысына тапсырыс берсеңіз, бұл сізге күтілетін нәрсе. Сіздің бизнесіңізді жүргізу үшін осы бөлшектерді жинау сізге, тұтынушыға байланысты. Жұмыс істеуге тура келетін нәрсенің көлемі жеткізушіден сатушыға дейін өзгеруі мүмкін, бірақ әдетте сіз тек аппараттық құрал мен операциялық жүйені аласыз, ал қалғаны сізге байланысты. IaaS мысалдары AWS Elastic Compute, Microsoft Azure және GCE болып табылады.

Кейбір адамдарға ОЖ кескіндерін орнату және желімен жұмыс істеу, жүктемені теңестіру немесе олардың жұмыс жүктемесі үшін қандай процессор түрі өте қолайлы екендігі туралы алаңдаушылық ұнамауы мүмкін. Міне, біз пирамиданы PaaS-ке қарай жылжытамыз.

2.2 Қызмет ретінде платформа (PaaS)

PaaS пайдаланушылар қолданбалар құра алатын нақты платформаны ұсынатын бұлттық қызмет провайдерін ғана қамтиды. Бұл IaaS бойынша абстракция, яғни бұлттық провайдер процессор түрлерінің, жадтың, жедел жадтың, сақтаудың, желілердің және т.б. барлық мәліметтерді өз мойнына алады. 2-суретте көрсетілгендей, тұтынушы ретінде сіз нақты платформаны аз басқара аласыз, өйткені бұлт провайдері сіз үшін барлық инфрақұрылым мәліметтерін өңдейді. Сіз таңдалған платформаны сұрап, оған жобаны құрастырасыз. PaaS мысалдары Хероку болып табылады.

Кейбіреулер үшін бұл тым жоғары деңгей болуы мүмкін, өйткені олар міндетті түрде жобаны белгілі бір платформада құрғысы келмейді, керісінше бұлт провайдерінен тікелей қызметтер жиынтығын қажет етеді. Бұл жерде SaaS суретке түседі.

2.3 Бағдарламалық құрал қызмет ретінде (SaaS)

SaaS бұлттық қызмет провайдерлері ұсынатын ең көп таралған қызметтерді білдіреді. Олар түпкілікті пайдаланушыларға бағытталған және негізінен Gmail, Google Docs, Dropbox және т.б. сияқты веб-сайттар арқылы қол жетімді. Google Cloud-қа келетін болсақ, олардың есептеулер стекінен тыс бірнеше ұсыныстар бар, олар SaaS. Оларға Data Studio, Big Query және т.б.

2.4 Бұлттық қызметтер туралы қорытынды

Құрамдастар
IaaS
PaaS
SaaS

Сіз не аласыз
Сіз инфрақұрылымды аласыз және соған сәйкес төлейсіз. Кез келген бағдарламалық құралды, ОЖ немесе оның құрамын пайдалану немесе орнату еркіндігі.
Мұнда сіз сұрағаныңызды аласыз. Бағдарламалық қамтамасыз ету, аппараттық қамтамасыз ету, ОЖ, веб-орта. Сіз пайдалануға дайын платформа аласыз және сәйкесінше төлейсіз.
Мұнда ештеңеге алаңдаудың қажеті жоқ. Сізге талаптарыңызға сәйкес теңшелген алдын ала орнатылған пакет беріледі және сізге сәйкесінше төлеу керек.

құн
Негізгі есептеулер
Жоғары IaaS
Бұл негізінен қызметтердің толық пакеті

Техникалық қиындықтар
Техникалық білім қажет
Сізге негізгі конфигурация берілді, бірақ әлі де домен туралы білім қажет.
Техникалық мәліметтермен алаңдаудың қажеті жоқ. SaaS провайдері барлығын қамтамасыз етеді.

Ол немен жұмыс істейді?
Виртуалды машиналар, қоймалар, серверлер, желі, жүктеме балансы және т.б.
Орындау орталары (мысалы, java жұмыс уақыты), дерекқорлар (мысалы, mySQL, Oracle), веб-серверлер (мысалы, tomcat және т.б.)
Электрондық пошта қызметтері (Gmail, Yahoo поштасы және т.б.), әлеуметтік өзара әрекеттесу сайттары (Facebook және т.б.) сияқты қолданбалар.

Танымалдық графигі
Жоғары білікті әзірлеушілер, олардың талаптарына немесе зерттеу саласына сәйкес теңшеуді қажет ететін зерттеушілер арасында танымал
Әзірлеушілер арасында ең танымал, өйткені олар өз қосымшаларын немесе сценарийлерін әзірлеуге назар аудара алады. Олар трафик жүктемесі немесе серверді басқару және т.б. туралы алаңдамауы керек.
Кәдімгі тұтынушылар немесе электрондық пошта, файл алмасу, әлеуметтік желілер сияқты бағдарламалық жасақтаманы пайдаланатын компаниялар арасында ең танымал, өйткені олар техникалық мәліметтер туралы алаңдамайды.

3-сурет: Негізгі бұлттық ұсыныстардың қысқаша мазмұны | Кескін берілген Amir Blog Specia сайтында

3. Google Cloud Platform Computing Suite

2-бөлімде әдеттегі бұлттық провайдер ұсыныстарын қарастырып, біз оларды Google Cloud ұсыныстарымен салыстыра аламыз.

3.1 Google Compute Engine (GCE) - IaaS

GCP: Google Cloud Platform Compute Stack талдауы

4-сурет: Google Compute Engine (GCE) белгішесі

GCE — Google ұсынған IaaS ұсынысы. GCE көмегімен виртуалды машиналарды еркін жасауға, процессор мен жад ресурстарын бөлуге, SSD немесе HDD сияқты сақтау түрін және жад көлемін таңдауға болады. Сіз өзіңіздің компьютеріңізді/жұмыс станцияңызды жасап, оның қалай жұмыс істейтіні туралы барлық мәліметтерді өңдеген сияқтысыз.

GCE жүйесінде 0,3 ядролы процессорлары және 1 ГБ жедел жады бар микро даналардан 96 ГБ жедел жады бар 300 ядролы монстрларға дейін таңдауға болады. Сондай-ақ, жұмыс жүктемелері үшін теңшелетін өлшемді виртуалды машиналарды жасауға болады. Қызығушылық танытқандар үшін бұл сіз жасай алатын виртуалды машиналар.

Машина түрлері | Есептеу механизмінің құжаттамасы | Google Cloud

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

GCP: Google Cloud Platform Compute Stack талдауы

5-сурет: Google Kubernetes Engine (GKE) белгішесі

GKE — Compute Engine жоғарғы жағындағы абстракция болып табылатын GCP бірегей есептеу ұсынысы. Жалпы алғанда, GKE қызмет ретінде контейнер (CaaS), кейде Kubernetes қызмет ретінде (KaaS) деп аталады, бұл тұтынушыларға Docker контейнерлерін толығымен басқарылатын Kubernetes ортасында оңай іске қосуға мүмкіндік береді. Контейнерлермен таныс емес адамдар үшін контейнерлер қызметтерді/қолданбаларды модульизациялауға көмектеседі, сондықтан әртүрлі контейнерлерде әртүрлі қызметтер болуы мүмкін, мысалы, бір контейнер веб-бағдарламаның алдыңғы жағын орналастыра алады, ал екіншісінде оның артқы жағы болуы мүмкін. Kubernetes контейнерлеріңізді автоматтандырады, реттейді, басқарады және орналастырады. Қосымша ақпарат осында.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) - (PaaS)

GCP: Google Cloud Platform Compute 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 бұлттық функциялары - (FaaS)

GCP: Google Cloud Platform Compute Stack талдауы

7-сурет: Google бұлттық функциялары (GCF) белгішесі

Алдыңғы ұсыныстарды қарап отырып, сіз трендті байқадыңыз деп үміттенеміз. GCP есептеу шешімдерінің баспалдағына неғұрлым жоғары көтерілсеңіз, негізгі технология туралы алаңдамайсыз. Бұл пирамида 1-бөлімде көрсетілгендей мүмкін болатын ең кіші есептеу бірлігімен, функциямен аяқталады.

GCF - бұл әлі бета нұсқасында (осы жазу кезінде) салыстырмалы жаңа GCP ұсынысы. Бұлттық функциялар әзірлеуші ​​жазған белгілі бір функцияларды оқиға арқылы іске қосуға мүмкіндік береді.

Олар оқиғаға негізделген және «серверсіз» деген сөздің негізінде жатыр, яғни олар серверлерді білмейді. Бұлттық функциялар өте қарапайым және оқиғаларды ойлауды қажет ететін көптеген әртүрлі қолдануларға ие. Мысалы, жаңа пайдаланушы тіркелген сайын, әзірлеушілерді ескерту үшін бұлт функциясын іске қосуға болады.

Зауытта белгілі бір сенсор белгілі бір мәнге жеткенде, ол кейбір ақпаратты өңдеуді жүзеге асыратын бұлттық функцияны іске қоса алады немесе кейбір техникалық қызмет көрсету персоналына хабарлайды және т.б.

Бұлттық функциялар - оқиғаға негізделген серверлік есептеулер | Google Cloud

қорытынды

Бұл мақалада біз IaaS, PaaS және т.б. сияқты әртүрлі бұлт ұсыныстары және Google есептеулер стегі осы әртүрлі қабаттарды қалай жүзеге асыратыны туралы әңгімелестік. Біз бір қызмет санатынан екіншісіне ауысқан кезде абстракциялық қабаттар, мысалы, Paas-тағы IaaS, негізді білуді аз талап ететінін көрдік.

Бизнес үшін бұл оның операциялық мақсаттарына ғана емес, сонымен қатар қауіпсіздік пен шығындар сияқты басқа да негізгі салаларға жауап беретін маңызды икемділікті қамтамасыз етеді. Қорытындылай келе:

Compute Engine - белгілі бір аппараттық ресурстарды, мысалы, жедел жады, процессор, жадты бөлу арқылы өзіңіздің виртуалды машинаңызды жасауға мүмкіндік береді. Бұл сондай-ақ өте практикалық және төмен деңгейлі.

Kubernetes қозғалтқышы Compute Engine жүйесінен жоғары саты болып табылады және қолданбаңызды басқару үшін Kubernetes және контейнерлерді пайдалануға мүмкіндік береді, қажет болған жағдайда оны масштабтауға мүмкіндік береді.

Қолданба механизмі Бұл Kubernetes Engine жүйесінен жоғары саты, бұл Google платформаның барлық негізгі талаптарын орындаған кезде тек кодқа назар аударуға мүмкіндік береді.

Бұлттық функциялар есептеу пирамидасының жоғарғы бөлігі болып табылады, ол іске қосылғанда нәтижені есептеу және қайтару үшін барлық негізгі инфрақұрылымды пайдаланатын қарапайым функцияны жазуға мүмкіндік береді.

Назарларыңызға рахмет!

Twitter: @martinomburajr

Ақпарат көзі: www.habr.com

пікір қалдыру