برون‌سپاری دواپس یا استخدام مهندس دواپس؟ مقایسه‌ی هزینه، ریسک و یک چارچوب تصمیم‌گیری

بیشتر شرکت‌های نرم‌افزاری در ایران به نقطه‌ای می‌رسند که «یکی از برنامه‌نویس‌ها سرورها را هم می‌گرداند» دیگر جواب نمی‌دهد: استقرارها دستی و پرخطرند، بکاپ‌ها تست نشده‌اند، سرور نیمه‌شب از دسترس خارج می‌شود و هیچ‌کس دقیقاً نمی‌داند چه چیزی کجا اجرا می‌شود. در این نقطه دو گزینه‌ی اصلی روی میز است: استخدام مهندس دواپس یا برون‌سپاری دواپس به یک تیم بیرونی.

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

هزینه‌ی واقعی: چه چیزهایی را باید شمرد؟

اشتباه رایج این است که حقوق یک مهندس را با قیمت قرارداد برون‌سپاری مقایسه کنیم. مقایسه‌ی درست، هزینه‌ی کل هر گزینه است.

اجزای هزینه‌ی استخدام

  • حقوق و مزایا و هزینه‌های قانونی کارفرما (بیمه و…).
  • هزینه‌ی جذب: آگهی، زمان مدیران فنی برای مصاحبه، و گاهی هزینه‌ی کاریابی.
  • هزینه‌ی دوره‌ی خالی: هفته‌ها یا ماه‌هایی که جایگاه خالی است و کارها عقب می‌افتد یا ریسک‌ها باقی می‌مانند.
  • دوره‌ی آشنایی: مدتی که فرد جدید زیرساخت شما را یاد می‌گیرد و هنوز بهره‌وری کامل ندارد.
  • آموزش و ابزار: دوره‌ها، گواهی‌نامه‌ها، لایسنس ابزارها و محیط تست.
  • هزینه‌ی آنکال: اگر انتظار پاسخ‌گویی خارج از ساعت کاری دارید، باید جبران شود؛ و یک نفر نمی‌تواند همیشه در دسترس باشد.
  • هزینه‌ی ترک کار: اگر فرد برود، دوباره همه‌ی موارد بالا تکرار می‌شود، به‌علاوه‌ی دانشی که با او می‌رود.

اجزای هزینه‌ی برون‌سپاری

  • هزینه‌ی قرارداد: پروژه‌ای (دامنه‌ی مشخص) یا ماهانه (ساعات یا خدمات مشخص).
  • هزینه‌ی هماهنگی داخلی: کسی در تیم شما باید درخواست‌ها را اولویت‌بندی و نتیجه را تحویل بگیرد. این زمان را صفر فرض نکنید.
  • هزینه‌ی کارهای خارج از دامنه: درخواست‌هایی که در قرارداد نیست و جداگانه محاسبه می‌شود.
  • هزینه‌ی خروج: اگر روزی بخواهید تأمین‌کننده را عوض کنید، انتقال دانش و دسترسی‌ها چقدر کار می‌برد؟

یک فرمول ساده برای مقایسه‌ی سالانه:

هزینه‌ی کل استخدام = (حقوق + مزایا + هزینه‌های کارفرما) × ۱۲
                    + هزینه‌ی جذب + آموزش و ابزار + جبران آنکال
                    + (احتمال ترک کار × هزینه‌ی جایگزینی)

هزینه‌ی کل برون‌سپاری = هزینه‌ی قرارداد × ۱۲
                       + کارهای خارج از دامنه
                       + زمان هماهنگی داخلی × نرخ ساعتی آن فرد

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

مقایسه بر اساس معیارهای اصلی

معیار استخدام برون‌سپاری
زمان شروع طولانی: یافتن، مصاحبه، دوره‌ی اعلام و آشنایی کوتاه‌تر: تیم آماده است، فقط آشنایی با زیرساخت لازم است
وابستگی به یک نفر (Bus Factor) بالا، مگر بیش از یک نفر استخدام کنید پایین‌تر، اگر تأمین‌کننده واقعاً یک تیم باشد و مستندسازی کند
گستردگی تخصص محدود به مهارت‌های یک فرد دسترسی به تخصص‌های مختلف (شبکه، دیتابیس، کوبرنتیز، امنیت)
شناخت محصول و کسب‌وکار عمیق و روزبه‌روز بیشتر کمتر؛ به کیفیت ارتباط و مستندات بستگی دارد
حفظ دانش در ذهن فرد؛ با رفتن او از دست می‌رود مگر مستند شود باید در قرارداد الزام شود: مستندات و کد در مخزن شما
کنترل و اولویت‌بندی کامل؛ فرد تمام‌وقت در اختیار شماست محدود به دامنه‌ی قرارداد و زمان پاسخ توافق‌شده
پوشش آنکال یک نفر نمی‌تواند پوشش دائمی بدهد بسته به قرارداد، تیم می‌تواند شیفت داشته باشد
مقیاس‌پذیری کار ثابت؛ برای پروژه‌ی بزرگ باید استخدام کنید انعطاف‌پذیر؛ حجم کار با قرارداد بالا و پایین می‌رود

Bus Factor: ریسکی که معمولاً دیده نمی‌شود

Bus Factor یعنی چند نفر باید از دسترس خارج شوند تا پروژه متوقف شود. در بسیاری از شرکت‌ها، این عدد برای زیرساخت یک است: یک نفر که رمزها، معماری و «آن اسکریپتی که هر شب اجرا می‌شود» را می‌داند. استخدام یک مهندس دواپس این ریسک را از برنامه‌نویس به مهندس دواپس منتقل می‌کند، ولی حذفش نمی‌کند. حذف واقعی آن فقط با مستندسازی، زیرساخت به‌صورت کد و بیش از یک نفر آشنا ممکن است، چه با استخدام و چه با برون‌سپاری.

گستردگی تخصص

دواپس امروز شامل CI/CD، کانتینر و کوبرنتیز، مانیتورینگ، امنیت، شبکه، دیتابیس و بهینه‌سازی هزینه است. پیدا کردن یک نفر که در همه‌ی این‌ها عمیق باشد بسیار سخت است. اگر نیازهای شما متنوع ولی هر کدام کم‌حجم است، برون‌سپاری معمولاً مزیت دارد؛ اگر نیاز شما متمرکز و پرحجم است (مثلاً یک پلتفرم کوبرنتیز بزرگ)، متخصص داخلی منطقی‌تر است.

مدل ترکیبی: معمولاً بهترین جواب

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

  • ساخت بیرونی، نگه‌داری داخلی: یک تیم بیرونی زیرساخت، CI/CD و مانیتورینگ را می‌سازد و مستند می‌کند، سپس یک نیروی داخلی (حتی جونیور) با آموزش، آن را نگه می‌دارد.
  • متخصص داخلی + پشتیبان بیرونی: یک مهندس دواپس داخلی کارهای روزمره را انجام می‌دهد و تیم بیرونی برای پروژه‌های تخصصی، مرخصی‌ها و آنکال خارج از ساعت کاری پشتیبان اوست. این مدل Bus Factor را بالا می‌برد.
  • برون‌سپاری کامل با مالکیت داخلی: همه‌ی کارها بیرونی است، اما مخزن کد زیرساخت، دسترسی‌ها و مستندات کاملاً متعلق به شماست و یک نفر داخلی مسئول تحویل گرفتن کارهاست.

چک‌لیست تصمیم‌گیری

به این سؤال‌ها جواب «بله» یا «نه» بدهید:

  1. آیا حجم کار زیرساخت شما برای پر کردن وقت کامل یک نفر کافی است، به‌طور مداوم و نه فقط در دوره‌های پروژه؟
  2. آیا زیرساخت جزء مزیت رقابتی اصلی محصول شماست (مثلاً پلتفرم ابری، سرویس با ترافیک بسیار بالا)؟
  3. آیا کسی در شرکت دارید که بتواند یک مهندس دواپس را مصاحبه، ارزیابی و مدیریت کند؟
  4. آیا می‌توانید چند ماه منتظر یافتن و آشنا شدن نیروی مناسب بمانید؟
  5. آیا به پوشش خارج از ساعت کاری نیاز دارید که یک نفر به‌تنهایی نمی‌تواند بدهد؟
  6. آیا نیازهای شما در چند حوزه‌ی تخصصی متفاوت پخش شده است؟
  7. آیا یک کار فوری دارید (مهاجرت، حادثه‌ی امنیتی، ممیزی) که نمی‌تواند منتظر استخدام بماند؟

تفسیر: اگر به ۱ تا ۴ بیشتر «بله» گفتید، استخدام (احتمالاً همراه با پشتیبان بیرونی) مناسب‌تر است. اگر به ۵ تا ۷ بیشتر «بله» گفتید یا به ۱ و ۳ «نه»، برون‌سپاری یا مدل ترکیبی منطقی‌تر است. اگر وضعیت زیرساخت را دقیق نمی‌دانید، قبل از هر تصمیمی یک ممیزی زیرساخت انجام دهید تا حجم و نوع کار مشخص شود.

سؤال‌هایی که باید از تأمین‌کننده‌ی برون‌سپاری بپرسید

  • چند نفر روی زیرساخت ما کار می‌کنند و اگر مسئول اصلی در دسترس نباشد، چه کسی جایگزین است؟
  • کد زیرساخت (Ansible، Terraform، فایل‌های Compose، Pipelineها) در مخزن چه کسی نگه‌داری می‌شود؟ (جواب درست: مخزن شما.)
  • مستندات چه چیزهایی را پوشش می‌دهد و چه زمانی تحویل می‌شود؟
  • دسترسی‌ها چطور مدیریت می‌شوند؟ آیا حساب شخصی هر نفر جداست و با پایان قرارداد قابل لغو است؟
  • زمان پاسخ در ساعات کاری و خارج از آن دقیقاً چیست و در قرارداد نوشته می‌شود؟
  • تغییرات چطور انجام می‌شوند؟ آیا قبل از تغییر بکاپ و برنامه‌ی بازگشت وجود دارد؟
  • گزارش کار ماهانه شامل چه چیزهایی است؟
  • در صورت پایان همکاری، فرایند تحویل و انتقال دانش چیست؟
  • آیا قرارداد عدم افشا (NDA) امضا می‌کنید؟

تأمین‌کننده‌ای که به این سؤال‌ها جواب روشن و مکتوب ندهد، ریسک وابستگی را از یک کارمند به یک شرکت منتقل می‌کند، نه اینکه کمش کند.

جمع‌بندی

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

نمی‌دانید کدام مدل برای شما مناسب است؟ تیم مروانت هم به‌صورت تیم دواپس اختصاصی (DevOps as a Service) کار می‌کند و هم در قالب مشاوره‌ی دواپس کمک می‌کند تصمیم درست را بگیرید یا تیم داخلی‌تان را راه بیندازید.

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

جستجو

فهرست مطالب