هزینه اجرای Kubernetes چقدر است؟ به لطف ادغام OpenCost، پاسخ به این سوال برای سرویس Azure Kubernetes بسیار ساده تر شده است.
تصمیم مایکروسافت برای تبدیل Kubernetes به یک سرویس اساسی در Azure، نه تنها برای مایکروسافت بلکه برای بقیه اکوسیستم Kubernetes نیز جواب می دهد. دلیل آن این است که این شرکت در حال سرمایه گذاری مهندسان و پول خود در بیش از پروژه های خود است، پشتیبانی و کمک به ابزارها و قابلیت های بالادست.
گاهی اوقات از سرمایهگذاری به عنوان یک اهرم با هدف بهبود اکوسیستم برای کاربران استفاده میشود، اما در برخی مواقع این اطمینان حاصل میشود که میتوانیم برنامههای بومی ابری خود را اقتصادیتر و مهمتر از آن با حداقل تأثیر بر آب و هوا اجرا کنیم. .
یکی از زمینههای کلیدی سرمایهگذاری مایکروسافت در Kubernetes، ابزار مدیریت هزینه بوده است. Kubernetes یک ارکستراتور است که استفاده از محاسبات را برحسب تقاضا افزایش و کاهش می دهد. این امر پیش بینی هزینه اجرای Kubernetes را دشوار می کند، به خصوص در یک ابر عمومی که در آن انواع سرور مجازی و قوانین صورتحساب را با تغییر تقاضا در حافظه، شبکه و ذخیره سازی ترکیب می کنید. بله، برنامه شما به محدودیتهایی که تعیین کردهاید مقیاس میشود، اما چه تاثیری بر نتیجه شما دارد؟
افزودن FinOps به Kubernetes
به عنوان مهندس معمولاً به هزینهها توجه زیادی نمیکنیم. از این گذشته، بیشتر اوقات صورتحساب چیزی که میسازیم و اجرا میکنیم مشکل شخص دیگری است. اما همین را میتوان در مورد عملیات و امنیت گفت، تا زمانی که DevOps و DevSecOps آمدند. با سرویسهای ابری، میتوانیم از تکنیکهایی که برای نظارت بر عملکرد برنامههایمان استفاده میکنیم برای نظارت بر هزینهها، با بهرهگیری از FinOps، استفاده کنیم. این رشته جدید به ما دید جدیدی از میزان هزینه اجرای کدمان و راههای جدیدی برای اطمینان از بازپرداخت این هزینهها به بخشهای مناسب میدهد. با استفاده از ابزار FinOps میتوانیم بهجای اینکه همه آنها را در یک هزینه عملیاتی فناوری اطلاعات جمع کنیم، کد را مستقیماً به صورتحسابها گره بزنیم.
این جایی است که ابزار OpenCost منبع باز شروع به درخشش می کند. OpenCost که توسط بنیاد محاسبات Cloud Native، خانه Kubernetes حمایت می شود، ابزاری برای اندازه گیری و تخصیص هزینه های برنامه های Kubernetes است، با این گزینه که به شما کمک می کند آنها را تحت کنترل داشته باشید. مشارکت کنندگان OpenCost از سراسر اکوسیستم Kubernetes می آیند، با ارائه دهندگان نظارت مانند New Relic و Grafana Labs در یک طرف، و ارائه دهندگان ابر مقیاس ابر AWS، Google Cloud و Azure در سمت دیگر. مایکروسافت پشتیبانی از OpenCost را در سرویس Azure Kubernetes، پلتفرم Kubernetes مدیریت شده Azure اعلام کرد.
OpenCost به شما این امکان را می دهد که نصب و عملیات Kubernetes خود را بررسی کنید تا بفهمید کدام کانتینرها، پادها، استقرارها و غیره بیشترین هزینه را برای شما دارند. تخصیص هزینه در زمان واقعی مانند این به شما این امکان را می دهد که از تنظیم برنامه خود برای عملکرد فراتر رفته و در عوض هزینه ها را بهینه کنید. این رویکرد به شما امکان میدهد تا جایی که کاربران شما بهترین عملکرد را دارند در حالی که هزینهها کنترل میشوند، پیدا کنید. این یک عمل متعادل کننده است و ممکن است کمی طول بکشد تا درست شود، اما یکی دیگر از پارامترهای تنظیم قانع کننده برای برنامه های شما است.
کار با OpenCost در AKS
در حالی که OpenCost از می ۲۰۲۳ از AKS پشتیبانی تولید خواهد کرد، یک ساخت ویژه برای Kubecon در دسترس قرار گرفت. اتحادیه اروپا برای کمک به شما برای شروع. پس از نصب به پیکربندی نیاز است و مجوزهای مناسب برای کار با Azure را تنظیم کنید.
OpenCost از Azure Consumption Price Sheet API برای دریافت دادههای قیمتگذاری همزمان برای حساب شما. این تضمین می کند که تخفیف های مناسب مانند استفاده از نمونه های رزرو شده را در نظر می گیرد. میتوانید با افزودن یک نقش Azure به حساب خود که به OpenCost به عنوان اصلی سرویس، از طریق شناسه حساب صورتحساب خود به جزئیات صورتحساب شما دسترسی داشته باشد، این را تنظیم کنید. هنگامی که این نقش Azure را ایجاد کردید، کلید و راز آن را برای استفاده با OpenCost ذخیره کنید. شما OpenCost را برای دسترسی به این داده ها از طریق YAML یا Helm پیکربندی می کنید، بسته به این که نصب خود را تنظیم کرده اید. اگر با Azure رابطه قیمتگذاری سفارشی دارید، برای دسترسی به قیمتگذاری از طریق API، به شناسه پیشنهاد موجود خود نیاز دارید.
به طور کاربردی OpenCost می تواند داده ها را به Prometheus تحویل دهد، که به شما یک پایگاه داده سری زمانی می دهد که می تواند هم سیگنال های Kubernetes و هم داده های قیمت گذاری از OpenCost را ذخیره کنید. این باعث میشود اطلاعات مالی بخشی از پلتفرم مشاهدهپذیری شما باشد، بنابراین میتوانید شرایطی را که با هزینههای بالا برابری میکنند، تماشا کنید و آنها را به عنوان یک شکست در نظر بگیرید. حتی یک افزونه kubectl وجود دارد که میتواند دادههای OpenCost را در مورد خدمات شما جستجو کند، بنابراین میتوانید شروع به عملیات اسکریپت بر اساس هزینه های تاریخی.
استفاده از داده های هزینه برای مدیریت Kubernetes
با دادههای بیدرنگ از طریق API OpenCost، زمینهای برای مدلهای مدیریت خودکار براساس هزینه وجود دارد. اگر هزینه ها افزایش می یابد، چرا از آنها به عنوان ورودی KEDA، مقیاس خودکار Kubernetes استفاده نکنید و هزینه های بالا را به عنوان یک رویداد در نظر نگیرید. که می تواند یک خوشه را کوچک کند؟ حتی گزینه هایی در این مورد برای ارائه دهندگانی مانند Azure وجود دارد که از OpenCost به عنوان راهی برای ارائه قیمت پویا به کاربران استفاده می کنند.
چرا مایکروسافت از معرفی ابزارهایی استقبال می کند که به مشتریانش کمک می کند کمتر هزینه کنند، نه بیشتر؟ با توجه به اینکه AWS و Google Cloud نیز در پروژه OpenCost شریک هستند، ممکن است این شرکت انتخاب کمی داشته باشد. با این حال، این تغییری است که با اظهارات اخیر ساتیا نادلا، مدیر عامل شرکت، مطابقت دارد که مایکروسافت «به [مشتریانش] کمک میکند تا ارزش بیشتری را از هزینههای فناوری خود دریافت کنند». با اطمینان از اینکه مشتریان می توانند هزینه های Kubernetes خود را با استفاده هماهنگ کنند، فرصتی برای بهینه سازی پویا استفاده از زیرساخت Azure وجود دارد.
مایکروسافت همچنین میتواند حفظ مشتری را بهبود بخشد و به آن فرصتی میدهد تا در تجارت آینده برنده شود و در عین حال مخارج سرمایهای خود را تحت کنترل نگه دارد. راه اندازی مراکز داده ابری عظیم گران است و ایجاد ظرفیت جدید حتی پرهزینه تر است. این به نفع مایکروسافت و مشتریانش است که با یک مدل عملیاتی هماهنگ شوند که به هر دو امکان می دهد، اگر نه کمتر، حداقل مقدار مناسبی را برای نیازهایشان خرج کنند.
ایجاد OpenCost در Azure به مایکروسافت و مشتریان امکان دید بهتری در استفاده از منابع میدهد و به Azure اجازه میدهد تا توسعههای آینده را با دقت بیشتری برنامهریزی کند. در پرتو وعده پشتیبانی طولانی مدت از Kubernetes، واضح است که توسعه بومی ابری باقی مانده است، و اکنون تحت کنترل های مشابه هر پلتفرم سازمانی دیگری قرار دارد. ما دیگر آزمایش نمیکنیم، ما در حال ایجاد مشاغل و خدمات هستیم و اگر میخواهیم برای ما و Azure سودآور شوند، باید به شیوهای قابل پیشبینی عمل کنند.
آینده Kubernetes در Azure خسته کننده خواهد بود، که نباید ما را شگفت زده کند. پس از همه، Kubernetes زیرساخت است، و خسته کننده بهایی است که ما برای بلوغ و پذیرش شرکت می پردازیم. چیزی که جالب است، وقتی به سمت آینده ای با قدرت کوبرنتیس حرکت می کنیم، این است که با این زیرساخت ها چه خواهیم کرد و در بالای آن چه خواهیم ساخت.
پست های مرتبط
مدیریت هزینه Kubernetes برای دنیای واقعی
مدیریت هزینه Kubernetes برای دنیای واقعی
مدیریت هزینه Kubernetes برای دنیای واقعی