مقایسه هزینه در Kubernetes مدیریت شده (2020)

توجه داشته باشید. ترجمه: مهندس DevOps آمریکایی سید پالاس، با استفاده از اعلامیه اخیر Google Cloud به عنوان یک راهنمای اطلاعاتی، من هزینه سرویس Managed Kubernetes (در پیکربندی های مختلف) را از ارائه دهندگان ابر پیشرو در جهان مقایسه کردم. مزیت اضافی کار او انتشار دفترچه یادداشت Jupyter مربوطه بود که به (با حداقل دانش پایتون) اجازه می دهد تا محاسبات انجام شده را مطابق با نیازهای شما تنظیم کند.

TL؛ DR: Azure و Digital Ocean برای منابع محاسباتی مورد استفاده برای صفحه کنترل هزینه ای دریافت نمی کنند، و آنها را به انتخاب خوبی برای استقرار بسیاری از خوشه های کوچک تبدیل می کند. برای اجرای تعداد کمی از خوشه های بزرگ، GKE بهترین گزینه است. علاوه بر این، می‌توانید با استفاده از گره‌های نقطه‌ای/پیشگیر/کم اولویت یا با «اشتراک» در استفاده طولانی‌مدت از همان گره‌ها، هزینه‌ها را به میزان قابل توجهی کاهش دهید (این برای همه پلتفرم‌ها صدق می‌کند).

مقایسه هزینه در Kubernetes مدیریت شده (2020)
اندازه خوشه (تعداد کارگران)

بازنگری

اطلاعیه اخیر Google Cloud اعلام GKE مبنی بر شروع شارژ 10 سنت در ساعت به ازای هر خوشه برای اجرا، مرا بر آن داشت تا شروع به تجزیه و تحلیل قیمت گذاری پیشنهادات مدیریت شده عمده Kubernetes کنم.

مقایسه هزینه در Kubernetes مدیریت شده (2020)
این اطلاعیه باعث ناراحتی بسیاری شده است...

شخصیت های اصلی مقاله عبارتند از:

ریز هزینه

کل هزینه استفاده از Kubernetes در هر یک از این پلتفرم‌ها شامل اجزای زیر است:

  • هزینه مدیریت خوشه؛
  • تعادل بار (برای ورود)؛
  • منابع محاسباتی (vCPU و حافظه) کارگران؛
  • ترافیک خروجی؛
  • ذخیره سازی دائمی؛
  • پردازش داده ها توسط بار متعادل کننده

علاوه بر این، ارائه دهندگان ابری تخفیف های قابل توجهی را در صورتی که مشتری بخواهد/می تواند از قابلیت preemptible استفاده کند، ارائه می دهند نقطه یا گره های با اولویت پایین OR متعهد می شود از همان گره ها برای 1-3 سال استفاده کند.

شایان ذکر است که اگرچه هزینه مبنای مناسبی برای مقایسه و ارزیابی ارائه دهندگان خدمات است، عوامل دیگری نیز باید در نظر گرفته شوند:

  • Uptime (توافقنامه سطح خدمات)؛
  • اکوسیستم ابر اطراف؛
  • نسخه های موجود K8s؛
  • کیفیت اسناد / جعبه ابزار.

با این حال، این عوامل خارج از حوصله این مقاله/مطالعه است. که در پست فوریه در وبلاگ StackRox عوامل غیر قیمتی برای EKS، AKS و GKE به تفصیل مورد بحث قرار گرفته است.

نوت بوک ژوپیتر

برای سهولت یافتن سودآورترین راه حل، من توسعه داده ام نوت بوک ژوپیتر، با استفاده از plotly + ipywidgets در آن. این به شما امکان می دهد پیشنهادات ارائه دهنده را برای اندازه های مختلف خوشه و مجموعه خدمات مقایسه کنید.

می توانید با نسخه زنده یادداشت در Binder تمرین کنید:

مقایسه هزینه در Kubernetes مدیریت شده (2020)
manager-kubernetes-price-exploration.ipynb در mybinder.org

اگر محاسبات یا قیمت اصلی نادرست است به من اطلاع دهید (این را می توان از طریق یک مشکل یا درخواست کشش در GitHub انجام داد - اینجا مخزن است).

یافته ها

افسوس، تفاوت های ظریف بسیار زیادی برای ارائه توصیه های خاص تر از آنچه در پاراگراف TL;DR در همان ابتدا وجود دارد، وجود دارد. با این حال، هنوز هم می توان نتیجه گیری کرد:

  • برخلاف GKE و EKS، AKS و Digital Ocean برای منابع لایه کنترل هزینه ای دریافت نمی کنند. AKS و DO در صورتی سودآورتر هستند که معماری شامل بسیاری از خوشه‌های کوچک باشد (به عنوان مثال، یک خوشه در هر هر توسعه دهنده یا هر مشتری).
  • منابع محاسباتی کمی ارزان‌تر GKE آن را با افزایش اندازه خوشه‌ها سودآورتر می‌کند.
  • استفاده از گره‌های پیش‌گیرانه یا گره‌های نزدیک طولانی‌مدت می‌تواند هزینه‌ها را تا بیش از ۵۰ درصد کاهش دهد. توجه: Digital Ocean این تخفیف ها را ارائه نمی دهد.
  • هزینه های خروجی گوگل بالاتر است، اما هزینه منابع محاسباتی یک عامل تعیین کننده در محاسبه است (مگر اینکه خوشه شما مقدار قابل توجهی از داده های خروجی تولید کند).
  • انتخاب انواع ماشین بر اساس نیازهای CPU و حافظه بارهای کاری به شما کمک می کند از پرداخت هزینه اضافی برای منابع استفاده نشده جلوگیری کنید.
  • Digital Ocean در مقایسه با سایر پلتفرم‌ها هزینه کمتری برای vCPU و بیشتر برای حافظه دارد - این می‌تواند یک عامل تعیین‌کننده برای برخی از انواع بارهای کاری محاسباتی باشد.

*توجه: تجزیه و تحلیل از داده ها برای گره های محاسباتی عمومی استفاده می کند (همه منظوره). اینها n1 نمونه موتور محاسباتی GCP، نمونه‌های m5 AWS ec2، ماشین‌های مجازی D2v3 Azure و قطرات DO با CPUهای اختصاصی هستند. به نوبه خود، انجام تحقیقات در میان انواع دیگر ماشین های مجازی (قابل انفجار، سطح ورودی) امکان پذیر است. در نگاه اول، هزینه ماشین های مجازی به صورت خطی به تعداد vCPU ها و مقدار حافظه بستگی دارد، اما مطمئن نیستم که این فرض برای نسبت های بسیار غیر استاندارد حافظه/CPU درست باشد.

مقاله راهنمای هزینه نهایی Kubernetes: AWS در مقابل GCP در مقابل Azure در مقابل اقیانوس دیجیتالکه در سال 2018 منتشر شد، از یک کلاستر مرجع با 100 هسته vCPU و 400 گیگابایت حافظه استفاده کرد. برای مقایسه، طبق محاسبات من، یک خوشه مشابه در هر یک از این پلتفرم ها (برای نمونه های درخواستی) هزینه زیر را خواهد داشت:

  • AKS: 51465 دلار در سال
  • EKS: 43138 USD/سال
  • GKE: 30870 دلار در سال
  • DO: 36131 USD/سال

امیدوارم این مقاله همراه با نوت بوک به شما کمک کند تا پیشنهادات مدیریت شده اصلی Kubernetes را ارزیابی کنید و/یا با استفاده از تخفیف‌ها و فرصت‌های دیگر در زیرساخت‌های ابری صرفه‌جویی کنید.

PS از مترجم

در وبلاگ ما نیز بخوانید:

منبع: www.habr.com

اضافه کردن نظر