در سالهای اخیر، سازمانها بیش از هر زمان دیگری به ارائه سریع، پایدار و باکیفیت نرمافزار وابسته شدهاند. با این حال، در بسیاری از ساختارهای سنتی فناوری اطلاعات، تیمهای توسعه نرمافزار (Development) و عملیات زیرساخت و بهرهبرداری (Operations) بهصورت جداگانه فعالیت میکردند.
تیم توسعه معمولاً بر تحویل سریع قابلیتهای جدید تمرکز دارد، در حالیکه تیم عملیات مسئول پایداری، امنیت، دسترسپذیری و کاهش ریسک سامانههاست. این تفاوت در اولویتها اغلب موجب شکلگیری شکاف ارتباطی، تأخیر در انتشار، خطاهای بیشتر و فرهنگ سرزنش میان تیمها میشد.
رویکرد DevOps برای کاهش این فاصله به وجود آمد. DevOps فقط مجموعهای از ابزارها مانند Docker، Kubernetes، Ansible یا Jenkins نیست؛ بلکه یک فرهنگ، مدل همکاری و روش کاری مشترک میان توسعه، عملیات، امنیت، کیفیت و کسبوکار است.
یکی از شناختهشدهترین مدلها برای درک و پیادهسازی اصول DevOps، مدل CALMS است. CALMS کمک میکند DevOps را نه صرفاً بهعنوان اتوماسیون، بلکه بهعنوان یک تحول سازمانی و فرهنگی ببینیم.

DevOps ترکیبی از دو واژه زیر است:
Dev: توسعه نرمافزار
Ops: عملیات، نگهداری و بهرهبرداری از سامانهها
هدف اصلی DevOps ایجاد همکاری مستمر میان افراد، فرایندها و ابزارها برای تحویل سریعتر و قابلاعتمادتر نرمافزار است.
در روشهای سنتی، فرایند تحویل نرمافزار معمولاً به شکل زیر بود:
تیم توسعه کد را تولید میکرد.
کد به تیم تست تحویل داده میشد.
پس از تأیید، تیم عملیات مسئول استقرار در محیط عملیاتی بود.
در صورت بروز مشکل، مسئولیت میان تیمها جابهجا میشد.
انتشار نسخههای جدید زمانبر، پرریسک و اغلب دستی بود.
این مدل چند مشکل اساسی ایجاد میکرد:
زمان زیاد بین توسعه تا انتشار محصول
وابستگی شدید به فرایندهای دستی
اختلاف میان توسعهدهندگان و تیم عملیات
دشواری در تشخیص علت خطاها
استقرارهای پرریسک و با حجم تغییرات زیاد
نبود بازخورد سریع از محیط عملیاتی
کاهش قابلیت اطمینان سرویسها
DevOps با تأکید بر همکاری، اتوماسیون، اندازهگیری، بهبود مستمر و اشتراک دانش، برای حل این چالشها ایجاد شد.
CALMS یک چارچوب مفهومی برای ارزیابی بلوغ DevOps و پیادهسازی آن در سازمان است. این واژه از حروف ابتدایی پنج مؤلفه کلیدی تشکیل شده است:
C Culture فرهنگ
A Automation اتوماسیون
L Lean تفکر ناب
M Metrics معیارها و سنجهها
S Sharing اشتراکگذاری

مدل CALMS بیان میکند که موفقیت DevOps فقط به انتخاب ابزار مناسب وابسته نیست. حتی اگر یک سازمان از ابزارهای پیشرفته CI/CD، کانتینر، مانیتورینگ و Infrastructure as Code استفاده کند، بدون فرهنگ همکاری، سنجههای درست و اشتراک دانش، DevOps بهصورت واقعی شکل نخواهد گرفت.
مهمترین بخش مدل CALMS، Culture یا فرهنگ است. بسیاری از شکستهای DevOps نه به دلیل ضعف فنی، بلکه به دلیل مقاومت فرهنگی، نبود اعتماد، ساختارهای جزیرهای و فرهنگ سرزنش رخ میدهند.
در فرهنگ سنتی، تیم توسعه ممکن است بگوید:
«کد روی سیستم من درست کار میکند.»
و تیم عملیات پاسخ دهد:
«این نرمافزار قابل اجرا یا نگهداری نیست.»
DevOps تلاش میکند این ذهنیت را تغییر دهد. در فرهنگ DevOps، توسعهدهنده، تیم عملیات، امنیت، تست و سایر نقشها همگی نسبت به نتیجه نهایی سرویس مسئولیت مشترک دارند.
فرهنگ DevOps معمولاً شامل موارد زیر است:
مسئولیت مشترک: موفقیت یا شکست سرویس به یک تیم محدود نمیشود.
اعتماد بین تیمها: اعضا اطلاعات، تجربه و مشکلات را شفاف بیان میکنند.
عدم سرزنش افراد: تمرکز بر علت ریشهای مشکل است، نه مقصر یافتن.
یادگیری از خطا: رخدادها و شکستها فرصتی برای بهبود فرایندها هستند.
همکاری بینتیمی: تیمها از ابتدا در طراحی، توسعه، استقرار و نگهداری حضور دارند.
شفافیت: وضعیت سامانه، رخدادها، تغییرات و معیارهای عملکرد برای افراد مرتبط قابل مشاهده است.
مالکیت سرویس: تیمها فقط کد تولید نمیکنند؛ بلکه مسئول کیفیت و رفتار آن در محیط واقعی نیز هستند.
پس از وقوع یک اختلال در سرویس، به جای پرسش:
«چه کسی باعث این مشکل شد؟»
سازمان DevOps میپرسد:
«چه عامل سیستمی، فرایندی یا فنی باعث شد این خطا به محیط عملیاتی برسد و چگونه از تکرار آن جلوگیری کنیم؟»
این رویکرد معمولاً در قالب جلسات Blameless Postmortem یا تحلیل رخداد بدون سرزنش اجرا میشود.
اتوماسیون دومین رکن CALMS است. هدف آن حذف یا کاهش فعالیتهای دستی، تکراری، زمانبر و مستعد خطاست.
در محیطهای سنتی، بسیاری از فعالیتها بهصورت دستی انجام میشوند:
نصب و پیکربندی سرورها
ایجاد کاربران و سطح دسترسی
نصب وابستگیهای نرمافزاری
انتشار نسخه جدید
اجرای تستها
تهیه نسخه پشتیبان
بررسی وضعیت سرویسها
پاسخ به رخدادهای رایج
اجرای دستی این فعالیتها معمولاً باعث تفاوت بین محیطها، وابستگی به افراد خاص و افزایش احتمال خطا میشود.
با استفاده از خطوط لوله CI/CD، هر تغییر در کد میتواند بهصورت خودکار:
Build شود.
تستهای واحد و یکپارچه روی آن اجرا شود.
تحلیل کیفیت و امنیت کد انجام شود.
در محیط آزمایشی مستقر شود.
پس از تأیید، به محیط عملیاتی منتشر شود.
ابزارهای متداول:
GitLab CI/CD
Jenkins
GitHub Actions
Azure DevOps Pipelines
در این روش، زیرساخت مانند کد مدیریت میشود. بهجای پیکربندی دستی سرورها، شبکهها یا ماشینهای مجازی، تنظیمات در فایلهای نسخهبندیشده ثبت میشوند.
ابزارهای رایج:
Ansible
Terraform
Pulumi
Cloud-init
Helm
مزایای این رویکرد:
تکرارپذیری پیکربندی
کاهش خطای انسانی
ثبت تاریخچه تغییرات در Git
امکان بازبینی و تأیید تغییرات
سرعت بیشتر در ایجاد محیطهای جدید
استقرار نرمافزار باید تا حد امکان استاندارد، قابل تکرار و کمریسک باشد. روشهایی مانند زیر به این هدف کمک میکنند:
Rolling Deployment
Blue-Green Deployment
Canary Deployment
Feature Flags
Rollback خودکار
اتوماسیون فقط برای توسعه نیست. در عملیات نیز میتوان موارد زیر را خودکار کرد:
بررسی سلامت سرویسها
راهاندازی مجدد سرویسهای دچار خطا
تهیه بکاپ
اعمال Patchهای امنیتی
مدیریت لاگها
هشداردهی
مقیاسپذیری خودکار

Lean یا تفکر ناب، رویکردی است که بر حذف اتلاف، کاهش زمان انتظار، بهبود جریان کار و ارائه ارزش سریعتر به مشتری تمرکز دارد.
در DevOps، تفکر ناب یعنی بررسی کنیم کدام فعالیتها واقعاً برای کاربر یا کسبوکار ارزش ایجاد میکنند و کدام مراحل فقط باعث تأخیر، دوبارهکاری یا پیچیدگی میشوند.
موارد زیر معمولاً از مصادیق اتلاف هستند:
انتظار طولانی برای تأیید انتشار
تحویل دستی بین تیمها
تستهای تکراری یا غیرضروری
جلسات بدون خروجی مشخص
اصلاح چندباره یک مشکل مشابه
مستندسازی ناقص که نیاز به پرسوجوی مکرر ایجاد میکند
محیطهای متفاوت توسعه، تست و تولید
استقرارهای بزرگ و کمتعداد
وابستگی به دانش یک فرد خاص
بهجای انتشارهای بزرگ و نادر، تغییرات کوچکتر و مکرر منتشر شوند. تغییرات کوچک:
بررسی سادهتری دارند.
ریسک پایینتری ایجاد میکنند.
در صورت خطا، بازگردانی آنها آسانتر است.
علت رخدادها را سادهتر مشخص میکنند.
هرچه سریعتر از کاربران، تستها، مانیتورینگ و محیط عملیاتی بازخورد دریافت شود، اصلاح خطاها نیز سریعتر انجام میشود.
DevOps یک پروژه با نقطه پایان مشخص نیست. سازمان باید به شکل دائمی فرایندها را بررسی کند و بهبود دهد.
مدلی رایج برای این کار چرخه زیر است:
Plan→Do→Check→Act
یعنی:
برنامهریزی
اجرا
بررسی نتیجه
اصلاح و بهبود
اگر افراد یا تیمها همزمان روی تعداد زیادی کار نیمهتمام کار کنند، زمان تحویل افزایش مییابد. Lean پیشنهاد میکند تعداد کارهای در حال انجام یا Work In Progress محدود شود تا تمرکز افزایش یابد.
بدون داده و سنجه، نمیتوان فهمید آیا DevOps واقعاً باعث بهبود شده است یا خیر. معیارها باید به سازمان کمک کنند تصمیمهای مبتنی بر شواهد بگیرد، گلوگاهها را شناسایی کند و تأثیر تغییرات را بسنجد.
با این حال، هدف معیارها نباید کنترل یا مقایسه ناسالم افراد باشد. استفاده نادرست از سنجهها ممکن است باعث رفتارهای ظاهراً خوب اما غیرواقعی شود؛ برای مثال، تیمی که فقط برای بهبود یک عدد، کیفیت واقعی را نادیده میگیرد.
معیارهای معروف DevOps، که اغلب با عنوان DORA Metrics شناخته میشوند، عبارتاند از:
تعداد دفعاتی که یک تیم یا سازمان با موفقیت تغییرات را به محیط عملیاتی منتشر میکند.
این معیار نشان میدهد فرایند تحویل تا چه اندازه سریع و قابلاعتماد است.
مدتزمان بین ثبت تغییر در کد تا اجرای موفقیتآمیز آن در محیط عملیاتی.
هرچه این زمان کمتر باشد، سازمان سریعتر میتواند به نیازهای کسبوکار یا کاربران پاسخ دهد.
درصد تغییراتی که پس از استقرار باعث اختلال، Rollback، Hotfix یا نیاز به اصلاح فوری میشوند.
این معیار تصویری از کیفیت و ایمنی فرایند انتشار ارائه میدهد.
مدتزمان لازم برای بازیابی سرویس پس از یک رخداد یا اختلال.
کاهش این زمان نشان میدهد سازمان در تشخیص، پاسخ و بازیابی از خطاها توانمندتر شده است.
علاوه بر معیارهای DORA، سازمانها میتوانند شاخصهای زیر را نیز اندازهگیری کنند:
دسترسپذیری سرویس یا Availability
زمان پاسخگویی برنامه
نرخ خطا
مصرف CPU، حافظه، Disk و شبکه
تعداد رخدادهای امنیتی
درصد موفقیت Build و Deployment
پوشش تست
تعداد Ticketهای باز و زمان حل آنها
میزان رضایت کاربران یا مشتریان
هزینه زیرساخت و بهرهوری منابع
سنجهها باید به بهبود سیستم کمک کنند، نه فشار آوردن به افراد. بنابراین بهتر است معیارها در سطح سرویس، فرایند و تیم تحلیل شوند؛ نه بهعنوان ابزاری برای مقصرشناسی فردی.
آخرین مؤلفه CALMS، Sharing است. DevOps زمانی موفق میشود که دانش، مسئولیت، تجربه و بازخورد میان تیمها جریان داشته باشد.
در بسیاری از سازمانها، دانش فنی در اختیار افراد یا تیمهای محدود باقی میماند. این وضعیت باعث ایجاد وابستگی، کندی در حل مشکلات و افزایش ریسک میشود.
اشتراکگذاری در DevOps یعنی:
توسعهدهندگان با مفاهیم عملیات و زیرساخت آشنا شوند.
تیم عملیات در تصمیمهای معماری و طراحی نرمافزار مشارکت کند.
تیم امنیت از ابتدا در چرخه توسعه حضور داشته باشد.
تجربه رخدادها و خطاها مستندسازی شود.
مستندات بهروزرسانیشده و قابل دسترسی باشند.
موفقیتها، شکستها و درسآموختهها میان تیمها منتشر شوند.
مستندات باید شامل مواردی مانند زیر باشند:
معماری سرویس
روش استقرار
وابستگیها
روش Rollback
Runbook رخدادها
راهنمای عیبیابی
اطلاعات مانیتورینگ و هشدارها
سیاستهای Backup و Recovery
پس از رخدادهای مهم، جلسهای برای تحلیل علت ریشهای برگزار میشود. خروجی این جلسه باید شامل موارد زیر باشد:
چه اتفاقی افتاد؟
چه زمانی رخ داد؟
چه اثری بر کاربران داشت؟
علت فنی و فرایندی چه بود؟
چه اقداماتی برای جلوگیری از تکرار لازم است؟
مسئول و زمانبندی هر اقدام چیست؟
برگزاری جلسات داخلی، ارائههای فنی، Pair Programming، Pair Troubleshooting و انتقال دانش بین تیمها، وابستگی به افراد را کاهش میدهد.
مواردی مانند کد، فایلهای Ansible، تنظیمات Kubernetes، Terraform، Runbookها و Pipelineها باید تا حد امکان در مخازن مشترک و نسخهبندیشده نگهداری شوند.
پنج جزء CALMS مستقل از هم نیستند؛ بلکه یکدیگر را تقویت میکنند.
برای مثال:
بدون Culture، تیمها ممکن است اتوماسیون را نپذیرند یا مسئولیت مشترک نداشته باشند.
بدون Automation، سرعت و تکرارپذیری فرایندها محدود میماند.
بدون Lean، ممکن است اتوماسیون فقط یک فرایند ناکارآمد را سریعتر اجرا کند.
بدون Metrics، سازمان نمیداند آیا واقعاً پیشرفت کرده است یا نه.
بدون Sharing، دانش در سیلوهای جداگانه باقی میماند و بهبود پایدار شکل نمیگیرد.
بنابراین، CALMS را میتوان یک مدل متوازن برای بلوغ DevOps دانست.
DevOps رویکردی برای نزدیککردن توسعه و عملیات با هدف تحویل سریعتر، پایدارتر و باکیفیتتر نرمافزار است. اما DevOps صرفاً نصب ابزارهای CI/CD، Docker، Kubernetes یا Ansible نیست. موفقیت واقعی آن به تغییر در فرهنگ سازمان، روش همکاری و نحوه تصمیمگیری وابسته است.
مدل CALMS با پنج مؤلفه فرهنگ، اتوماسیون، تفکر ناب، معیارها و اشتراکگذاری، دیدی جامع برای درک و پیادهسازی DevOps ارائه میدهد.
بهطور خلاصه:
Culture همکاری، اعتماد و مسئولیت مشترک ایجاد میکند.
Automation کارهای دستی و خطاپذیر را کاهش میدهد.
Lean اتلافها و گلوگاههای فرایند را حذف میکند.
Metrics امکان تصمیمگیری مبتنی بر داده را فراهم میسازد.
Sharing دانش و تجربه را در سراسر سازمان توزیع میکند.
سازمانی که این پنج اصل را بهصورت متوازن اجرا کند، میتواند تحویل نرمافزار و مدیریت سرویسهای خود را سریعتر، امنتر، قابلاعتمادتر و پایدارتر انجام دهد.
منابع :
https://www.atlassian.com/devops/frameworks/calms-framework
https://cloud.google.com/developers/dora
Kim, G., Humble, J., Debois, P., & Willis, J. The DevOps Handbook.
Forsgren, N., Humble, J., & Kim, G. Accelerate.
Allspaw, J. Blameless PostMortems and a Just Culture. Etsy Code as Craft.
Poppendieck, M., & Poppendieck, T. Lean Software Development.
Womack, J. P., & Jones, D. T. Lean Thinking.
Humble, J., & Farley, D. Continuous Delivery.
Beyer, B., et al. Site Reliability Engineering.