قبض ابری شما میتواند افزایش یابد در حالی که استفاده از محصول شما ثابت میماند—و اولین هشدار ممکن است در گزارش حاشیه ناخالص شما ظاهر شود، نه در داشبورد مهندسی. یک پایگاه داده جدید، یک محیط پیشنمایش بیش از حد تأمینشده، یا یک انفجار در استنتاج مدل میتواند کاملاً قانونی باشد و همچنان شما را از پاسخ به مهمترین سؤال بازدارد: کدام محصول، تیم، یا مشتری هزینه را ایجاد کرده است؟
تخصیص هزینههای ابری آن قبض مبهم را به یک نمای عملیاتی تبدیل میکند. این کار هزینههای زیرساخت را به ساختارهای تجاری که از قبل استفاده میکنید—محصولات، محیطها، تیمها، پروژهها و حسابهای دفتر کل—متصل میکند، تا بتوانید تصمیم بگیرید چه چیزی را حفظ کنید، چه چیزی را تغییر دهید و چه چیزی را قیمتگذاری متفاوتی کنید.
این کار به یک بخش بزرگ FinOps نیاز ندارد. یک تیم کوچک SaaS میتواند نسخه اولیه قابل اعتمادی را با یک فرهنگ لغت برچسبگذاری کوتاه، یک سیاست هزینههای مشترک، یک تطبیق ماهانه و یک گزارش نمایش هزینهها که هم مهندسان و هم مالی به آن اعتماد دارند، بسازد.
چرا تخصیص ابری قبل از تبدیل شدن قبض به بحران اهمیت دارد
ارائهدهندگان ابری ایجاد منابع را آسان و درک هزینه تجاری حاصل را دشوار میکنند. یک ویژگی واحد رو به مشتری ممکن است از محاسبات، ذخیرهسازی، پایگاههای داده مدیریتشده، ثبت گزارش، انتقال شبکه و خدمات شخص ثالث استفاده کند. این هزینهها ممکن است در حسابها، اشتراکها، مناطق و خروجیهای صورتحساب مختلف ظاهر شوند.
مشکل زمانی حادتر میشود که یک شرکت بیش از یک محصول یا محیط داشته باشد. یک عدد کل ابری میتواند دقیق باشد و همچنان برای تصمیمگیری تقریباً بیفایده باشد. باید بدانید که آیا افزایش ناشی از موارد زیر بوده است:
- زیرساخت تولیدی که به مشتریان خدمت میکند
- محیطهای توسعه و پیشنمایش
- یک پلتفرم داده مشترک یا خوشه Kubernetes
- خدمات امنیت، نظارت و پشتیبانی
- یک ویژگی هوش مصنوعی جدید یا آزمایش داخلی
- یک تعهد، رزرو یا تخفیف که باید بین بارهای کاری توزیع شود
گزارش وضعیت FinOps بنیاد FinOps در سال ۲۰۲۶ میگوید ۹۸٪ از پاسخدهندگان اکنون هزینههای هوش مصنوعی را مدیریت میکنند، که از ۶۳٪ در سال ۲۰۲۵ و ۳۱٪ در سال ۲۰۲۴ افزایش یافته است. این نظرسنجی ۱,۱۹۲ پاسخدهنده و بیش از ۸۳ میلیارد دلار هزینه سالانه ابری را نشان میدهد. آن سازمانها بسیار بزرگتر از اکثر استارتاپها هستند، اما جهت برای یک تیم کوچک مرتبط است: هزینههای فناوری متغیر در حال گسترش در خدمات بیشتر است و تخصیص به یک پیشنیاز برای درک ارزش تبدیل میشود.
بدون تخصیص، مالی تمایل دارد یک هزینه بزرگ ابری را ثبت کند در حالی که مهندسی مجموعهای از داشبوردهای خدمات را میبیند. هیچکدام از این دیدگاهها پاسخ نمیدهد که آیا یک ویژگی سودآور است، آیا یک قرارداد مشتری استفاده آن را پوشش میدهد، یا آیا یک پلتفرم مشترک سریعتر از محصولاتی که به آن وابسته هستند رشد میکند.
با تصمیمها شروع کنید، نه با برچسبها
اولین اشتباه ایجاد دهها برچسب قبل از تصمیمگیری در مورد آنچه گزارش باید نشان دهد است. با تصمیمهایی که تیم شما هر ماه میگیرد شروع کنید.
ابعاد گزارشدهی خود را تعریف کنید
برای یک شرکت کوچک SaaS، یک مجموعه اولیه مفید ممکن است شامل موارد زیر باشد:
| بعد | مقادیر مثال | تصمیمی که پشتیبانی میکند |
|---|---|---|
| محصول | برنامه اصلی، API، تحلیلها | کدام محصول حاشیه ناخالص سالمی دارد؟ |
| محیط | تولید، مرحلهبندی، توسعه | چه چیزی میتواند متوقف یا تغییر اندازه شود؟ |
| مالک | پلتفرم، پرداختها، داده | چه کسی میتواند در مورد افزایش غیرمنتظره اقدام کند؟ |
| مرکز هزینه | تحقیق و توسعه، موفقیت مشتری، عملیات داخلی | هزینه در گزارش مدیریت کجا قرار میگیرد؟ |
| مشتری یا مستأجر | مشتری نامبرده، مشترک، داخلی | کدام قراردادها یا سطوح استفاده نیاز به بررسی دارند؟ |
ممکن است نتوانید هر بعد را به هر منبع اعمال کنید. این اشکالی ندارد. هدف تولید اطلاعات در سطح مورد نیاز برای یک تصمیم است، نه ایجاد متادیتای کامل به خاطر خودش.
ابعاد مالی را از ابعاد عملیاتی جدا کنید. «مرکز هزینه» و «محصول» ممکن است در گزارش مالی ظاهر شوند، در حالی که «خدمت»، «منطقه» و «خوشه» به مهندس در تشخیص عدد کمک میکنند. نگهداشتن هر دو به شما امکان میدهد مجموع دفتر کل را تطبیق دهید بدون از دست دادن جزئیات فنی مورد نیاز برای تغییر آن.
یک واژگان پایدار انتخاب کنید
کلیدها و مقادیر مجاز را در یک فرهنگ لغت برچسبگذاری کوتاه بنویسید. به عنوان مثال:
product: billing-api | dashboard | data-platform | shared
environment: production | staging | development
owner: platform | payments | analytics | security
cost_center: rnd | cogs | g_and_aاز شناسههای پایدار به جای توضیحات آزاد استفاده کنید. data-platform و data_platform نباید به دو گروه گزارشدهی متفاوت تبدیل شوند. از جاسازی تاریخها، شماره تیکتها یا نامهای پروژه موقت در برچسبی که انتظار دارید چندین سال آن را تحلیل کنید، خودداری کنید.
برای هر ورودی واژگان یک مالک تعیین کنید. شخصی باید تصمیم بگیرد که آیا یک محصول جدید تحت یک مقدار موجود قرار میگیرد، چه زمانی یک سرویس بازنشسته حذف میشود و چگونه یک تیم تغییر نامیافته به گزارشهای تاریخی نگاشت میشود.
یک استراتژی برچسبگذاری بسازید که از استقرارهای واقعی جان سالم به در ببرد
برچسبها فقط زمانی کمک میکنند که به قبض برسند. برچسبی که در مخزن کد منبع نشسته اما در منبع مستقر شده وجود ندارد، هیچ چیزی را تخصیص نمیدهد.
منبع و رابطه قابل صورتحساب را برچسبگذاری کنید
با منابعی شروع کنید که هزینه مادی ایجاد میکنند. نمونههای محاسباتی، پایگاههای داده مدیریتشده، سطلهای ذخیرهسازی، انبارهای داده، خوشههای Kubernetes و خدمات نگهداری گزارش معمولاً اهداف اولیه بهتری نسبت به اشیاء کمارزش هستند. برای خدماتی که نمیتوانند در سطح منبع برچسبگذاری شوند، از ابعاد حساب، پروژه، اشتراک، گروه منابع، دسته هزینه یا خروجی صورتحساب ارائهدهنده استفاده کنید.
زیرساخت بهعنوان کد قویترین نقطه اعمال برای بسیاری از تیمها است. متادیتای مورد نیاز را بخشی از قرارداد ماژول یا استقرار کنید، سپس منابعی که آن را حذف میکنند رد یا علامتگذاری کنید. یک لیست استثنا کوچک برای منابع مدیریتشده توسط ارائهدهنده نگه دارید و مستند کنید که چگونه در لایه گزارشدهی تخصیص داده میشوند.
در روز اول وعده تخصیص کامل ندهید. یک معیار پوشش مانند موارد زیر را دنبال کنید:
پوشش تخصیص = هزینه با مالک معتبر / کل هزینه در محدودهمعیار را بر اساس سرویس و محیط گزارش دهید. یک شرکت ممکن است ۹۵٪ پوشش کلی داشته باشد در حالی که یک سرویس هوش مصنوعی با رشد سریع تقریباً هیچ پوششی ندارد. تفکیک به شما میگوید کجا یک برچسب گمشده میتواند یک تصمیم را تحریف کند.
مسیر استقرار را مسئول کنید
شخصی که منبع را ایجاد میکند اغلب شخصی نیست که گزارش ماهانه را میخواند. سیاست را در جایی که منبع ایجاد میشود قرار دهید:
- کلیدهای مورد نیاز و مقادیر معتبر را تعریف کنید.
- مقادیر پیشفرض را برای محیطها و محصولات شناختهشده اعمال کنید.
- برچسبها را در بررسیهای زیرساخت بهعنوان کد یا سیاستهای ابری اعتبارسنجی کنید.
- منابع بدون برچسب را به یک صف بررسی صادر کنید.
- برای هر استثنای مادی یک مالک و مهلت تعیین کنید.
ابزارهای بومی ارائهدهنده میتوانند با برچسبهای تخصیص هزینه، دستههای هزینه، فیلترها، بررسیهای سیاست و متادیتای بهارثبرده کمک کنند. آنها در هر ابر متفاوت هستند، بنابراین ویژگیهای ارائهدهنده را بهعنوان جزئیات پیادهسازی پشت واژگان خودتان در نظر بگیرید. اگر بعداً یک ابر دوم اضافه کردید، برچسبهای آن را به همان ابعاد داخلی نگاشت کنید به جای ایجاد یک زبان گزارشدهی دوم.
تصمیم بگیرید که چگونه هزینههای مشترک را مدیریت کنید
برخی هزینهها مالک روشنی دارند. یک پایگاه داده اختصاصی به محصول صورتحساب معمولاً میتواند مستقیماً به آن محصول اختصاص یابد. سایر هزینهها به چند مصرفکننده خدمت میکنند: یک پلتفرم مشاهدهپذیری، یک دروازه شبکه، یک دریاچه داده، یک خوشه Kubernetes مشترک، پشتیبانی مشتری یا یک طرح پشتیبانی ارائهدهنده.
این هزینهها را برای همیشه در یک سطل «تخصیصنشده» پنهان نکنید. یک مقدار تخصیصنشده باعث میشود هر محصول ارزانتر از آنچه واقعاً هست به نظر برسد. اما دقت کاذب را نیز تحمیل نکنید. یک تقسیم ساختگی میتواند بیشتر از یک بودجه مرکزی شفاف به اعتماد آسیب برساند.
از تعداد کمی روش تخصیص قابل دفاع استفاده کنید
روش را بر اساس نحوه رفتار هزینه انتخاب کنید:
- تقسیم ثابت: زمانی از یک درصد مستند استفاده کنید که ذینفعان پایدار هستند و دادههای استفاده ارزش جمعآوری را ندارند.
- تقسیم مساوی: یک هزینه پلتفرم قابل پیشبینی را به طور مساوی بین تعداد کمی محصول یا تیم تقسیم کنید.
- هزینه متناسب: یک تخفیف مشترک یا هزینه پشتیبانی را به نسبت هزینه مستقیم هر مصرفکننده تخصیص دهید.
- پروکسی استفاده: بر اساس درخواستها، ذخیرهسازی مصرفشده، داده پردازششده، مستأجران فعال یا محرک قابل اندازهگیری دیگر تخصیص دهید.
- بودجه مرکزی: هزینه را به صورت مرکزی تأمین کنید زمانی که تقسیم آن بیشتر از ارزش تصمیم، نویز ایجاد کند.
به عنوان مثال، فرض کنید یک سرویس ثبت گزارش مشترک در یک ماه ۴,۰۰۰ دلار هزینه دارد. اگر محصول A ۶۰٪ از حجم گزارش نگهداریشده، محصول B ۳۰٪ و ابزارهای داخلی ۱۰٪ ایجاد کنند، تقسیم مبتنی بر استفاده آسانتر از تقسیم مساوی قابل دفاع است. اگر هزینه یک پلتفرم امنیتی در سطح شرکت با هیچ معیار استفاده معنادار محصول باشد، یک بودجه امنیتی مرکزی ممکن است صادقانهتر باشد.
چهار واقعیت را برای هر قانون هزینه مشترک مستند کنید: هزینههای منبع، گیرندگان، فرمول و تاریخ بازبینی. درصدهای ثابت را زمانی که ترکیب محصول یا معماری تغییر میکند، بازبینی کنید. قانونی که وقتی دو محصول مشابه بودند منصفانه بود میتواند پس از رشد دهبرابری یک محصول گمراهکننده شود.
هزینههای اختصاصی و مشترک را قابل مشاهده نگه دارید
گزارش شما باید حداقل سه لایه را نشان دهد:
- هزینه قابل انتساب مستقیم
- هزینه مشترک تخصیصیافته
- هزینه تخصیصنشده یا در حال بررسی
این کار روش را قابل حسابرسی میکند. یک مالک محصول میتواند هم زیرساختی را که کنترل میکند و هم خدمات پلتفرمی را که به آن وابسته است ببیند. مالی میتواند مجموع کامل را بدون اشتباه گرفتن یک تخمین با هزینه ارائهدهنده تطبیق دهد.
ابتدا نمایش هزینهها، بعداً بازپرداخت
نمایش هزینهها گزارش میدهد که هر تیم، محصول یا مرکز هزینه چه چیزی مصرف کرده است. بازپرداخت مقدار تخصیصیافته را به یک فرآیند مدیریتی یا حسابداری رسمی منتقل میکند. یک استارتاپ معمولاً ابتدا از نمایش هزینهها سود میبرد زیرا بدون تظاهر به اینکه یک تخصیص داخلی یک فاکتور فروشنده است، دید ایجاد میکند.
یک گزارش ماهانه مفید نمایش هزینهها شامل موارد زیر است:
- مجموع قبض ارائهدهنده و دوره گزارش
- هزینه مستقیم بر اساس محصول، مالک و محیط
- استخرهای هزینه مشترک و فرمول استفادهشده برای هر یک
- هزینه بدون برچسب و تخصیصنشده
- واقعی در مقابل بودجه و پیشبینی
- تغییر ماه به ماه و محرکهای اصلی
- یک لیست کوتاه از اقدامات، مالکان و تاریخهای سررسید
آن را در یک برنامه زمانی قابل پیشبینی منتشر کنید. یک گزارش دقیق که شش هفته دیر تحویل داده شود، تصمیم استقرار را تغییر نخواهد داد. یک گزارش ساده که نزدیک به بسته شدن تحویل داده شود میتواند بخشی از ریتم عملیاتی تیم شود.
از گزارش برای تنبیه مهندسان به خاطر زیرساختی که نمیتوانند بر آن تأثیر بگذارند استفاده نکنید. بپرسید آیا گیرنده یک اقدام در دسترس دارد: تغییر اندازه یک منبع، حذف یک محیط بیکار، تغییر دوره نگهداری، بهبود یک پرسوجو یا تنظیم قیمتگذاری یک ویژگی. پاسخگویی زمانی کار میکند که گزارش هزینه را به یک تصمیم و یک مالک متصل کند.
تخصیص را به حسابداری و حاشیههای محصول متصل کنید
تخصیص ابری جایگزینی برای حسابداری نیست. فاکتور ارائهدهنده منبع کل هزینه باقی میماند، در حالی که مدل تخصیص جزئیات مدیریتی زیر آن را فراهم میکند.
یک تطبیق ایجاد کنید که گزارش را به دفاتر متصل کند:
مجموع فاکتور ارائهدهنده
- اعتبارات و مالیات به طور جداگانه مدیریت میشوند
= هزینه ابری برای تطبیق
تخصیصهای مستقیم
+ تخصیصهای هزینه مشترک
+ مانده تخصیصنشده
= مجموع گزارش تخصیصیافتهفاکتور، خروجی صورتحساب، نسخه تخصیص و سوابق تأیید را با هم نگه دارید. اگر درصد هزینه مشترک تغییر کند، قانون قدیمی را برای دورههای بسته حفظ کنید به جای بازنویسی تاریخ بدون توضیح.
رفتار حسابداری به سیاست حسابداری و چارچوب گزارشدهی شما بستگی دارد، بنابراین طبقهبندی را با حسابدار خود تأیید کنید. دیدگاههای مدیریتی رایج ممکن است زیرساخت تولیدی که از ارائه خدمات پشتیبانی میکند را از تحقیق و توسعه، هزینههای عمومی و اداری یا هزینههای عبوری خاص مشتری جدا کند. کنترل مهم سازگاری است: مجموع ارائهدهنده را یک بار ثبت کنید، سپس از ابعاد مستند برای توضیح آن استفاده کنید.
این همچنین مسیری به اقتصاد واحد ایجاد میکند. اگر یک محصول به ۱۰,۰۰۰ حساب فعال خدمت میکند، هزینه ابری سطح محصول میتواند به معیار هزینه به ازای هر حساب تبدیل شود. اگر یک قرارداد مشتری دارای یک جزء استفاده باشد، تخصیص سطح مستأجر میتواند نشان دهد که آیا قیمت فعلی زیرساخت را پوشش میدهد. از این معیارها بهعنوان سیگنال استفاده کنید، نه بهعنوان فرمولهای قیمتگذاری خودکار؛ آنها فقط به اندازه پروکسی استفاده و پوشش تخصیص پشت خود خوب هستند.
یک استقرار ۳۰ روزه برای یک تیم کوچک SaaS
میتوانید بدون انتظار برای یک انبار داده کامل، نسخه اولیه را ایجاد کنید.
هفته ۱: مدل را تعریف کنید
محصولات، محیطها، مالکان و مراکز هزینهای که در گزارش مدیریت ظاهر میشوند را نام ببرید. مقادیر مجاز را بنویسید و پنج تا ده خدمتی که بیشتر هزینه را ایجاد میکنند شناسایی کنید. تصمیم بگیرید کدام هزینههای مشترک به صورت مرکزی بودجهبندی میشوند و کدام به یک فرمول نیاز دارند.
هفته ۲: هزینه مادی را برچسبگذاری کنید
فرهنگ لغت را به منابع و ماژولهای استقرار با بالاترین ارزش اعمال کنید. بررسیهای سیاست را برای منابع تولیدی جدید اضافه کنید. یک لیست استثنا برای منابعی که هنوز نمیتوانند متادیتای مورد نیاز را حمل کنند بسازید.
هفته ۳: تطبیق و آزمایش
دادههای صورتحساب را صادر کنید، فیلدهای ارائهدهنده را به ابعاد داخلی خود نگاشت کنید و نتیجه را با فاکتور مقایسه کنید. مدل را در برابر یک ماه عادی و یک ماه با یک جهش شناختهشده آزمایش کنید. از یک مهندس و یک بازبین مالی بخواهید مفروضات را به چالش بکشند.
هفته ۴: نمایش هزینهها را منتشر کنید
گزارشی با بخشهای مستقیم، مشترک و تخصیصنشده ارسال کنید. فرمول و اقدامات بعدی را شامل کنید. یک تاریخ بسته شدن ماهانه، یک بازبینی فصلی قوانین هزینه مشترک و یک هدف برای بهبود پوشش تخصیص تعیین کنید.
اشتباهات رایج که باید از آنها اجتناب کنید
برخورد با برچسبها بهعنوان یک پروژه یکباره
منابع تغییر میکنند، تیمها سازماندهی مجدد میشوند و خدمات جدید ظاهر میشوند. انطباق را به طور مداوم اندازهگیری کنید و مالکیت استثنا را تعیین کنید.
تخصیص همه چیز به طور مساوی
تقسیمهای مساوی آسان هستند اما اغلب محرک واقعی را پنهان میکنند. فقط زمانی از آنها استفاده کنید که ذینفعان و استفاده مورد انتظار واقعاً قابل مقایسه باشند.
مخلوط کردن مجموع فاکتور با تخصیصهای مدیریتی
یک تقسیم داخلی باید قبض ارائهدهنده را توضیح دهد، نه اینکه آن را افزایش دهد. مجموع هزینه خارجی و نمای تخصیص داخلی را متمایز نگه دارید.
گزارش فقط یک مجموع کلی
یک مجموع نمیتواند به مالک محصول بگوید چه چیزی را تغییر دهد. محرکها، روندها و اقدامات را همراه با عدد شامل کنید.
دنبال کردن انتساب کامل سطح مشتری خیلی زود
از سطح محصول یا خدمات شروع کنید، جایی که داده قابل اعتماد است. تخصیص مشتری یا مستأجر را زمانی اضافه کنید که تصمیم تجاری هزینه ابزار دقیق را توجیه کند.
مدیریت مالی خود را ساده کنید
تخصیص ابری زمانی بسیار آسانتر قابل اعتماد میشود که تراکنشهای منبع، قوانین تخصیص و تأییدها به راحتی قابل بازرسی باشند. Beancount.io حسابداری متنسادهای ارائه میدهد که شفاف، نسخهکنترلشده و آماده هوش مصنوعی است و به تیم شما یک سوابق مالی بادوام برای اتصال به گزارشهای عملیاتی میدهد. مستندات را کاوش کنید یا اعداد خود را با Fava در حالی که فرآیند تخصیص شما رشد میکند مشاهده کنید.