Managed Kubernetes-ի արժեքների համեմատություն (2020)

Համար. թարգմանություն.: Ամերիկացի DevOps ինժեներ Սիդ Պալասը, օգտագործելով Google Cloud-ի վերջին հայտարարությունը քաղաքական որպես տեղեկատվական հիմք, կատարեց համեմատություն կառավարված Kubernetes ծառայության (դիմումներով) գների շուրջ առաջատար համաշխարհային ամպային ծառայությունների մատակարարների միջև: Նրա աշխատանքի ավելորդ плюսը հանդիսացավ համապատասխան Jupyter Notebook-ի հրապարակումը, որը թույլ է տալիս (առկա նվազագույն Python գիտելիքներով) կատարել հաշվարկների համապատասխան փոփոխություններ՝ ըստ սեփական կարիքների:

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

Managed Kubernetes-ի արժեքների համեմատություն (2020)
Կլաստաների չափը (աշխատողներ)

Գլխավոր տեղեկություններ

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

Managed Kubernetes-ի արժեքների համեմատություն (2020)
Այս հայտարարությունը շատ մարդկանց աչքում վատթարացրեց…

Այս հոդվածի գլխավոր հերոսներն են:

Ծախսերի բաշխում

Այս բոլոր հարթակներում Kubernetes օգտագործելու ընդհանուր ծախսերը բաղկացած են հետևյալ բաղադրիչներից:

  • Կլաստերի կառավարման վճար;
  • Բեռնաբքում (Ingress-ի համար);
  • Հաշվարքային ռեսուրսներ (vCPU և հիշողություն) աշխատողների համար;
  • Egress-traffic;
  • Հարմար ծածկույթ;
  • Տվյալների մշակում համատեղորդի կողմից:

Բացի դրանից, ամպային մատակարարները առաջարկում են զգալի զեղչեր, եթե հաճախորդը ցանկանում է/կարող է օգտագործել սպոտային (preemptible), փոխարինելի կամ տղամարդկանց մեծացում (low-priority) հանգույցներ, կամ պարտավորվում է նույն հանգույցները օգտագործել 1-3 տարվա ընթացքում:

Մենք պետք է նշենք, որ չնայած արժեքը լավ հիմք է ծառայությունների մատակարարների համեմատության և գնահատման համար, պետք է հաշվի առնել նաև այլ գործոններ:

  • Ապաքինամբ երբևէ (Service Level Agreement);
  • Ամպային էկոհամակարգը;
  • K8s-ի հասանելի տարբերակները;
  • Dokumentacia / գործիքներ որակի:

Բայց այս գործոնները դուրս են այս հոդվածից / հետազոտությունից: StackRox-ի փետրվարյան բլոգում հասկացվում են EKS, AKS և GKE-ի ոչ արժեքային գործոնները:

Jupyter Bloc-notebook

Ամենահեշտ լուծումը գտնելու համար, ես ստեղծել եմ Jupyter Bloc-notebook, որը ներառում է plotly + ipywidgets: Այն թույլ է տալիս համեմատել մատակարարների առաջարկները տարբեր կլաստերների չափերի և ծառայությունների փաթեթների համար:

Խաղալ կենդանի Bloc-notebook-ի տարբերակը կարելի է Binder-ում:

Managed Kubernetes-ի արժեքների համեմատություն (2020)
managed-kubernetes-price-exploration.ipynb mybinder.org-ում

Խնդրում եմ տեղեկացրեք ինձ, եթե հաշվարկները կամ սկզբնական գները սխալ են (այսը կարելի է անել գումարային հարցի կամ 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-ի համեմատակայության համար։

Հոդվածում Պատգամը կլաստերի արժեքի վերաբերյալ. AWS vs GCP vs Azure vs Digital Ocean, հրապարակված 2018 թվականին, օգտագործվել էր 100 vCPU և 400 Գբ հիշողություն ունեցող կարգավորիչ կլաստեր։ Համեմատության համար, իմ հաշվարկներով, այս կլաստերն յուրաքանչյուրի այս պլատֆորմում (on-demand օրինակների համար) կհասնի նման հավելվածի՝

  • AKS: 51465 USD/տարեկան
  • EKS: 43138 USD/տարեկան
  • GKE: 30870 USD/տարեկան
  • DO: 36131 USD/տարեկան

Հույս ունեմ, որ հոդվածը՝ համատեղ արխիվով, կօգնի ձեզ գնահատել հիմնական առաջարկները զբաղված Kubernetes-ի կառավարման և/կամ խնայել ամպային ենթակառուցվածքից՝ օգտագործելով զեղրեր և այլ հնարավորություններ։

P.S. թարգմանչից

Նաեւ կարդացեք մեր բլոգում:

Ընտանիք: habr.com

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster