دواپس

توسعهٔ عملیات یا دواپس (DevOps) مخفف «توسعهٔ نرم‌افزار DEVelopment» و «عملیات فناوری اطلاعات OPerationS» است. دواپس، مجموعه‌ای از روشها و فرایندها و ابزارهایی است که با تمرکز بر ارتباطات و همکاری و یکپارچگی بین تیم‌های توسعهٔ نرم‌افزار و عملیات فناوری اطلاعات، ارزش‌های تولیدشده را به‌طور سریع و مداوم به مشتریان نهایی می‌رساند. ادغام کلمات اختصاری «Dev» و «Ops» به این موضوع اشاره می‌کند که توسعه و عملیات، دو تیم سابقاً مستقل و کاملاً جدای از هم، جای خود را به تیم‌های چند تخصصی با مهارت‌ها و روش‌ها و ابزار یکپارچه داده است.[۱][۲][۳] هدف، ایجاد فرهنگ و محیط زیستی بوده است که در آن بیلدها و تست‌ها و انتشار نرم‌افزار می‌تواند اتفاق افتد.[۴][۵][۶]

تاریخچه

در کنفرانس چابک سال ۲۰۰۸، اندرو شفر و پاتریک Debois «زیرساخت چابک» را توصیف کردند.[۷] اصطلاح DevOps از طریق یک سری رویداد به‌نام «DevOpsDays» در سال ۲۰۰۹ در بلژیک رایج شد.[۸] پس از آن کنفرانس‌هایی با نام DevOpsDays در بسیاری از کشورها در سراسر جهان برگزار شده است.[۹]

در سال‌های اخیر محبوبیت DevOps رشد کرده است و الهام‌بخش بسیاری از دیگر جنبش‌های موازی، از جمله OpsDev و WinOps شده است.[۱۰] WinOps هم مظهر همان مجموعه شیوه‌ها و تأکید بر فرهنگ DevOps است؛ اما به‌طور خاص مایکروسافت‌محور شده است.[۱۱]

بررسی اجمالی

نمودار ون که نشان دهندهٔ DevOps به عنوان تقاطع توسعه (در مهندسی نرم‌افزار) و عملیات و تضمین کیفیت (QA) است

به‌طور سنتی در سازمان‌هایی که واحدهایی بر اساس تفکیک عملکرد وجود دارد، به‌ندرت واحدی با ترکیب و ادغام عملکرد چند واحد به‌وجود می‌آید. اما DevOps ترویج مجموعه‌ای از فرایندها و روش‌ها برای فکرکردن دربارهٔ ارتباط و همکاری، بین واحدهای توسعه و QA (تضمین کیفیت) و واحد عملیات فناوری اطلاعات است.[۱۲] در برخی سازمان‌ها این همکاری با قراردادن واحد عملیات فناوری اطلاعات در واحد توسعهٔ نرم‌افزار تیمیِ چندعملکردی محقق می‌شود و ممکن است همراه با مدیریت ماتریسی باشد.

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

Illustration showing stages in a DevOps toolchain
تصویر نشان‌دادن مراحل در یک زنجیره DevOps

به‌دلیل اینکه DevOps تغییری فرهنگی است و همکاری (بین توسعه و عملیات و تست) است، زنجیره ابزار واحدی برای آن وجود ندارد.[۱۳] به‌طور کلی، DevOps شامل ابزار مناسبی است که از یک یا چند گزینه از این دسته‌بندی‌ها تشکیل می‌شود و بازتابی از جنبه‌های کلیدی توسعه نرم‌افزار و روند تحویل است:[۱۴][۱۵]

  1. کد: توسعهٔ کد و بازبینی کد، ابزارهای Version Control، ادغام کد؛
  2. بیلد: ابزار یکپارچه‌سازی مداوم، وضعیت بیلد؛[۱۶]
  3. آزمون: ابزارهای آزمون مستمر که بازخوردهایی از ریسک‌هایی ارائه می‌دهد که ممکن است در کسب و کار پیش آید؛
  4. پکیج: Artifact Repository، نرم‌افزار پیش‌عملیات؛
  5. ریلیز: مدیریت تغییر، تأیید ریلیز، اتوماسیون ریلیز؛
  6. پیکربندی: پیکربندی و مدیریت زیرساخت، ابزار زیرساخت کد؛
  7. پایش: برنامهٔ نظارت بر عملکرد نهایی تجربهٔ کاربر.

تصورات اشتباه دربارهٔ دوآپس

شاید به‌دلیل جدیدبودن و چندبعدی‌بودن واژهٔ دوآپس است که کژفهمی‌ها و تصورات اشتباهی از آن وجود دارد:

  • آیا دوآپس یک ابزار است؟
  • آیا دوآپس یک تکنولوژی است؟
  • آیا دوآپس یک تیم است؟
  • آیا دوآپس فقط یک فرهنگ است؟
  • آیا دوآپس فقط Automation است؟
  • آیا دوآپس فقط یک عنوان شغلی است؟
  • آیا دوآپس فقط یک سبک تفکر است؟
  • آیا دوآپس فقط Continuous Delivery است؟
  • آیا دوآپس به‌معنی حذف Operation است؟
  • آیا دوآپس فقط به توسعه و عملیات (Dev و Ops) محدود می‌شود؟
  • آیا دوآپس به همه‌چیز در همه‌جا مربوط می‌شود؟

منابع

  1. ↑ شریعتی, امید (2017-06-05). "دواپس چیست؟ چرا دواپس را اجرا کنیم ؟".
  2. ↑ Loukides, Mike (2012-06-07). "What is DevOps?". Archived from the original on 25 May 2019. Retrieved 19 June 2017.
  3. ↑ Floris, Erich; Chintan, Amrit; Maya, Daneva (2014-12-10). "A Mapping Study on Cooperation between Information System Development and Operations".
  4. ↑ Samovskiy, Dmitriy (2010-03-02). "The Rise of DevOps". Fubaredness Is Contagious.
  5. ↑ Kim, Gene. "DevOps Culture Part 1".
  6. ↑ Lyman, Jay. "DevOps mixing dev, ops, agile, cloud, open source and business". 451 CAOS Theory. Archived from the original on 14 September 2015. Retrieved 19 June 2017.
  7. ↑ Debois, Patrick. "Agile 2008 Toronto". Just Enough Documented Information. Retrieved 12 March 2015.
  8. ↑ Debois, Patrick (2009). "DevOpsDays Ghent". DevopsDays. Retrieved 31 March 2011.
  9. ↑ Debois, Patrick. "DevOps Days". DevOps Days. Retrieved 31 March 2011.
  10. ↑ Schitzer, Eran (Oct 2015). "DevOps Must Also Mean OpsDev". DevOps.com.
  11. ↑ Weinberger, Matt (25 November 2014), Microsoft study finds everybody wants DevOps but Culture is a Challenge, Computerworld
  12. ↑ Turnbull, James (Feb 2010). "What DevOps means to me..." Kartar.
  13. ↑ Gartner Market Trends: DevOps – Not a Market, but Tool-Centric Philosophy That supports a Continuous Delivery Value Chain (Report). Gartner. 18 February 2015.
  14. ↑ Edwards, Damon. "Integrating DevOps tools into a Service Delivery Platform". dev2ops.org. Archived from the original on 8 February 2014. Retrieved 19 June 2017.
  15. ↑ Seroter, Richard. "Exploring the ENTIRE DevOps Toolchain for (Cloud) Teams". infoq.com.
  16. ↑ شریعتی, امید (2017-06-11). "Continuous Integration چیست ؟".