- PVSM.RU - https://www.pvsm.ru -
Прим. перев.: Американский DevOps-инженер Sid Palas, пользуясь недавним анонсом Google Cloud [1] как инфоповодом, провёл сравнение стоимости услуги Managed Kubernetes (в разных конфигурациях) от ведущих мировых облачных провайдеров. Дополнительным плюсом его работы стала публикация соответствующего Jupyter Notebook, позволяющего (при наличии минимальных знаний Python) подкорректировать производимые расчёты под свои нужды.
TL;DR: Azure и Digital Ocean не взимают плату за вычислительные ресурсы, используемые для управляющего слоя (control plane), что делает их подходящим выбором для развертывания множества небольших кластеров. Для запуска малого количества крупных кластеров лучше всего подходит GKE. Кроме того, можно серьезно сократить затраты, используя спотовые/вытесняемые/низкоприоритетные узлы или «подписавшись» на длительное использование одних и тех же узлов (это касается всех платформ).
Размер кластера (количество worker'ов)
Недавнее объявление Google Cloud [2] о начале взимания 10 центов за час работы каждого кластера в GKE побудило меня заняться анализом цен на основные предложения в области управляемого (managed) Kubernetes.
Это объявление сильно расстроило некоторых…
Главными героями статьи выступают:
Общие затраты на использование Kubernetes в каждой из этих платформ складываются из следующих компонентов:
Кроме того, облачные провайдеры предлагают значительные скидки, если клиент хочет/может использовать вытесняемые (preemptible), спотовые [7] или низкоприоритетные (low-priority) узлы ИЛИ обязуется использовать одни и те же узлы на протяжении 1-3 лет.
Стоит подчеркнуть, что, хотя стоимость является хорошим базисом для сравнения и оценки поставщиков услуги, следует учитывать и другие факторы:
Однако эти факторы выходят за рамки данной статьи/исследования. В февральской заметке в блоге StackRox [8] подробно рассматриваются неценовые факторы для EKS, AKS и GKE.
Чтобы упростить поиск самого выгодного решения, я разработал блокнот Jupyter [9], задействовав в нем plotly + ipywidgets. Он позволяет сравнивать предложения провайдеров для различных размеров кластера и наборов услуг.
Поупражняться с живой версией блокнота можно в Binder:
[10]
managed-kubernetes-price-exploration.ipynb на mybinder.org [10]
Дайте мне знать, если расчеты или исходные расценки неверны (это можно сделать с помощью issue или pull request'а в GitHub — вот репозиторий [11]).
Увы, нюансов слишком много, чтобы привести более конкретные рекомендации, нежели те, что включены в абзац TL;DR в самом начале. Впрочем, некоторые выводы все же можно сделать:
* Примечание: в анализе используются данные для вычислительных узлов общего назначения (general-purpose). Это экземпляры n1 GCP Compute Engine, m5 AWS ec2, виртуальные машины D2v3 Azure и droplet'ы DO с выделенными CPU. В свою очередь, можно провести и исследования среди других типов виртуальных машин (burstable, entry-level). На первый взгляд, стоимость виртуальных машин линейно зависит от числа vCPU и объема памяти, однако я не уверен, что это предположение останется справедливым для сильно нестандартных соотношений память/CPU.
В статье The Ultimate Kubernetes Cost Guide: AWS vs GCP vs Azure vs Digital Ocean [12], опубликованной в 2018 году, использовался эталонный кластер со 100 ядрами vCPU и 400 Гб памяти. Для сравнения, по моим расчетам, подобный кластер на каждой из этих платформ (для on-demand-экземпляров) обойдется в следующую сумму:
Надеюсь, статья вместе с блокнотом помогут вам оценить основные предложения managed Kubernetes и/или сэкономить на облачной инфраструктуре, воспользовавшись скидками и другими возможностями.
Читайте также в нашем блоге:
Автор: Александр Баталов
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/azure/350211
Ссылки в тексте:
[1] недавним анонсом Google Cloud: https://www.reddit.com/r/kubernetes/comments/fdgblk/google_gke_to_introduce_management_fees_by_june/
[2] Недавнее объявление Google Cloud: https://news.ycombinator.com/item?id=22485625
[3] калькулятор цен: https://cloud.google.com/products/calculator
[4] калькулятор цен: https://calculator.s3.amazonaws.com/index.html
[5] калькулятор цен: https://azure.microsoft.com/en-us/pricing/calculator/
[6] страница с ценами: https://www.digitalocean.com/pricing/
[7] спотовые: https://aws.amazon.com/ru/ec2/spot/
[8] февральской заметке в блоге StackRox: https://www.stackrox.com/post/2020/02/eks-vs-gke-vs-aks/
[9] блокнот Jupyter: https://en.wikipedia.org/wiki/Project_Jupyter#Jupyter_Notebook
[10] Image: https://mybinder.org/v2/gh/sidpalas/managed-kubernetes-pricing/master?filepath=%2Fmanaged-kubernetes-price-exploration.ipynb
[11] вот репозиторий: https://github.com/sidpalas/managed-kubernetes-pricing/
[12] The Ultimate Kubernetes Cost Guide: AWS vs GCP vs Azure vs Digital Ocean: https://www.replex.io/blog/the-ultimate-kubernetes-cost-guide-aws-vs-gce-vs-azure-vs-digital-ocean
[13] Обзор Kubecost для экономии средств на Kubernetes в облаках: https://habr.com/ru/company/flant/blog/466659/
[14] Представляем Kubernetes CCM (Cloud Controller Manager) для Яндекс.Облака: https://habr.com/ru/company/flant/blog/490356/
[15] Готовить Kubernetes-кластер просто и удобно? Анонсируем addon-operator: https://habr.com/ru/company/flant/blog/455543/
[16] Инфраструктура с Kubernetes как доступная услуга: https://habr.com/ru/company/flant/blog/341760/
[17] Источник: https://habr.com/ru/post/492226/?utm_source=habrahabr&utm_medium=rss&utm_campaign=492226
Нажмите здесь для печати.