دواپس

از ویکی‌پدیا، دانشنامهٔ آزاد

توسعهٔ عملیات یا دواپس (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. بیلد: ابزار ادغام مداوم (Continuous integration)، وضعیت بیلد؛[۱۶]
  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 چیست ؟".