تصورات اشتباه درباره دواپس (DevOps)

دسته بندی: دواپس (DevOps)
10 دقیقه زمان مطالعه
1400/05/23
0 نظر

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

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

تصورات اشتباه درباره دواپس؛ این دواپس نیست!

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

تصور اشتباه: دواپس فقط Automation و Continuous Delivery است

Automation and CD

در بسیاری از مواقع، وقتی از افراد درباره دواپس می‌پرسیم با پاسخ‌هایی مثل ابزارهای اتوماسیون و خودکارسازی فرایندها با استفاده از این ابزارها مثل آژور (Azure)، داکر (Docker)، گیت و … روبرو می‌شویم. اما دواپس فقط محدود به اتوماسیون نیست.

بسیاری از سازمان‌ها باور دارند که در حال استفاده از دواپس در سازمان خود هستند و به خوبی آن را پیاده‌سازی کرده‌اند. اما وقتی از آن‌ها درباره جزئیات این پیاده‌سازی می‌پرسیم متوجه می‌شویم که تنها به اتوماسیون و CI/CD توجه کرده‌اند. دواپس اما فراتر از تنها تکنیک و ابزار است.

تصور اشتباه: دواپس عملیات را حذف می‌کند

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

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

با افزایش بار کاری و تنوع بیشتر وظایف، بخش‌هایی از عملیات باید خودکار می‌شدند. این اتوماسیون به سه حالت ممکن بود:

  • تیم عملیات وظیفه خودکارسازی را به عهده بگیرد.
  • توسعه‌دهندگان برای تیم عملیات کار کنند.
  • هر دو حالت بالا باهم تلفیق شوند.

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

تصور اشتباه: دواپس فقط یک ابزار است

DevOps Tools

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

بدون دانستن اصول صحیح دواپس، استفاده از ابزارها می‌تواند به یک ضد الگو (antipattern) تبدیل شود. همانقدر که پیاده‌سازی صحیح دواپس و اتوماسیون می‌توانید مفید باشد، پیاده‌سازی اشتباه آن نیز می‌تواند به شدت آسیب‌زننده باشد.

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

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

تصور اشتباه: دواپس فقط یک فرهنگ است

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

برای مثال، اجایل هم صرفا به واسطه فرهنگ نتواسته است به هیچ تیمی کمک کند. بلکه ترکیب فرهنگ، اصول و تکنیک‌ها، Best Practiceها و ابزارها (مانند جیرا و …) توانسته است تیم‌ها را به موفقیت برساند. در دواپس نیز باید همزمان به فرهنگ، اصول، Best Practiceها و تمرینات مختلف توجه کنیم تا در نهایت به هدف برسیم.

تصور اشتباه: دواپس فقط برای توسعه و عملیات است

Operation and Developement

 

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

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

دواپس هم به همین شکل، یک رویکرد و تفکر است که تمام افراد و تیم‌هایی را که در روند توسعه یک محصول هستند درگیر می‌کند. به همین خاطر، با عنوان‌هایی مانند SecOps، DevOpSec، BizDevSecOps و … هم شناخته می‌شود.

تصور اشتباه: دواپس فقط یک عنوان شغلی است

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

بهتر است زمانی از عنوان DevOps در شغل خود استفاده کنید که این تفکر و اصول را رعایت می‌کنید. هدف استفاده از این اسم هم در واقع نشان دادن تمایز بین تفکر شما با افرادی است که به دواپس اعتقادی ندارند و همچنان معتقدند که روش‌های قدیمی کارسازتر هستند.

تصور اشتباه: دواپس یک تیم است

DevOps Team

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

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

تصور اشتباه: دواپس راجع به همه چیز و همه جاست

DevOps Structure

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

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

به گفته ارنست مولر، دواپس «عملیات و تحویل چابک نرم‌افزار» (Agile Software Delivery and Operations) است که در کنار ارزش اصلی آن یعنی توجه به توسعه و عملیات، افراد با همکاری یکدیگر روی ابتکارات سازمانی بزرگتر هم کار می‌کنند.

جمع‌بندی

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

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

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

مطالب مرتبط