Համար. թարգմանություն.: Ամերիկացի DevOps ինժեներ Սիդ Պալասը, օգտագործելով քաղաքական որպես տեղեկատվական հիմք, կատարեց համեմատություն կառավարված Kubernetes ծառայության (դիմումներով) գների շուրջ առաջատար համաշխարհային ամպային ծառայությունների մատակարարների միջև: Նրա աշխատանքի ավելորդ плюսը հանդիսացավ համապատասխան Jupyter Notebook-ի հրապարակումը, որը թույլ է տալիս (առկա նվազագույն Python գիտելիքներով) կատարել հաշվարկների համապատասխան փոփոխություններ՝ ըստ սեփական կարիքների:
TL;DR: Azure և Digital Ocean-ը չեն վերցնում վարձավճար կառավարող շերտի (control plane) համար օգտագործվող հաշվարկային ռեսուրսների համար, ինչը դարձնում է դրանք հարմար ընտրություն մի շարք փոքր կլաստերների տեղադրման համար: Փոքր քանակությամբ մեծ կլաստերներ տեղադրելու համար լավագույն ընտրությունը GKE-ն է: Բացի դրանից, ծախսերը կարելի է զգալիորեն կրճատել՝ օգտագործելով սպոտային/փոխարինելի/տղամարդիկ մեծացում (low-priority) հանգույցներ կամ «գրանցվելով» նույն հանգույցները երկարաժամկետ օգտագործման համար ( Սա վերաբերում է բոլոր հարթակներին):

Կլաստաների չափը (աշխատողներ)
Գլխավոր տեղեկություններ
GKE-ում յուրաքանչյուր կլասթի աշխատանքի ժամացույցի համար 10 ցենտ վերցնելու մասին ստիպեց ինձ զբաղվել հիմնական մատակարարողների առաջարկների գների վերլուծությամբ կառավարված (managed) Kubernetes-ի ոլորտում:

Այս հայտարարությունը շատ մարդկանց աչքում վատթարացրեց…
Այս հոդվածի գլխավոր հերոսներն են:
- Google Kubernetes Engine (GCP) – ;
- Elastic Kubernetes Service (AWS) – ;
- Azure Kubernetes Service (Azure) – ;
- Kubernetes on Digital Ocean – .
Ծախսերի բաշխում
Այս բոլոր հարթակներում Kubernetes օգտագործելու ընդհանուր ծախսերը բաղկացած են հետևյալ բաղադրիչներից:
- Կլաստերի կառավարման վճար;
- Բեռնաբքում (Ingress-ի համար);
- Հաշվարքային ռեսուրսներ (vCPU և հիշողություն) աշխատողների համար;
- Egress-traffic;
- Հարմար ծածկույթ;
- Տվյալների մշակում համատեղորդի կողմից:
Բացի դրանից, ամպային մատակարարները առաջարկում են զգալի զեղչեր, եթե հաճախորդը ցանկանում է/կարող է օգտագործել սպոտային (preemptible), կամ տղամարդկանց մեծացում (low-priority) հանգույցներ, կամ պարտավորվում է նույն հանգույցները օգտագործել 1-3 տարվա ընթացքում:
Մենք պետք է նշենք, որ չնայած արժեքը լավ հիմք է ծառայությունների մատակարարների համեմատության և գնահատման համար, պետք է հաշվի առնել նաև այլ գործոններ:
- Ապաքինամբ երբևէ (Service Level Agreement);
- Ամպային էկոհամակարգը;
- K8s-ի հասանելի տարբերակները;
- Dokumentacia / գործիքներ որակի:
Բայց այս գործոնները դուրս են այս հոդվածից / հետազոտությունից: հասկացվում են EKS, AKS և GKE-ի ոչ արժեքային գործոնները:
Jupyter Bloc-notebook
Ամենահեշտ լուծումը գտնելու համար, ես ստեղծել եմ , որը ներառում է plotly + ipywidgets: Այն թույլ է տալիս համեմատել մատակարարների առաջարկները տարբեր կլաստերների չափերի և ծառայությունների փաթեթների համար:
Խաղալ կենդանի Bloc-notebook-ի տարբերակը կարելի է Binder-ում:
Խնդրում եմ տեղեկացրեք ինձ, եթե հաշվարկները կամ սկզբնական գները սխալ են (այսը կարելի է անել գումարային հարցի կամ pull request-ի միջոցով GitHub-ում — ).
Արդուկները
Անձնապես շատ նրբությունները կան, որպեսզի տրամադրեմ ավելի կոնկրետ առաջարկներ, քան այն, որոնք ընդգրկված են TL;DR հատվածում սկզբում։ Այնուամենայնիվ, որոշ եզրակացություններ դեռ կարող ենք անել՝
- GKE և EKS-ի համեմատ, AKS-ն ու Digital Ocean-ը չեն վարձում կառավարման շերտի ռեսուրսների համար։ AKS-ը և DO-ն ավելի շահեկան են, եթե ճարտարապետությունը ներառում է բազմաթիվ փոքր կլաստերներ (օրինակ, յուրաքանչյուր ապարատի համար մեկ կլաստեր) ஒவ்வொரு разработчике կամ ஒவ்வொரு клиентի համար).
- GKE-ի մի քիչ ավելի էժան հաշվարկային ռեսուրսները ավելի շահեկան են դառնում կլաստերների մեծության մեծանալու հետ*։
- Օգտագործելով չկատարող узлы կամ երկարաժամկետ կապի կապ կամ узлы, ծախսերը կարելի է իջեցնել ավելի քան 50%-ով։ Նկարագիր. Digital Ocean-ում նման զեղրում չկա։
- Google-ում ելքի տրանսպորտի վճարը ավելի բարձր է, սակայն որոշիչ գործոն է հաշվարկում հաշվարկային ռեսուրսների արժեքը (համենայնդեպս, եթե ձեր կլաստերը չի հանդիսանում մեծ ծավալի ելքի տվյալների աղբյուր)։
- Աշխատանքային բեռների CPU-ի և հիշողության կարիքները հաշվի առնելով, մեքենաների տեսակների ընտրությունն թույլ է տալիս խուսափել ավելորդ վճարներից չօգտագործված ռեսուրսների համար։
- Digital Ocean-ը ավելի քիչ է պահանջում vCPU-ի համար և ավելի շատ հիշողության համար մյուս հարթակների համեմատ — սա կարող է որոշիչ գործոն դառնալ որոշ տեսակների հաշվարկային բեռների համար:
* Նկարագիր. վերլուծության մեջ օգտագործվում են ընդհանուր նպատակների հաշվարկային узлы տվյալները (general-purpose). Սա n1 GCP Compute Engine-ի, m5 AWS ec2-ի, D2v3 Azure-ի վիրտուալ մեքենաների և DO-ի droplet-ների օրինակներն են, որոնք ունեն ծածկված CPU-ներ։ Շատ դեպքերում, այլ տեսակների վիրտուալ մեքենաների (burstable, entry-level) միջը կարելի է ուսումնասիրել: Առաջին գծում, վիրտուալ մեքենաների արժեքները ուղղակիորեն կախված են vCPU-ների քանակից և հիշողության ծավալից, սակայն ես վստահ չեմ, որ այս ենթադրությունը մնացե՛լ է համարժեք բարդ հիշողություն/CPU-ի համեմատակայության համար։
Հոդվածում , հրապարակված 2018 թվականին, օգտագործվել էր 100 vCPU և 400 Գբ հիշողություն ունեցող կարգավորիչ կլաստեր։ Համեմատության համար, իմ հաշվարկներով, այս կլաստերն յուրաքանչյուրի այս պլատֆորմում (on-demand օրինակների համար) կհասնի նման հավելվածի՝
- AKS: 51465 USD/տարեկան
- EKS: 43138 USD/տարեկան
- GKE: 30870 USD/տարեկան
- DO: 36131 USD/տարեկան
Հույս ունեմ, որ հոդվածը՝ համատեղ արխիվով, կօգնի ձեզ գնահատել հիմնական առաջարկները զբաղված Kubernetes-ի կառավարման և/կամ խնայել ամպային ենթակառուցվածքից՝ օգտագործելով զեղրեր և այլ հնարավորություններ։
P.S. թարգմանչից
Նաեւ կարդացեք մեր բլոգում:
- «»;
- «»;
- «»;
- «».
Ընտանիք: habr.com
