چگونه منابع ابری خود را بهینه کنیم؟

چگونه منابع ابری خود را بهینه کنیم؟

مدیریت هدررفت در ابر (Cloud Waste Management)

نکات کلیدی

  • میان سرعت، کیفیت و هزینه همیشه یک بده‌بستان وجود دارد. در هر زمان فقط دو مورد از این سه مورد قابل دستیابی هستند.
  • علاوه بر تأثیر مالی، هدررفت ابری پیامدهای زیست‌محیطی نیز دارد.
  • می‌توان از ابزارهای ارائه‌دهنده خدمات ابری، متن‌باز یا سازمانی برای شناسایی هدررفت ابری استفاده کرد.
  • مقیاس‌بندی صحیح منابع و مدیریت خودکار منابع، به شکل قابل توجهی به کاهش هدررفت ابری کمک می‌کند.
  • آموزش و افزایش آگاهی تیم‌ها در کاهش تولید هدررفت اهمیت دارد.

مقدمه

نتایج نظرسنجی «State of FinOps» بنیاد FinOps در سال ۲۰۲۴ نشان می‌دهد که اولویت اصلی سازمان‌ها به سمت کاهش هدررفت ابری یا منابع بلااستفاده تغییر کرده است.

چگونه منابع ابری خود را بهینه کنیم؟

پیش از آن‌که به نحوه مدیریت هدررفت ابری بپردازیم، ابتدا باید مشخص کنیم چه چیزی در فضای ابری هدررفت محسوب می‌شود و چرا این موضوع اهمیت دارد.

تعریف هدررفت ابری

FinOps.org هدررفت را این‌گونه تعریف می‌کند: «هرگونه استفاده یا هزینه منابعی که هیچ ارزشی برای سازمان ایجاد نمی‌کنند».

در دنیای جدید IT، با افزایش پذیرش رایانش ابری، تصمیم‌گیری‌های مالی به لبه‌ها منتقل شده‌اند؛ جایی که مهندسان اکنون می‌توانند هر زمان که نیاز داشته باشند، منابع زیرساختی ابری را خریداری و فراهم‌سازی کنند. اگرچه این موضوع درهای جدیدی را به روی نوآوری باز کرده و به شرکت‌ها کمک کرده تا از سرمایه‌گذاری اولیه سنگین در مراکز داده اجتناب کنند، اما در عین حال چالش‌های جدیدی برای تیم‌های مالی در زمینه بودجه‌بندی و پیش‌بینی هزینه‌های IT ایجاد کرده است.

اغلب، اگر فضای ابری به‌درستی مدیریت نشود و حاکمیت کافی یا مناسبی وجود نداشته باشد، «هزینه‌های ابری» می‌تواند به‌دلیل منابع بلااستفاده یا کم‌استفاده، از کنترل خارج شود.

این «منابع بلااستفاده یا کم‌استفاده» معمولاً هدررفت ابری نامیده می‌شوند. سازمان‌ها باید درک کنند که حتی اگر از ظرفیتی که در فضای ابری فراهم کرده‌اند استفاده نکنند، همچنان هزینه آن را پرداخت می‌کنند.

اهمیت مدیریت هدررفت ابری

کاهش هزینه‌های ابری برای سازمان‌ها ضروری است، به‌ویژه با توجه به روندهای کلان اقتصادی فعلی که کسب‌وکارها به دنبال کاهش هزینه‌های عملیاتی بدون لطمه زدن به ارزشی هستند که به مشتریان ارائه می‌دهند.

سازمان‌ها همچنین نسبت به میزان انتشار کربن خود آگاه‌تر شده‌اند و متعهد به کاهش ردپای کربنی خود هستند. بهینه‌سازی منابع در فضای ابری نه‌تنها به کاهش هزینه‌ها کمک می‌کند، بلکه در راستای اهداف پایداری آن‌ها نیز قرار دارد.

درک هدررفت ابری

برای درک بهتر هدررفت ابری، باید مثلث آهنین مدیریت پروژه را بشناسیم؛ مفهومی که بیان می‌کند همیشه میان سرعت، کیفیت و هزینه یک بده‌بستان وجود دارد. اگر بخواهید یک محصول یا قابلیت باکیفیت را سریع ارائه دهید، هزینه بیشتری خواهد داشت. کسب‌وکارها همواره در تلاش‌اند نوآوری کنند و به‌طور مداوم به مشتریان خود ارزش ارائه دهند. اغلب این موضوع به معنای وارد کردن فشار بر تیم‌های تحویل برای بهبود زمان ورود به بازار است. در نتیجه، ظرفیت منابع بیش‌ازحد فراهم‌سازی می‌شود؛ منابع متعددی که برای اعتبارسنجی یک ایده یا مفهوم ایجاد شده‌اند، پس از آن‌که تیم‌ها یا راه‌حل پذیرفته‌شده را تحویل داده‌اند یا به پروژه دیگری منتقل شده‌اند، حذف نمی‌شوند. این یکی از عوامل اصلی هدررفت ابری است.

دلیل دیگر، فراهم‌سازی دستی منابع در فضای ابری است. برای توسعه و میزبانی یک معماری راهکار در فضای ابری که اجزای متحرک متعددی دارد، انواع مختلفی از منابع ایجاد می‌شود. در فرآیند اعتبارسنجی و آزمون راهکار، چندین بار این منابع ایجاد و حذف می‌شوند. اگر این کار به‌صورت دستی انجام شود، در برخی سناریوها بخشی از منابع هنگام حذف نادیده گرفته می‌شوند و همین موضوع به هدررفت منجر می‌شود.

چگونه منابع ابری خود را بهینه کنیم؟

سناریوهای دیگری نیز مشاهده شده‌اند؛ برای مثال، کسب‌وکار تصمیم می‌گیرد یک خط کسب‌وکار را به‌دلیل عدم سودآوری تعطیل کند. اما این تصمیم باید به تیم‌هایی که منابع ابری پشتیبان آن را مدیریت می‌کنند منتقل شود، که گاهی این ارتباط برقرار نمی‌شود. یا ممکن است مدرن‌سازی فناوری انجام شده باشد، اما اجزای زیرساخت قدیمی همچنان فعال باقی مانده باشند، زیرا توسط تیم‌های جداگانه مدیریت می‌شده‌اند. نبود ارتباط عملی میان این تیم‌ها باعث می‌شود سیستم‌های قدیمی همچنان اجرا شوند، در حالی که فرآیند کسب‌وکار روی پلتفرم دیگری مدرن شده است. این وضعیت نیز هدررفت ابری محسوب می‌شود؛ منبعی که دیگر مورد نیاز نیست اما همچنان در حال اجراست.

نمونه‌هایی از هدررفت ابری

برای سهولت درک، هدررفت ابری را می‌توان به دسته‌های مختلفی تقسیم کرد. در عمل، معمولاً هیچ‌یک از این دسته‌ها به‌تنهایی عامل هدررفت در سازمان نیستند، بلکه ترکیبی از چند مورد یا همه آن‌ها نقش دارند. در ادامه هر یک را بررسی می‌کنیم.

منابع بلااستفاده (Idle resources)

منابعی که دیگر مورد نیاز نیستند یا ۱۰۰٪ بلااستفاده‌اند، منابع بلااستفاده محسوب می‌شوند. نمونه‌ها شامل محیط‌هایی هستند که برای تست فراهم شده‌اند و فقط در زمان تست مورد نیازند، یا سرورهای توسعه‌ای که پس از ساعات کاری نیازی به آن‌ها نیست.

منابع بیش‌ازحد فراهم‌سازی‌شده (Overprovisioned resources)

این مورد عمدتاً به منابع محاسباتی اصلی مانند ماشین‌های مجازی، سیستم‌های RDBMS یا منابع ابری با SKU بالا بدون نیاز واقعی اشاره دارد. ظرفیت این منابع بیش از میزان مورد نیاز برای اجرای پایدار کسب‌وکار است. این وضعیت زمانی رخ می‌دهد که تخصیص ظرفیت به‌صورت ایستا و بر اساس بار اوج انجام می‌شود، در حالی که در بیشتر مواقع بار کاری به‌مراتب کمتر از اوج است. یا زمانی که بخشی از کسب‌وکار تعطیل شده اما ظرفیت همچنان برای نیازهای قبلی حفظ شده است. این منابع به‌عنوان منابع بیش‌ازحد فراهم‌سازی‌شده دسته‌بندی می‌شوند و پیامدهای مالی برای کسب‌وکار دارند.

تأثیر هدررفت ابری بر کسب‌وکار

پیامدهای مالی

از آن‌جا که برای هر منبعی که در فضای ابری فراهم می‌کنید هزینه پرداخت می‌شود، مدیریت هدررفت ابری حیاتی است، زیرا مستقیماً بر سودآوری کسب‌وکار اثر می‌گذارد. مدیران مالی (CFO) و تیم‌های مالی در پیش‌بینی و بودجه‌بندی هزینه‌های ابری با چالش مواجه‌اند، زیرا نمی‌دانند چه مقدار ظرفیت در فضای ابری هدر می‌رود و راه مناسبی برای بازبینی منظم آن وجود ندارد.

پیامدهای زیست‌محیطی

استفاده از رایانش ابری در مقایسه با مراکز داده سنتی، انتشار کربن را به‌طور قابل توجهی کاهش داده است. با این حال، ظرفیت بلااستفاده‌ای که همچنان در فضای ابری فعال است، برق و منابع دیگر مصرف می‌کند و به انتشار کربنی می‌افزاید که می‌توان از آن اجتناب کرد. شرکت‌ها اکنون متعهد به کاهش ردپای کربنی خود هستند. در ادامه بررسی می‌کنیم که شرکت‌ها چگونه می‌توانند هدررفت ابری را شناسایی کنند.

شناسایی هدررفت ابری

یکی از نخستین و مهم‌ترین گام‌ها در مدیریت هدررفت ابری، شناسایی آن است. برای شرکت‌هایی با استفاده محدود از فضای ابری و تعداد کمی تیم که منابع را فراهم‌سازی می‌کنند، شناسایی منابع بلااستفاده ساده‌تر است. اما برای سازمان‌های بزرگ با ردپای عظیم ابری و تیم‌های متعدد مسئول فراهم‌سازی منابع، نیاز به روش‌های خودکار و مؤثر برای شناسایی هدررفت در مقیاس بزرگ وجود دارد.

در ادامه برخی ابزارها و تکنیک‌ها برای شناسایی هدررفت ابری آورده شده است.

ابزارهای ارائه‌دهندگان خدمات ابری

از ابزارهای بومی ارائه‌دهندگان خدمات ابری برای شناسایی هدررفت استفاده کنید. برخی از این ابزارها برای سه ارائه‌دهنده اصلی ابر عمومی عبارت‌اند از:

  1. Trusted Advisor and Cost Optimization Hub(AWS)
  2. Active Assist (GCP)
  3. Advisor(Azure)

برای ردیابی ردپای کربنی می‌توانید از خدمات زیر استفاده کنید:

  1. Customer Carbon Footprint Tool (AWS)
  2. Carbon Footprint(GCP)
  3. Emission Impact Dashboard(Azure)

ابزارهای شخص ثالث

در مراحل ابتدایی، استفاده از ابزارهای بومی ارائه‌دهندگان ابر کافی است. اما با پیشرفت در مسیر FinOps، متوجه محدودیت‌های این ابزارها می‌شوید. در این مرحله می‌توانید به سراغ ابزارهای شخص ثالث بروید که شامل نرم‌افزارهای متن‌باز و ابزارهای سازمانی با مجوز تجاری هستند. در ادامه بررسی می‌کنیم که ما در سازمان فعلی خود چگونه از نرم‌افزار متن‌باز و خدمات بومی ابر برای شناسایی هدررفت استفاده می‌کنیم.

مطالعات موردی / نمونه‌ها

در Tenerity، ما از Cloud Custodian و Amazon QuickSight برای شناسایی و گزارش‌دهی خودکار هدررفت ابری استفاده کردیم. Cloud Custodian یک نرم‌افزار متن‌باز و بخشی از CNCF است که برای مدیریت حاکمیت در فضای ابری استفاده می‌شود. این ابزار از هر سه ارائه‌دهنده اصلی ابر عمومی یعنی AWS، GCP و Azure با یک سینتکس یکپارچه پشتیبانی می‌کند و استفاده از آن را در محیط‌های چندابری ساده‌تر می‌سازد. Cloud Custodian از «filters» برای انتخاب منابع هدف و از «action» برای انجام اقدامات مورد نظر روی منابع فیلترشده استفاده می‌کند. نمونه‌های متعددی برای هر ارائه‌دهنده ابر در مستندات Cloud Custodian وجود دارد، اما امکان ایجاد فیلترها و اکشن‌های سفارشی نیز فراهم است که آن را در عمل بسیار کاربردی می‌کند.

در ادامه نحوه پیاده‌سازی این راهکار در Tenerity آورده شده است:

  1. Cloud Custodian را به‌صورت یک docker container و با استفاده از AWS Fargate مستقر کردیم تا سربار و هزینه اجرای زیرساخت به حداقل برسد. Cloud Custodian به‌صورت هفتگی اجرا می‌شود، اما می‌توان آن را مطابق نیاز تنظیم کرد.
  2. نتایج در قالب یک فایل Excel در یک S3 bucket ذخیره می‌شوند.
  3. از AWS Databrew job برای پیش‌پردازش و پاک‌سازی داده‌ها و همچنین افزودن نگاشت‌ها و تبدیل‌های مرتبط با اطلاعات متنی کسب‌وکار مانند واحد تجاری استفاده کردیم.
  4. داده‌های نهایی مجدداً در S3 ذخیره می‌شوند، اما این بار به‌صورت parquet file تا هزینه S3 نیز بهینه شود.
  5. یک glue job اجرا می‌شود تا اسکیمای داده استنباط شده و یک جدول Athena ایجاد شود که سپس برای ساخت داشبورد QuickSight استفاده می‌شود.

چگونه منابع ابری خود را بهینه کنیم؟ چگونه منابع ابری خود را بهینه کنیم؟

در نتیجه، توانستیم یک نمای کلی از هدررفت ابری در سطح سازمان ارائه دهیم؛ به‌گونه‌ای که ذی‌نفعان بتوانند واحد تجاری یا سیاست مورد نظر را انتخاب کرده و نتایج را مشاهده کنند. همچنین امکان ترسیم روندهای هفتگی برای هر سیاست یا واحد تجاری فراهم شد که به ما کمک کرد پیشرفت و منابع جدیدی که به‌عنوان هدررفت شناسایی می‌شوند را ردیابی کنیم. برای تیم‌های مهندسی نیز ساده‌تر شد که منابع تحت تأثیر را مشاهده کرده و بدون نیاز به کمک دیگران، اقدام لازم را انجام دهند.

نتایج ممکن است با یافته‌های ابزارهای دیگر هم‌پوشانی داشته باشند، اما دلیل استفاده از Cloud Custodian انعطاف‌پذیری بالای آن در ایجاد فیلترها و اکشن‌های سفارشی است. در ادامه برخی راهبردهای مؤثر و اثبات‌شده برای کاهش هدررفت ابری آورده شده است.

راهبردهای کاهش هدررفت ابری

راه‌های متعددی برای کاهش هدررفت ابری وجود دارد که برخی از آن‌ها در ادامه ذکر شده‌اند.

مقیاس‌بندی صحیح نمونه‌ها (Rightsizing instances)

تمام ارائه‌دهندگان ابر عمومی داشبوردهای توصیه‌ای دارند. برای مثال، AWS دارای Cost Optimization Hub و GCP دارای Active Assist است. توصیه‌های مربوط به rightsizing را بررسی کنید. از تیم‌های مهندسی بخواهید هر توصیه را تحلیل کرده و بررسی کنند که آیا قابل اجراست یا خیر. توجه داشته باشید که همه توصیه‌ها قابل اقدام نیستند، زیرا فاقد زمینه کسب‌وکار هستند که تیم‌های شما در اختیار دارند. بنابراین بر اساس داده‌های مصرف تصمیم بگیرید و مواردی را که قابل اصلاح نیستند، کنار بگذارید.

خودکارسازی مدیریت منابع

خودکارسازی مدیریت منابع راه دیگری برای کنترل هدررفت ابری است، به‌طوری که منابع دقیقاً در زمان و میزان مورد نیاز فراهم شوند.

زمان‌بندی روشن/خاموش (Scheduling on/off times)

برای بارهای کاری خود یک برنامه زمانی تعریف کرده و به آن پایبند باشید. منابع را در زمان‌هایی که نیاز نیست، مانند خارج از ساعات کاری یا آخر هفته‌ها، به‌ویژه در محیط‌های غیرتولیدی، به‌صورت خودکار خاموش کنید و هنگام نیاز دوباره روشن کنید. می‌توانید نسبت ساعات استفاده واقعی به ساعات مورد نیاز را به‌عنوان KPI پایبندی به برنامه زمانی اندازه‌گیری کنید.

مقیاس‌پذیری خودکار (Autoscaling)

بارهای کاری خود، به‌ویژه سرویس‌های stateless، را به‌گونه‌ای طراحی کنید که با auto-scaling پیکربندی شوند تا بر اساس تقاضا، مصرف یا بار، به‌صورت خودکار مقیاس افزایش یا کاهش یابد.

پیاده‌سازی سیاست‌ها و حاکمیت

حاکمیت اهمیت بالایی دارد زیرا به مدیریت مؤثر منابع ابری کمک می‌کند. باید رویکردهای پیشگیرانه و واکنشی خود در حاکمیت را تعریف کنید. برخی از فعالیت‌های حاکمیتی عبارت‌اند از:

سیاست‌های برچسب‌گذاری (Tagging policies)

فرهنگ لغات برچسب‌گذاری سازمان خود را تعریف کنید، برچسب‌های اجباری و اختیاری را مشخص کرده و سیاست‌های حاکمیتی مرتبط با آن‌ها را تعیین کنید. برای مثال، به‌صورت پیشگیرانه می‌توانید service control policy در AWS ایجاد کنید تا فراهم‌سازی منابع بدون برچسب‌های اجباری را مسدود کند. همچنین از ابزارهایی مانند Cloud Custodian برای شناسایی و علامت‌گذاری منابعی که somehow از SCP عبور کرده‌اند استفاده کنید و برای آن‌ها اکشن تعریف کنید. این اکشن‌ها می‌توانند شامل اطلاع‌رسانی به تیم، افزودن برچسب یا خاتمه دادن به منبع باشند. برای ردیابی پیشرفت، KPI پایبندی به برچسب‌گذاری را اندازه‌گیری کنید.

بودجه‌بندی و هشدارها

با تیم‌های مالی همکاری کنید تا بودجه هزینه‌های ابری را تعریف و ثبت کنید. در صورت عبور از بودجه، هشدار ایجاد کرده و تیم‌های مرتبط را مطلع کنید. می‌توانید از خدمات و ابزارهای بومی ارائه‌دهندگان ابر برای این کار استفاده کنید. این اقدام به پایش دقیق هزینه‌های ابری و آگاهی به‌موقع از تجاوز از بودجه کمک می‌کند.

گزارش‌دهی خودکار

ارسال گزارش‌ها را خودکار کنید. مشابه مطالعه موردی بالا، می‌توانید ارسال ایمیلی گزارش‌های Cloud Custodian QuickSight را برای ذی‌نفعان تنظیم کنید. همچنین امکان پیکربندی ارسال گزارش درون خدمات بومی ارائه‌دهندگان ابر وجود دارد.

بهترین رویه‌ها برای مدیریت مستمر هدررفت ابری

ساخت و استقرار راهکارها مهم است، اما ارائه ارزش واقعی به کسب‌وکار نیازمند فرآیند و رویه‌هایی برای استفاده مؤثر از این راهکارهاست. در مراحل اولیه، افزایش آگاهی و آموزش مستمر تیم‌ها ضروری است تا با راهکار آشنا شوند و آن را به‌عنوان یک رویه در تیم خود بپذیرند. پس از آن‌که تیم‌ها به‌طور آگاهانه یافته‌ها را بررسی و رفع کردند، می‌توانید KPIها را برای شناسایی حوزه‌ها یا سرویس‌هایی که بیشترین هدررفت را ایجاد می‌کنند دنبال کرده و ریشه مشکلات و شکاف‌های سازمانی را شناسایی کنید تا در منبع برطرف شوند. بنیاد FinOps مرجعی از فعالیت‌ها برای بهینه‌سازی هزینه ارائه کرده است.

ممیزی‌ها و بازبینی‌های منظم

جلسات بازبینی منظم با تیم‌ها باید برگزار شود تا اقدامات برنامه‌ریزی و پیشرفت پیگیری شود، به‌ویژه زمانی که اصلاحات خودکار نیستند. همچنین با ذی‌نفعان و تیم‌های رهبری جلسه بگذارید تا وضعیت، موانع و پیشرفت کلی گزارش شود.

آموزش و افزایش آگاهی تیم‌ها

جلسات آموزشی برای آگاه‌سازی تیم‌ها نسبت به ضرورت مدیریت هدررفت ابری برگزار کنید و انتظارات را به‌روشنی مشخص نمایید. فرآیندی برای آموزش کارکنان جدید از طریق جلسات ضبط‌شده و مستندات تعریف کنید.

نتیجه‌گیری

مدیریت هدررفت ابری در سال ۲۰۲۴ به دلیل عدم قطعیت‌های اقتصاد کلان و تعهدات پایداری به اولویت اصلی سازمان‌ها تبدیل شده است. کسب‌وکارها باید ارزش سرمایه‌گذاری‌های ابری خود را به حداکثر برسانند، زیرا بخش قابل توجهی از هزینه‌ها صرف هدررفت می‌شود. سرمایه‌گذاری در ترویج فرهنگ FinOps در تمام مراحل توسعه محصول و عملیات، همچنین آموزش تیم‌ها برای در نظر گرفتن هزینه به‌عنوان یک الزام غیرعملکردی مشابه عملکرد و امنیت، ضروری است. اطمینان حاصل کنید که از روش‌های خودکار برای شناسایی، گزارش‌دهی و اقدام استفاده می‌شود. به یاد داشته باشید هدف، حداکثرسازی ارزش سرمایه‌گذاری ابری از طریق استفاده بهینه است، نه صرفاً کاهش هزینه.

پردازش ابری توزیع‌شده چیست و چگونه راهکارهای مبتنی بر هوش مصنوعی حریم خصوصی را تقویت می‌کنند؟
مشاهده‌پذیری چندابری با استفاده از Fluent Bit چگونه است؟

دیدگاهتان را بنویسید

سبد خرید
علاقه‌مندی‌ها
مشاهدات اخیر
دسته بندی ها