Сравнение на разходите за управляван Kubernetes (2020)

Забележка. превод: американският DevOps инженер Сид Палас, използващ скорошно съобщение за Google Cloud Като информационен наръчник сравних цената на услугата Managed Kubernetes (в различни конфигурации) от водещите световни облачни доставчици. Допълнително предимство на работата му беше публикуването на съответния Jupyter Notebook, който позволява (с минимални познания на Python) да коригирате извършените изчисления, за да отговарят на вашите нужди.

TL; DR: Azure и Digital Ocean не таксуват изчислителните ресурси, използвани за контролната равнина, което ги прави добър избор за разполагане на много малки клъстери. За изпълнение на малък брой големи клъстери GKE е най-подходящ. Освен това можете значително да намалите разходите, като използвате спот/предварителни/възли с нисък приоритет или като се „абонирате” за дългосрочно използване на същите възли (това важи за всички платформи).

Сравнение на разходите за управляван Kubernetes (2020)
Размер на клъстера (брой работници)

Преглед

Скорошно съобщение на Google Cloud Съобщението на GKE за започване на таксуване с 10 цента на клъстерен час за всеки клъстерен час ме подтикна да започна да анализирам ценообразуването на основните управлявани предложения на Kubernetes.

Сравнение на разходите за управляван Kubernetes (2020)
Това съобщение разстрои много...

Основните герои на статията са:

Разбивка на разходите

Общите разходи за използване на Kubernetes на всяка от тези платформи се състоят от следните компоненти:

  • Такса за управление на клъстера;
  • Балансиране на натоварването (за Ingress);
  • Компютърни ресурси (vCPU и памет) на работниците;
  • Изходящ трафик;
  • Постоянно съхранение;
  • Обработка на данни от load balancer.

Освен това облачните доставчици предлагат значителни отстъпки, ако клиентът иска/може да използва preemptible място или възли с нисък приоритет ИЛИ се ангажира да използва същите възли за 1-3 години.

Струва си да се подчертае, че въпреки че цената е добра основа за сравняване и оценка на доставчиците на услуги, трябва да се вземат предвид други фактори:

  • Време на работа (Споразумение за ниво на обслужване);
  • Заобикалящата облачна екосистема;
  • Налични версии на K8s;
  • Качество на документацията/инструментариума.

Тези фактори обаче са извън обхвата на тази статия/проучване. IN Публикация за февруари в блога на StackRox Подробно са разгледани неценовите фактори за EKS, AKS и GKE.

Тетрадка на Юпитер

За да улесня намирането на най-изгодното решение, разработих Бележник на Юпитер, използвайки plotly + ipywidgets в него. Тя ви позволява да сравнявате оферти на доставчици за различни размери на клъстери и набори от услуги.

Можете да практикувате с версия на живо на бележника в Binder:

Сравнение на разходите за управляван Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb на mybinder.org

Кажете ми, ако изчисленията или първоначалното ценообразуване са неправилни (това може да стане чрез проблем или заявка за изтегляне в GitHub - тук е хранилището).

Данни

Уви, има твърде много нюанси, за да се предоставят по-конкретни препоръки от тези, включени в параграфа TL;DR в самото начало. Все пак могат да се направят някои изводи:

  • За разлика от GKE и EKS, AKS и Digital Ocean не таксуват за ресурси на контролния слой. AKS и DO са по-печеливши, ако архитектурата включва много малки клъстери (например, един клъстер на всеки разработчик или всеки клиент).
  • Малко по-евтините изчислителни ресурси на GKE го правят по-печеливш с нарастването на размера на клъстера*.
  • Използването на изместваеми възли или дългосрочен афинитет на възли може да намали разходите с повече от 50%. Забележка: Digital Ocean не предлага тези отстъпки.
  • Изходящите такси на Google са по-високи, но цената на изчислителните ресурси е определящ фактор при изчислението (освен ако вашият клъстер не генерира значително количество изходящи данни).
  • Избирането на типове машини въз основа на нуждите от процесор и памет за вашите работни натоварвания ще ви помогне да избегнете допълнително плащане за неизползвани ресурси.
  • Digital Ocean таксува по-малко за vCPU и повече за памет в сравнение с други платформи - това може да бъде решаващ фактор за някои типове изчислителни натоварвания.

*Забележка: Анализът използва данни за изчислителни възли с общо предназначение (с общо предназначение). Това са n1 екземпляри на GCP Compute Engine, екземпляри m5 AWS ec2, виртуални машини D2v3 Azure и DO droplets със специални процесори. От своя страна е възможно да се провеждат изследвания сред други видове виртуални машини (разрушаващи се, начално ниво). На пръв поглед цената на виртуалните машини зависи линейно от броя на vCPU и количеството памет, но не съм сигурен, че това предположение ще е вярно за силно нестандартни съотношения памет/CPU.

Статията Най-доброто ръководство за разходите на Kubernetes: AWS срещу GCP срещу Azure срещу Digital Ocean, публикуван през 2018 г., използва референтен клъстер със 100 vCPU ядра и 400 GB памет. За сравнение, според моите изчисления, подобен клъстер на всяка от тези платформи (за инстанции при поискване) ще струва следната сума:

  • AKS: 51465 USD/година
  • EKS: 43138 USD/година
  • GKE: 30870 USD/година
  • DO: 36131 USD/година

Надявам се, че тази статия заедно с бележника ще ви помогне да оцените основните управлявани предложения на Kubernetes и/или да спестите пари за облачна инфраструктура, като се възползвате от отстъпки и други възможности.

PS от преводача

Прочетете също в нашия блог:

Източник: www.habr.com

Добавяне на нов коментар