رویکرد «دواپس» (DevOps) حدود ۱۵ سال است که مورد استفاده قرار میگیرد. آنچه که در ابتدا بهعنوان پاسخی «ساده» به شیوه کاری «چابُک» (Agile) شروع شد و عملیات را همانند توسعه نرمافزار مدیریت میکرد، بهتدریج به متدولوژیای تبدیل شده است که سازمانها را به سوی فرایندهای تحویل کارآمدتر، سریعتر و مقاومتر هدایت میکند. در این مطلب بررسی خواهیم کرد که چرا رویکرد دواپس بسیار موفق بوده است و اینکه آیا دواپس تنها برای شرکتهای سازمانی بزرگ مناسب است یا دواپس برای استارتاپ و شرکتهای کوچکتر هم مفید است و چه دلایلی برای این امر وجود دارد؟
دواپس چیست؟
قبل از پاسخ به پرسشهای مهم پیرامون بحث دواپس برای استارتاپها، بهتر است ابتدا توضیح بدهیم که دواپس چیست. رویکرد دواپس در آغاز به عنوان پُلی میان توسعه و عملیات شروع شد، به منظور کمک به دو حوزهای که از نظر اهداف و شیوههای کاری بسیار متفاوت هستند و هدف این است که این دو حوزه یعنی توسعه و عملیات بتوانند به طور بهینه با هم کار کنند.
در طول سالها، دواپس تغییر و توسعه یافته و به مدلی کاملاً کارآمد تبدیل شده است که سازمانها را به پیش میبرد. امروزه، دواپس تقریباً در تمام چهارچوبها و روشهای کاری مُدرن بهکار گرفته میشود. اما مهمتر از همه این است که یاد گرفتهایم چگونه دواپس را به عنوان ابزاری مفید و قابل سنجش ساختاردهی کنیم.
تفاوت دواپس با توسعه نرمافزار سُنتی چیست؟
همانطور که اجایل باعث شد فرایند تحویل نرمافزار از روش آبشاری فاصله بگیرد، دواپس نیز چشمانداز حوزه «عملیات» (Operation) را تغییر داد. پیش از دواپس، تیمهای عملیاتی از بخش «توسعه» (Development) جدا بودند. علاوه بر این، این دو حوزه اهداف متفاوتی داشتند.
این تفاوتها بهویژه پس از پذیرش اجایل در بخش توسعه، برجسته شدند. در حالی که هدف بخش عملیاتی استقرار و ثُبات بود، بخش توسعه تلاش میکرد سرعت تحویل و تعداد تحویلها را در زمان معین افزایش دهد. برخورد بین این ۲ بخش اجتنابناپذیر بود. به جز تغییرات دیگر، هدف اولیه دواپس از بین بردن این تعارض و قرار دادن عملیات در درون دایره توسعه بود.
فریمورکهای دواپس
امروزه از دو چارچوب یا فریمورک اصلی در چشمانداز دواپس استفاده میکنیم: «Three Ways» و «CALMS». هیچکدام از اینها جدید نیستند، اما متاسفانه تنها در سازمانهای بیشتر توسعهیافته استفاده میشوند. حقیقت این است که استفاده از هر یک از این دو میتواند به تقویت پذیرش و درک دواپس کمک کند.
فریمورک Three Ways
مفهوم «Three Ways» به تفصیل در کتابهای «The DevOps Handbook» و «The Phoenix Project» از انتشارات انقلاب آیتی توضیح داده شده است. هر فردی که میخواهد متخصص دواپس خوبی باشد، باید حتما این کتابها را مطالعه کند.
- اولین راه از ۳ راه در چارچوب Three Ways: تفکر سیستمی — این اصل بر عملکرد کل سیستم تمرکز دارد، نه بخشهای خاص جداگانه. هدف افزایش کارآمدی جریان با درک و بهبود جریانهای ارزش است.
- راه دوم: تقویت حلقههای بازخورد — اگر با اصول «shift left» آشنایی دارید، این اصل به نظر شبیه آن میآید. این اصل بر اهمیت حلقههای بازخورد از راست به چپ تأکید دارد. به بیان دیگر، چگونه مراحل اولیه باید از وضعیتی که در مراحل بعدی رخ میدهد، مطلعسازی شوند.
- راه سوم: فرهنگ آزمایش و یادگیری مستمر — این بحث (آزمایش) در رویکردهای چابک و دواپس مشترک است. ترس از شکست، عامل مهمی به حساب میآید که مانع از نوآوری و موفقیت شرکتها در بازار مُدرن میشود.
فریمورک CALMS
فریمورک دوم دواپس CALMS نام دارد که به اندازه فریمورک Three Ways محبوب است. این چهارچوب ۵ ستون اصلی را شامل میشود:
- فرهنگ
- خودکارسازی
- خلاصه و کوچک (Lean)
- اندازهگیری
- به اشتراکگذاری
قصد ما این نیست که هر دسته را به طور مفصل توضیح دهیم. بهطور چکیده، این چهارچوب تأکید دارد که دِواپس تنها درباره ابزارها و خودکارسازی، یا ابر و CI/CD نیست، بلکه درباره نحوه اداره سازمان است، یعنی چگونه از روشهای چابک (مانند Lean) برای افزایش بهرهوری استفاده میکنیم، چگونه دانش را به اشتراک میگذاریم، چگونه پیشرفتمان را اندازهگیری میکنیم و چگونه فرایندها را خودکار میکنیم. همچنین، به فرهنگ سازمانی و نحوه کار شرکت میپردازیم.
روشن است که دِواپس صرفاً در مورد ابزارها یا خودکارسازی نیست. در واقع، خودکارسازی به عنوان بخشی از مدل CALMS (تحت اصل خودکارسازی) تنها بخش کوچکی از کل روششناسی دواپس است.
لازم است توجه داشته باشیم که نمیتوان به سادگی کل رویکرد دِواپس را در سازمان پیادهسازی کرد. این فرایندی طولانی است و باید گام به گام انجام شود. این بدان معناست که شرکتها در هر اندازهای میتوانند بخشهایی را انتخاب کنند که با نیازهای آنها سازگاری دارد.
آیا دواپس برای استارتاپ مناسب است؟
پاسخ کوتاه این است: بله، البته. دِواپس محدود به تعداد کارمندان، رشد خالص، یا هر چیز دیگری نیست. تفاوت در این است که چه چیزی و به چه شکلی پیادهسازی میشود. اما ابتدا، سازمان باید به سؤالات اساسی پاسخ دهد:
- چرا به دِواپس نیاز داریم؟
- چه مشکلی را میخواهیم حل کنیم؟
- چه چیزی را میخواهیم به دست آوریم؟
اشتباه رایج در بکارگیری دواپس برای استارتاپ
رایجترین اشتباهی که در بکارگیری دواپس برای استارتاپ مرتکب میشویم، استخدام فردی با عنوان «مهندس دِواپس» است تا جایگزین کسی شود که وظایف مدیریت سیستم را بر عهده گیرد، کدها را از توسعهدهندگان دریافت کند و آنها را به محیط تولید منتقل کند و گوشبهزنگ باشد. این نقش، نقشی دِواپسی نیست، بلکه صرفاً یک شخص است و در بیشتر موارد، در واقع مدیر سیستمی است که وظایف سُنتی این موقعیت شغلی را انجام میدهد.
نقش دواپس در استارتاپ
نقش دِواپس در استارتاپ باید بیشتر بر راهاندازی زنجیره تحویل مؤثر و سنجش آن متمرکز شود. مسئولیت کلیدی در پیکربندی و مدیریت منابع ابری جای میگیرند (چرا که بیشتر استارتاپها از فناوریهای ابری استفاده میکنند). همچنین دیگر مسئولیتهای اساسی شامل فعالسازی و اجرای استفاده از زیرساخت به عنوان کد (IaC) و سیستمهای CI/CD است. همچنین جایی که قابلیت مشاهده نقش بسیار مهمی دارد، نباید مانیتورینگ را فراموش کرد.
اما اینها جنبههای فنی هستند. هر استارتاپ و هر تیمی به پیریزی بنیادی نیاز دارد تا اطمینان حاصل شود که این رویهها پیادهسازی میشوند. بنابراین، تلاش اصلی باید بر انتقال دانش به سازمان متمرکز شود.
برای دویدن سریع، کافی نیست که فقط AWS، کوبرنتیز و Jenkins را پیادهسازی کنیم. این کار مشکلات را فقط به جای دیگری منتقل میکند. ما باید فرهنگ را پیادهسازی کنیم.
در این زمینه، دِواپس باید همکاری بین افراد را ترویج دهد و آنها را در به اشتراکگذاری دخیل کند. به عنوان مثال، با برگزاری جلسات داخلی که توصیف میکنند «چگونه کار میکنیم» و «چگونه دِواپس میتواند کمک کند» میتوان اهمیت و فایده دواپس را هنگام استفاده صحیح از ابزارها و فرایندها نشان داد.
در جدول زیر، توضیح میدهیم که فرایندها و مهندسان دِواپس چگونه میتوانند کمک کنند و چه چیزی در تواناییهای آنها نیست.
بایدها | نبایدها |
مشکلات برنامهنویسان را حل کنید. | ماشینهای برنامهنویسان را پیکربندی و مدیریت کنیم. |
فرایندهای لازم برای ایجاد ادغام مناسب با سیستم کنترل نسخه (VCS) مانند استراتژیهای Branching و استراتژیهای درخواستهای ادغام (Pull Requests) را فراهم کنید. | به دلیل اضطراری بودن یک مورد، اجازه دهیم برنامهنویسان از میانبُر استفاده کنند. |
برنامهنویسان را در استفاده از ابزارهای دِواپس (مانند CI/CD ،IaC و غیره) آموزش دهیم. | تیمها به طور جدا از هم و در siloها فعالیت کنند. |
برنامهنویسان را آموزش دهیم و تأثیرگذاری در آنها ایجاد کنیم تا از ابتدا Observability و امنیت را پیادهسازی کنند. | در مواقع بروز خطا به عنوان تنها نقطه تماس در دسترس و گوشبهزنگ باشند. |
چگونه دواپس برای استارتاپ میتواند سودمند باشد؟
در این بخش خلاصهای از فواید دواپس برای استارتاپها را ارائه میدهیم:
- بهبود همکاری — بهطور ذاتی، دِواپس بر همکاری بین افراد تمرکز دارد. این تنها در مورد کارهای روزمره نیست، بلکه در خصوص بهاشتراکگذاری دانش، افزایش مهارت دیگران و ایجاد محیطی حاصلخیز برای آزمون و خطا نیز صادق است.
- بهبود تحویل — استفاده از ابزارهای مناسب با فرایندهای تعریف شده، نرخ تحویل را افزایش داده و زمان ورود به بازار را کاهش میدهد.
- استانداردهای مستقر — دِواپس اولویتبندی استانداردهای مناسب و تکرارپذیری را در بر دارد. قالبها، ماژولها، خودکارسازی، و مستندسازی برای ارتقای استانداردهای توسعه مهم هستند.
- اندازهگیریها — دِواپس به ما اجازه میدهد که کار را به شیوهای عملی اندازهگیری کنیم. معیارهای DORA به ما امکان میدهند تا فرایند را درک کرده و بهبودها را پیادهسازی کنیم.
چگونه دواپس را در استارتاپ پیادهسازی کنیم؟
اگر استارتاپی بخواهد دِواپس را به کار بگیرد، نیاز به پیادهسازی برخی از رویهها دارد. برخی از این رویهها، بهویژه رویه Third Way، در بالا ذکر شدهاند. همانطور که پیشتر بیان شد، هدف از معرفی دِواپس در استارتاپها، پیادهسازی فرایندهای مناسب است. این بدان معناست که:
- کار را از طریق جریانهای کاری مشخص سادهسازی کنید. دِواپس جریانهای کاری را تعریف میکند و به تیمهای توسعه کمک میکند تا فرایندها را درک کنند.
- تمام دانش لازم درباره فرایندها را به تیم ارائه دهید.
- حلقههای بازخورد را ایجاد و آنها را قابل اجرا کنید. این عنصر بسیار حیاتی است. اهمیت دارد که بدانیم نه فقط حلقههای بازخورد باید برای آگاهی از وضعیت ایجاد شوند، بلکه باید به صورت عملی هم اقدام شود.
- فرایندهای تحویل را، شامل ابزارها، پیکربندیها، الگوها، مستندات و بهاشتراکگذاری دانش، ایجاد کنید.
- بخش مهمی از تلاشهای بهاشتراکگذاری دانش باشید.
تمام این نکات نشان میدهند که سازمان لزوماً نیاز به نقش مهندس دِواپس ندارد، بلکه به مجموعهای از مهارتها نیاز دارد. البته، در بیشتر موارد، تیم ما تمام این مهارتها را نخواهد داشت، پس باید فرد جدیدی استخدام شود.
نکتهای که لازم است بر آن تاکید کنیم این است که اگر هم فردی دِواپسی را به تیم معرفی میکنیم، نباید تنها در جنبه فنی متوقف شویم. البته، دانش در مورد فناوری ابری، ابزارهای CI/CD ،IaC و سیستمعاملها مهم است، اما باید عناصری را بررسی کنیم که اجازه میدهند دِواپس سازمان را تغییر دهد.
نکات و بهترین شیوههای دواپس برای استارتاپ
پیش از پیادهسازی رویههای دواپس برای استارتاپها، چند مورد وجود دارد که باید در نظر گرفت:
- روی ابزارها تمرکز نکنید — اگرچه انتخاب درست ابزارها مهم است و افرادی که به عنوان مهندسان دواپس استخدام میشوند باید با این ابزارها آشنا باشند، ابزارها در زنجیره دواپس، تنها نوار انتقال دهنده برای فرایندها هستند. ابتدا فرایندها و روشهای کاری را برقرار کنید و سپس ابزارهایی را انتخاب کنید که این رویکردها را پشتیبانی کنند.
- نباید فقط نقش «فرد تحویلدهنده» را برای توسعهدهندگان بازی کرد — بله، یکی از اهداف رویههای به درستی برقرار شده در دواپس، ایجاد و حفظ زنجیره تحویل مناسب است، اما دِواپس برای فعال کردن توسعه وجود دارد، نه برای انجام کار توسعهدهندگان. همافزایی و فرایندهای به درستی برقرار شده، توسعهدهندگان را به تحویل و تولید نزدیک میکند و به آنها کنترل و مالکیت بیشتری میدهد.
- بارِ شناختی توسعهدهندگان را افزایش ندهید — در دِواپس، باید ابزارها و فرایندها را به گونهای برقرار کنیم که دولوپرها مدیریت تحویل (یا استقرارها) را بر عهده بگیرند، اما با مجموعهای از ابزارها که اجازه میدهد آنها این کار را به روشی با کمترین مزاحمت انجام دهند. یعنی باید توسعهدهندگان را بهگونهای توانمند کنیم تا بدون ترک ابزارهای خود، زیرساختها را تحویل دهند.
- روی فرهنگ تمرکز کنید — این بخش بیش از حد فراموش میشود. چارچوب CALMS فرهنگ را در اولویت قرار میدهد. ۳ روش در مورد برقراری فرهنگ کاری مناسب است. برقراری رویکرد مناسب در اینجا به سازمان امکان میدهد تا تحویل سریعتر و راحتتر برای تیمهای فنی برقرار شود.
- دانش را به اشتراک بگذارید — ما همه اصل «تغییر به سمت چپ» (Shift Left) را میشناسیم، اما بسیاری از اوقات به اشتباه پیادهسازی میشود. تغییر مسئولیتها و وظایف به سمت چپ بدون تغییر فرایندها، رویهها و رویکردهای مناسب منجر به افزایش شدید بار شناختی و فرسودگی میشود.
- شرکتهای کوچک، استارتاپها و سایر سازمانها اغلب فرایندهای مدیریتی آشفتهای را از خود بروز میدهند و بار زیادی را بر تیمهای توسعه یا حتی افراد تحمیل میکنند. این بسیار وسوسهانگیز است که فردی با تجربه را استخدام و کارهای زیادی را به او واگذار کنیم. اما مشکل این است که انسانها ظرفیت محدودی برای مدیریت کارها دارند، بنابراین صرفنظر از تجربهمان، اگر بار کاریمان سنگین باشد، دست به کوتاهیها و اشتباهات میزنیم. مسئولیتها را بین افراد تقسیم کنید و فرایندها، ابزارها و روشهای کاری مناسبی را فراهم آورید تا کار را آسانتر کنید.
- کار را اندازهگیری کنید — رویکرد دواپس روشهای متعددی را برای اندازهگیری فراهم میکند. ما همه از مانیتورینگ و قابلیت مشاهده برای نظارت بر کارایی یک محصول استفاده میکنیم، اما در مورد فرایندها چطور؟ معیارهای DORA را برای اندازهگیری کارایی فرایندهایی که در سازمان پیادهسازی میکنید، به کار ببرید.
- فرهنگ بیتقصیری را تحمیل کنید — ما اغلب میگوییم که اجایل و دواپس آزمون و خطا را مهم میشمارد. اما سوال مهم این است که چگونه میتوان آزمون و خطا را بدون سرزنش تشویق کرد؟
- تفکر «بررسی و اقتباس» (Inspect & Adapt) را پیادهسازی کنید — جنبه بهبود مستمر اجایل و دواپس را بپذیرید. فرایندهای خود را به طور مداوم بهبود ببخشید و کارایی آنها را کنترل کنید.
جمعبندی
دواپس برای استارتاپها و در کل شرکتها با هر اندازهای مناسب است. پیادهسازی و تمرکز اصلی ممکن است متفاوت باشد، اما هدف در همه موارد یکسان است: بهبود و ارتقاء فرایندهای توسعه و تحویل. هنگام پیادهسازی رویههای دِواپس، تنها روی مجموعه ابزارها تمرکز نکنید. دواپس روش فکری پیچیدهای است که ابزارها، فرایندها و اندازهگیریها را ترکیب میکند.
دواپس نه تنها فراتر از ابزارها و فناوریها است، بلکه رویکردی جامع برای همافزایی بین توسعه و عملیات بهحساب ميآید که به افزایش کارایی و سرعت تحویل خدمات در سازمانها کمک میکند. این رویکرد، با تاکید بر فرهنگ همکاری، اشتراکگذاری دانش و بهبود مستمر، میتواند برای شرکتهایی با هر اندازهای، از استارتاپها گرفته تا موسسات بزرگ، مفید و کارآمد باشد. دِواپس نیازمند تعهد به یادگیری مستمر و توجه به فرآیندها و فرهنگ سازمانی است تا از این طریق بتوان به بهرهوری بیشتر و نوآوری مداوم دست یافت.