GCP՝ Google Cloud Platform Computing Stack-ի բաշխում

Հոդվածի թարգմանությունը պատրաստվել է հատուկ դասընթացի ուսանողների համար «Ամպային ծառայություններ».

Հետաքրքրվա՞ծ եք այս ուղղությամբ զարգանալ: Դիտեք պրոֆեսիոնալ վարպետության դասի ձայնագրությունը «AWS EC2 ծառայություն», որը վարում էր Եգոր Զուևը՝ TeamLead InBit-ում և կրթական ծրագրի հեղինակ 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. Հաշվարկել կույտը

Համակարգչային կույտը կարելի է համարել որպես շերտավորված վերացականություն այն մասին, թե ինչ կարող է ապահովել համակարգչային համակարգը: Այս բուրգը բարձրանում է (շարժվում է վերև) «մերկ երկաթից» (մերկ մետաղ), նկատի ունենալով համակարգչի իրական ապարատային բաղադրիչները, մինչև գործառույթները (գործառույթները), որոնք ներկայացնում են հաշվարկի ամենափոքր միավորը։ Այն, ինչ կարևոր է նշել կույտի մասին, այն է, որ ծառայությունները համախմբվում են, երբ դուք բարձրանում եք կույտ, օրինակ՝ «հավելվածներ» բաժինը (Apps), որը ցույց է տրված ստորև նկար 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 Pyramid | Պատկերը ստացվել է Ruby ավտոտնակ

2.1 Ենթակառուցվածքը որպես ծառայություն (IaaS)

Սա ամենացածր մակարդակն է, որը կարող է առաջարկել ամպային մատակարարը և ներառում է ամպային մատակարարին, որն ապահովում է մերկ մետաղական ենթակառուցվածքը, ներառյալ միջին ծրագրակազմը, ցանցային մալուխը, պրոցեսորները, GPU-ները, RAM-ը, արտաքին պահեստը, սերվերները և հիմքում ընկած օպերացիոն համակարգի պատկերները, օրինակ՝ Debian Linux, CentOS, Windows: և այլն։

Եթե ​​դուք գնանշում եք պատվիրում ամպային IaaS մատակարարից, սա այն է, ինչ դուք պետք է ակնկալեք ստանալ: Դուք՝ հաճախորդ, պետք է հավաքեք այս կտորները՝ ձեր բիզնեսը վարելու համար: Այն, ինչի հետ դուք պետք է աշխատեք, կարող է տարբեր լինել վաճառողից մինչև վաճառող, բայց ընդհանուր առմամբ, դուք պարզապես ստանում եք սարքավորումները և ՕՀ-ն, իսկ մնացածը կախված է ձեզանից: IaaS-ի օրինակներն են AWS Elastic Compute, Microsoft Azure և GCE:

Որոշ մարդկանց կարող է դուր չգալ այն փաստը, որ նրանք պետք է տեղադրեն ՕՀ-ի պատկերներ և զբաղվեն ցանցով, բեռի հավասարակշռմամբ կամ անհանգստանալով, թե ինչ տեսակի պրոցեսոր է իդեալական իրենց աշխատանքային ծանրաբեռնվածության համար: Այստեղ մենք շարժվում ենք բուրգով դեպի PaaS:

2.2 Հարթակը որպես ծառայություն (PaaS)

PaaS-ը ներառում է միայն ամպային ծառայությունների մատակարար, որն առաջարկում է հատուկ հարթակ, որի վրա օգտվողները կարող են ստեղծել հավելվածներ: Սա աբստրակցիա է IaaS-ի վրա, ինչը նշանակում է, որ ամպային մատակարարը հոգ է տանում պրոցեսորի տեսակների, հիշողության, RAM-ի, պահեստի, ցանցերի և այլնի բոլոր մանրամասների մասին: Ինչպես ցույց է տրված Նկար 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 մատակարարն ապահովում է ամեն ինչ:

Ինչի՞ հետ է այն աշխատում:
Վիրտուալ մեքենաներ, պահեստավորում, սերվերներ, ցանցեր, բեռի հավասարակշռիչներ և այլն:
Runtime միջավայրեր (օրինակ՝ java runtime), տվյալների բազաներ (ինչպես mySQL, Oracle), վեբ սերվերներ (ինչպես tomcat և այլն)
Ծրագրեր, ինչպիսիք են էլփոստի ծառայությունները (Gmail, Yahoo mail և այլն), սոցիալական փոխազդեցության կայքերը (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-ն IaaS առաջարկ է Google-ից: GCE-ի միջոցով դուք կարող եք ազատորեն ստեղծել վիրտուալ մեքենաներ, հատկացնել պրոցեսոր և հիշողության ռեսուրսներ, ընտրել պահեստավորման տեսակը, օրինակ՝ SSD կամ HDD, և հիշողության ծավալը: Գրեթե այնպես է թվում, եթե դուք կառուցել եք ձեր սեփական համակարգիչը/աշխատանքային կայանը և մշակել այն բոլոր մանրամասները, թե ինչպես է այն աշխատում:

GCE-ում դուք կարող եք ընտրել 0,3 միջուկային պրոցեսորներով և 1 ԳԲ օպերատիվ հիշողությամբ միկրո տիպերից մինչև 96 ԳԲ-ից ավելի օպերատիվ հիշողությամբ 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 որպես ծառայություն (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-ն լավագույնս համապատասխանում է այն ընկերություններին, որոնք հետաքրքրված չեն հիմքում ընկած ենթակառուցվածքով և մտածում են միայն այն մասին, որ իրենց հավելվածը հնարավորինս մատչելի լինի:

Իմ կարծիքով, GAE-ն ամենալավ տեղն է սկսելու համար, եթե դուք հիանալի գաղափար ունեցող ծրագրավորող եք, բայց չեք ցանկանում զբաղվել սերվերների տեղադրման, բեռի հավասարակշռման և այլ ժամանակատար devops/SRE աշխատանքների հետ կապված դժվարությունների հետ: . Ժամանակի ընթացքում դուք կարող եք փորձել GKE և GCE, բայց դա միայն իմ կարծիքն է:

Հրաժարում պատասխանատվությունիցAppEngine-ն օգտագործվում է վեբ հավելվածների, այլ ոչ թե բջջային հավելվածների համար:

Տեղեկությունների համար: App Engine - Կառուցեք լայնածավալ վեբ և շարժական հետնամասեր ցանկացած լեզվով | Google Cloud

3.4 Google Cloud Functions - (FaaS)

GCP՝ Google Cloud Platform Computing Stack-ի բաշխում

Նկար 7. Google Cloud Functions (GCF) պատկերակ

Հուսանք, որ դուք նկատել եք միտում՝ նայելով նախորդ առաջարկներին: Որքան բարձր եք բարձրանում GCP հաշվողական լուծման սանդուղքով, այնքան ավելի քիչ պետք է անհանգստանաք հիմքում ընկած տեխնոլոգիայի մասին: Այս բուրգը ավարտվում է հաշվարկի հնարավոր ամենափոքր միավորով՝ ֆունկցիայով, ինչպես ցույց է տրված 1-ին բաժնում։

GCF-ն համեմատաբար նոր GCP առաջարկ է, որը դեռ բետա փուլում է (այս գրելու պահին): Ամպային գործառույթները թույլ են տալիս ծրագրավորողի կողմից գրված որոշակի գործառույթներ գործարկել իրադարձության արդյունքում:

Նրանք պայմանավորված են իրադարձություններով և գտնվում են «առանց սերվերի» հիմնական բառի հիմքում, ինչը նշանակում է, որ նրանք չգիտեն սերվերներ: Ամպային գործառույթները շատ պարզ են և ունեն բազմաթիվ տարբեր կիրառումներ, որոնք պահանջում են իրադարձությունների մտածողություն: Օրինակ՝ ամեն անգամ, երբ նոր օգտվող գրանցվում է, ամպային ֆունկցիան կարող է գործարկվել՝ ծրագրավորողներին զգուշացնելու համար:

Գործարանում, երբ որոշակի սենսորը հասնում է որոշակի արժեքի, այն կարող է գործարկել ամպային ֆունկցիա, որը կատարում է տեղեկատվության որոշակի մշակում, կամ տեղեկացնում է սպասարկման որոշ անձնակազմի և այլն:

Cloud Functions - իրադարձությունների վրա հիմնված սերվերի հաշվարկ | Google Cloud

Ամփոփում

Այս հոդվածում մենք խոսեցինք տարբեր ամպային առաջարկների մասին, ինչպիսիք են IaaS-ը, PaaS-ը և այլն, և թե ինչպես է Google-ի հաշվողական փաթեթն իրականացնում այս տարբեր շերտերը: Մենք տեսել ենք, որ աբստրակցիոն շերտերը ծառայության մի կատեգորիայից մյուսը անցնելիս, ինչպիսին է IaaS-ը Paas-ում, պահանջում են ավելի քիչ գիտելիքներ հիմքում ընկածի մասին:

Բիզնեսի համար սա կրիտիկական ճկունություն է ապահովում, որը ոչ միայն համապատասխանում է իր գործառնական նպատակներին, այլ նաև համապատասխանում է այլ հիմնական ոլորտներին, ինչպիսիք են անվտանգությունը և ծախսերը: Ամփոփել:

Compute Engine - թույլ է տալիս ստեղծել ձեր սեփական վիրտուալ մեքենան՝ հատկացնելով որոշակի ապարատային ռեսուրսներ, օրինակ՝ RAM, պրոցեսոր, հիշողություն: Այն նաև բավականին գործնական է և ցածր մակարդակի։

Kubernetes շարժիչ Compute Engine-ից մի քայլ առաջ է և թույլ է տալիս օգտագործել Kubernetes-ն ու կոնտեյներները՝ ձեր հավելվածը կառավարելու համար, ինչը թույլ է տալիս մեծացնել այն ըստ անհրաժեշտության:

Հավելվածի շարժիչ Սա մի քայլ առաջ է Kubernetes Engine-ից, որը թույլ է տալիս կենտրոնանալ միայն ձեր կոդի վրա, մինչդեռ Google-ը հոգում է հարթակի հիմքում ընկած բոլոր պահանջները:

Ամպային գործառույթներ հաշվողական բուրգի գագաթն է, որը թույլ է տալիս գրել մի պարզ ֆունկցիա, որը գործարկվելիս օգտագործում է ամբողջ հիմքում ընկած ենթակառուցվածքը՝ արդյունքը հաշվարկելու և վերադարձնելու համար:

Շնորհակալություն ձեր ուշադրության համար:

Twitter: @Martinomburajr

Source: www.habr.com

Добавить комментарий