این سوالی است که شاید بعد از مدتی که واژه DevOps به گوش شما آشنا شده از خود بپرسید، در اینجا ما سعی داریم جواب این سوال را ارائه دهیم. جهت آشنایی بیشتر با اصول اسکرام و دواپس می توانید به آموزش رایگان Scrum و آموزش رایگان DevOps مراجعه بفرمایید.
شاید در نگاه اول نتوان به سادگی DevOps را تعریف نمود. ( جهت آشنایی مقدماتی با DevOps می توانید به مقاله دواپس چیست مراجعه بفرمایید )
ولی دو تعریف زیر بیشتر رایج است.
تعریف اول:
DevOps is the union of people, process, and technology to enable continuous delivery of value to your end users.
DevOps اجتماع افراد، فرآیندها و ابزارها در جهت توانمندسازی ارائه پیوسته ارزش به کاربر نهایی است.
تعریف دوم:
The practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support
روشی که مهندسان توسعه دهنده نرم افزار و پشتیبانی و نگهداری در تمام چرخه تولید و نگهداری سرویس با یکدیگر همکاری خواهند داشت، از طراحی و تحلیل و فرآیند توسعه سرویس تا پشتیبانی از محیط عملیاتی.
در هر دو تعریف به دو مورد فرآیند و نیروهای فنی اشاره شده و در یک تعریف حتی به واژه ابزار اشاره نشده. ابزار باید آخرین دغدغه شما در پیاده سازی DevOps باشد و در کشور ما ایران شاید این سخت ترین بخش کار است.
دوآپس ساختار قبلی که در آن یک تیم وظیفه توسعه، یک تیم وظیفه تست، یک تیم وظیفه پابلیش و یک تیم وظیفه نگهداری را بر عهده دارد را دچار تغییر اساسی می نماید.
همچنین دوآپس تجربیات موفق تیم های توسعه محصول را در اختیار تیم های زیرساخت و پشتیبانی قرار می دهد، تجربیاتی مثل انجام کارها با استفاده از کد و درج آنها در یک ورژن کنترل و داشتن تست های خودکار جهت بررسی صحیح بودن تغییرات ایجاد شده در زیرساخت.
جهت توضیح بهتر DevOps می توان آن را به ۵ سطح تقسیم نمود.
- Values
- Principles
- Methods
- Practices
- Tools
در اسناد دیگر این ۵ بخش به تفکیک تشریح شده اند. در تصویر زیر شما مشاهده می کنید که دوآپس تمام مراحل تولید و نگهداری محصولات فناوری اطلاعات را شامل می شود، نه فقط بخش زیرساخت، راه اندازی Ansible یا Kubernetes باعث پیاده سازی DevOps در سازمان شما نمی شود بلکه گام مثبتی است در این راستا.
در توضیحات بیان شد که DevOps یک Practice است، در نتیجه نیازمند گزارشاتی جهت ارائه مدل های پیاده سازی شده و نتایج آنها است تا بتوان صحت ادعاهای مطرح شده را در عمل مشاهده نمود. در همین راستا سالانه گزارشاتی به نام State of DevOps توسط بازیگران متفاوت فعال در این حیطه ارائه می شود. که به پیوست این سند دو نمونه گزارش سال ۲۰۱۹ قابل مشاهده هستند. گزارش تیم DORA و گزارش تیم های Puppet و CircleCI و Splunk.
این گزارشات سند موفقیت آمیز بودن پیاده سازی های DevOps است، در نتیجه در اینجا سند تیم DORA مورد بررسی قرار میگیرد.
EXECUTIVE SUMMARY
گزارش State of DevOps ارائه دهنده اطلاعات ۶ سال تحقیق از بیش از ۳۱۰۰۰ متخصص است و ارائه دهنده روشها و توانمندی هایی است که باعث ایجاد High Performance می شود. نتایج باعث می شود درک بهتری از چگونگی استفاده موفقیت آمیز از تکنولوژی و تاثیر آن در موفقیت های تجاری در عرصه فناوری اطلاعات داشته باشیم. ( در این گزارش High Performance اشاره به سازمان هایی دارد که روش های مورد استفاده آنها باعث موفقیت آنها در کسب و کارشان شده است)
سازمان ها و شرکت ها به ۴ بخش low و medium و high و Elite تقسیم بندی شده اند.
۶ کشف مهم سال ۲۰۱۹:
- صنعت IT به بهبود خود ادامه داده، به خصوص در بین گروه Elite
- ارائه سریع، امن و قابل اطمینان نرم افزار ها قلب تپنده انتقال تکنولوژی و سرعت سازمان است.
- بهترین استراتژی جهت پیاده سازی DevOps در سازمان های بزرگ توجه به ایجاد انجمن ها یا Community های مرتبط با Practice ها است.
- استفاده از Cloud کماکان یکی از وجوه تمایز گروه Elite است.
- بهره وری باعث تعادل بین کار و زندگی و کاهش Burnout شده و سازمان ها می توانند در این زمینه سرمایه گذاری های هوشمندانه ایی داشته باشند.
- راه های بهتری جهت مدیریت فرآیند تایید تغییرات وجود دارد و باعث بهبود در سرعت و ثبات و کاهش Burnout می شود.
چه کسانی در نظرسنجی شرکت کردند
تحقیقات DORA ارائه دهنده اطلاعات مرتبط با نحوه توسعه نرم افزار و دوآپس در ۶ سال گذشته با مشارکت ۳۱ هزار متخصص است، در سال ۲۰۱۹ تعداد ۱۰۰۰ متخصص فناوری اطلاعات از صنایع مختلف در نظر سنجی شرکت نمودند، در مجموع اطلاعات مشارکت کنندگان و پراکندی آنها مانند سال های گذشته بوده و تنها تفاوت کاهش قابل توجه تعداد متخصصان خانم در تیم ها بوده است.
نحوه مقایسه
این بخش به عنوان معیار ارزیابی DevOps در نظر گرفته شده، جهت اندازه گیری درست تاثیرگذاری نحوه توسعه و نگهداری راهکارهای موجود در سازمان و Performance تیم ها ۵ معیار در نظر گرفته شده و سال گذشته یک معیار دیگر به ۵ مورد اضافه شد. به ۵ معیار اصلی با نام Software delivery and operational (SDO) performance شناخته می شوند.
بر اساس این ۵ متریک سازمان ها به چهار دسته Elite و High و Medium و Low تقسیم بندی می شوند.
تاثیر نوع صنعت و سازمان بر software delivery and operational performance یا SDO
تحقیقات کاملی انجام شد تا بررسی شود که آیا نوع صنعت و اندازه سازمان تاثیری بر SDO دارد یا خیر، طبق نتایج تمام سازمان ها و صنایع به استثنای Retail توان رسیدن به سطوح بالای Performance را دارند حتی در صنایعی با قوانین زیاد مثل صنایع دولتی و مالی. همچنین سازمان هایی با بیش از ۵۰۰۰ نیرو برای رسیدن به Performance بالا نیازمند زیمان بیشتری هستند که به دلایل مختلفی مثل وابستگی ها و بزرگ بودن فرایندها است، همچنین بهترین راه برای این سازمان ها اتخاذ رویکرد بهبود تدریجی است.
طبق مقایسه سال های ۲۰۱۸ و ۲۰۱۹ تعداد سازمان های دسته Elite افزایش چشمگیر داشته و این خود نشان دهنده رشد صنعت در بهبود فرایندها و روشهای توسعه نرم افزار است.
در ادامه این گزارش دو روش برای استفاده از Research Model ارائه شده است که با توجه به اولویت و نیاز جاری سازمان یکی از دو روش باید انتخاب گردد.
ممکن است این سوال پیش آید که چرا دو روش؟ نکته هدف شماست هر کدام از این دو روش جهت رسیدن به هدف متفاوتی در نظر گرفته شده اند و شما در ابتدا باید هدف خود را مشخص کنید. هدف شما یا بهره وری است و یا بهبود در متریک های SDO و کارایی سازمانی.
ادامه گزارش به بررسی این دو روش جهت خواهد پرداخت و در نهایت به موضوع نحوه Transform سازمان پرداخته خواهد شد، اینکه چه تجربیاتی در DevOps Transformation بیشترین موفقیت را کسب کرده اند. سازمان ها می توانند یک یا چند روش زیر را انتخاب کنند.
- Training Center (sometimes referred to as a DOJO)
- Center of Excellence
- Proof of Concept but Stall
- Proof of Concept as a Template
- Proof of Concept as a Seed
- Communities of Practice
- Big Bang
- Bottom-up or Grassroots
- Mashup
سازمان های High Performers معمولا به دنبال استراتژی هایی که باعث ایجاد انجمن ها در سطوح بالا و پایین می شود هستند، این استراتژی ها شامل Communities of practice و Grassroots و Proof of concept می شود.
سازمان های Low performers بیشتر علاقه مند به روش هایی که باعث ایجاد سیلوهای جدید می شود هستند که شامل Training Centers و Center of excellence هستند.
در زیر نحوه عملکرد انواع سازمان ها در DevOps Transformation را مشاهده می نمایید.
جهت مطالعه کامل گزارشات لطفا فایل های ضمیمه را دانلود و مطالعه بفرمایید.