۴۸ اصطلاح و عنوانی که باید در دواپس بدانید
DevOps طیف گسترده ای از توابع را پوشش می دهد. از مدیریت پیکربندی گرفته تا زیرساخت، مستندسازی تا تضمین کیفیت، دواپس کل چرخه عمر توسعه نرم افزار را در بر می گیرد.
اگر تازه شروع کرده اید، این زمینه فراگیر می تواند تا حدودی دلهره آور به نظر برسد – حتی خود اصطلاحات نیز ممکن است درک آنها دشوار باشد.
به همین دلیل است که ما این لیست از 48 اصطلاح DevOps را که باید بدانید را گردآوری کرده ایم. واژه نامه شروع ما برای بازاریابانی که وارد دنیای DevOps می شوند.
A
-
Agent
برنامه ای که بر روی سرورهای فیزیکی خاصی نصب می شود تا بتواند فرآیندهای مختلف را در آن سرور انجام دهد.
-
Agile Software Development
یک روش و فلسفه توسعه نرم افزار در دواپس، متمرکز بر بازخورد کاربر، کیفیت نرم افزار، و توانایی پاسخگویی سریع به تغییرات و الزامات محصول جدید
-
Application Release Automation (ARA)
تمرینی برای استقرار نرم افزارهای منتشر شده در محیط های مختلف و پیکربندی های آنها با کمترین تعامل انسانی ممکن.
-
Artifact
هر توصیفی از فرآیندی که برای ایجاد یک نرم افزار استفاده می شود که می توان به آن اشاره کرد، از جمله نمودارها، نیازهای کاربر و مدل های UML.
-
Autonomy
توانایی ایجاد تغییرات با منابع موجود در حال حاضر، بدون نیاز به موکول کردن به چیزی یا شخصی بالاتر در سلسله مراتب.
B
-
Behavior-Driven Development (BDD)
تکاملی از توسعه مبتنی بر آزمایش که بر همکاری بین توسعه و ذینفعان تجاری تمرکز دارد تا داستانهای کاربر را تعریف کند که توسعه برنامه را با استفاده از یک DSL قابل خواندن توسط انسان تعیین میکند.
-
Branching
تکرار یک شیء تحت بررسی در کنترل منبع به طوری که همان کد می تواند توسط بیش از یک توسعه دهنده به طور موازی اصلاح شود.
-
Build Agent
یک نوع عامل مورد استفاده در دواپس برای یکپارچه سازی پیوسته که می تواند به صورت محلی یا از راه دور در رابطه با سرور یکپارچه سازی پیوسته نصب شود. این برنامه پیام هایی در مورد مدیریت ساخت نرم افزار می فرستد و دریافت می کند.
-
Build Artifact Repository
ذخیره سازی متمرکز برای همه باینری های استفاده شده در طول ساخت. مدیریت وابستگی و ایجاد فرآیندها را ساده میکند، به حفظ امنیت و ثبات در بین تیمها کمک میکند، کمک میکند تا استقرار خودکار عملی و مقیاسپذیر شود.
C
-
Capacity Test
آزمایشی که برای تعیین حداکثر تعداد کاربرانی که یک رایانه، سرور یا برنامه میتواند درست قبل از شکست پشتیبانی کند، استفاده میشود.
-
Commit
راهی برای ثبت تغییرات در یک مخزن و افزودن یک پیام گزارش برای توصیف تغییرات ایجاد شده.
-
Complex-Adaptive Systems
هر سیستمی که از مجموعهای از قطعات مشابه و کوچکتر ساخته شده است که به صورت پویا به هم متصل هستند و میتوانند برای سازگاری با تغییرات به نفع یک ساختار کلان تغییر کنند.
-
Configuration Drift
چگونه پیکربندیهای نرمافزار و سختافزار به دلیل تغییرات دستی و موقت (مانند رفعهای فوری) که به کنترل نسخه متعهد نشدهاند، با نسخه اصلی ناسازگار میشوند. اغلب منبع قابل توجهی از بدهی های فنی است.
-
Configuration Management
فرآیندی برای ایجاد و حفظ تنظیمات ثابت یک سیستم در دواپس. این راه حل ها همچنین شامل ابزارهای SysAdmin برای اتوماسیون زیرساخت های فناوری اطلاعات (مانند آشپز، عروسک و غیره) هستند.
-
Containerization
جداسازی منابع در سطح سیستم عامل (به جای ماشین)، معمولاً (در سیستم های مبتنی بر یونیکس) در فضای کاربر. عناصر جدا شده بر اساس استراتژی کانتینرسازی متفاوت هستند و اغلب شامل سیستم فایل، سهمیه دیسک، CPU و حافظه، نرخ I/O، امتیازات ریشه و دسترسی به شبکه هستند. وزن بسیار سبک تر از مجازی سازی در سطح ماشین و برای بسیاری از مجموعه های مورد نیاز جداسازی کافی است.
-
Containers
جداسازی منابع در سطح سیستم عامل (به جای ماشین)، معمولاً (در سیستم های مبتنی بر یونیکس) در فضای کاربر. عناصر جدا شده بر اساس استراتژی کانتینرسازی متفاوت هستند و اغلب شامل سیستم فایل، سهمیه دیسک، CPU و حافظه، نرخ I/O، امتیازات ریشه و دسترسی به شبکه هستند. وزن بسیار سبک تر از مجازی سازی در سطح ماشین و برای بسیاری از مجموعه های مورد نیاز جداسازی کافی است.
-
Continuous Delivery
یک رویکرد مهندسی نرمافزار که در آن یکپارچهسازی مداوم، آزمایش خودکار و قابلیتهای استقرار خودکار به نرمافزار اجازه میدهد تا به سرعت، قابل اعتماد و مکررا با کمترین مداخله انسانی توسعه و استقرار یابد.
-
Continuous Deployment
یک روش توسعه نرمافزار که در آن هر تغییر کد از کل خط لوله عبور میکند و بهطور خودکار وارد تولید میشود و در نتیجه هر روز تعداد زیادی تولید تولید میشود. هر کاری که Continuous Delivery انجام می دهد را انجام می دهد، اما این فرآیند کاملاً خودکار است و هیچ دخالت انسانی اصلاً وجود ندارد.
-
Continuous Integration
یک فرآیند توسعه نرم افزار دواپس که در آن هر بار که کد به سیستم کنترل منبع متعهد می شود، یک شاخه از کد منبع بازسازی می شود. این فرآیند اغلب برای شامل استقرار، نصب و آزمایش برنامههای کاربردی در محیطهای تولید گسترش مییابد.
-
Continuous Quality
از اصطلاحات دواپس. یک اصل که تلاش مستمر برای کیفیت را در کل SDLC، از تعریف نیازمندیها، توسعه کد، آزمایش و عملیات آغاز میکند. یکی دیگر از حوزههای کلیدی تمرکز برای کیفیت مستمر، هماهنگسازی خط لوله کد برنامه است. هنگامی که کد به صورت دستی در محیطها جابهجا میشود، فرصتهای زیادی برای تأثیر منفی بر کیفیت برنامه وجود دارد.
-
Continuous Testing
فرآیند اجرای تست های خودکار بدون نظارت به عنوان بخشی از خط لوله تحویل نرم افزار در تمام محیط ها برای به دست آوردن بازخورد فوری در مورد کیفیت ساخت کد.
D
-
Deployment
اصطلاحی که به گروه بندی هر فعالیتی اشاره دارد که یک برنامه را برای استفاده در دسترس قرار می دهد و آن برنامه را به محیط هدف منتقل می کند.
-
Deployment Pipeline
خط لوله استقرار یک تجلی خودکار از فرآیند شما برای دریافت نرم افزار از کنترل نسخه به دست کاربران است.
-
DevOps
یک متدولوژی سازمانی فناوری اطلاعات دواپس که در آن همه تیمها در سازمان، بهویژه تیمهای توسعه و تیمهای عملیاتی، در توسعه و استقرار نرمافزار برای افزایش چابکی تولید نرمافزار و دستیابی به اهداف تجاری با یکدیگر همکاری میکنند.
E
-
Event-Driven Architecture
یک الگوی معماری نرم افزار که در آن رویدادها یا پیام ها توسط سیستم تولید می شوند و سیستم برای واکنش، مصرف و شناسایی رویدادهای دیگر ساخته می شود.
-
Exploratory Testing
یک استراتژی آزمایش دستی که در آن آزمایشکنندههای انسانی این آزادی را دارند که مناطقی را آزمایش کنند که در آن مشکوک هستند که ممکن است مشکلاتی پیش بیاید که آزمایش خودکار نمیتواند آن را حل کند.
F
-
Fail Fast
استراتژی که در آن چیزی را امتحان میکنید، شکست میخورد، بازخورد سریع ارائه میشود، مطابق با آن سازگار میشوید و دوباره تلاش میکنید.
I
-
Infrastructure-as-a-Service (IaaS)
یک ابزار محاسباتی، شبکهسازی و ذخیرهسازی سلفسرویس بر حسب تقاضا از طریق شبکه.
-
Integration Testing
آزمایشی که پس از تست واحد، اما قبل از آزمایش اعتبارسنجی، که در آن اجزای نرمافزار منفرد به عنوان یک گروه واحد ترکیب و آزمایش میشوند تا اطمینان حاصل شود که بهطور کلی کار میکنند، انجام میشود.
-
Issue Tracking
فرآیندی که به برنامه نویسان و پرسنل تضمین کیفیت اجازه می دهد تا جریان عیوب و ویژگی های جدید را از شناسایی تا رفع مشکل ردیابی کنند.
L
-
Lead Time
زمان لازم برای انتقال کار در حال انجام (WIP) به حالت تمام شده در یک کارخانه تولیدی. در توسعه نرم افزار، این با انتقال تغییرات کد به تولید نشان داده می شود.
M
-
Mean Time Between Failures (MTBF)
برای اندازه گیری قابلیت اطمینان یک سیستم یا جزء استفاده می شود که با میانگین زمان بین خرابی های سیستم محاسبه می شود.
-
Mean Time to Recovery (MTTR)
میانگین زمانی که طول میکشد تا یک سیستم یا جزء از خرابی بازگردد و به وضعیت تولید بازگردد.
-
Microservices Architecture
تمرین توسعه نرم افزار به عنوان یک سیستم به هم پیوسته از چندین سرویس مستقل و ماژولار که با یکدیگر در ارتباط هستند.
-
Model-Based Testing
یک تکنیک تست نرمافزار که در آن موارد تست از مدلی مشتق شدهاند که جنبههای عملکردی سیستم تحت آزمایش (SUT) را توصیف میکند. مدلهای بصری میتوانند برای نشان دادن رفتار مطلوب یک SUT یا برای نشان دادن استراتژیهای تست و یک محیط آزمایش استفاده شوند. از آن مدل، تستهای دستی، دادههای تست و تستهای خودکار میتوانند به طور خودکار تولید شوند.
O
-
One-Stop Shop / Out-of-the-Box Tools
ابزارهایی که مجموعهای از قابلیتها را ارائه میکنند که بلافاصله پس از نصب و بدون نیاز به پیکربندی یا تغییر کار میکنند. هنگامی که برای تحویل نرم افزار اعمال می شود، یک راه حل یک مرحله ای اجازه می دهد تا یک خط لوله استقرار سریع راه اندازی شود.
P
-
Pair Programming
یک روش توسعه نرمافزار که در آن دو توسعهدهنده به جای یک ویژگی، روی یک ویژگی کار میکنند، به طوری که هر دو توسعهدهنده میتوانند کد یکدیگر را هنگام نوشته شدن به منظور بهبود کیفیت کد بررسی کنند.
-
Platform-as-a-Service (PaaS)
زبانها، کتابخانهها، خدمات و ابزارهایی را ارائه میکند که به توسعهدهندگان اجازه میدهد تا برنامههای کاربردی را در فضای ابری بدون نگرانی در مورد زیرساختهای سطح سیستمعامل (یا زیر) بسازند و مستقر کنند.
-
Production
مرحله نهایی در خط لوله استقرار که در آن نرم افزار توسط مخاطب مورد نظر استفاده خواهد شد.
R
-
Rollback
یک عملیات خودکار یا دستی که یک پایگاه داده یا برنامه را به حالتی که قبلاً تعریف شده بازیابی می کند.
S
-
Self-Service Deployment
از اصطلاحات دواپس. عمل خودکارسازی فرآیندهای استقرار به اندازه ای است که توسعه دهندگان به مدیران پروژه یا حتی مشتریان اجازه می دهند مستقیماً استقرارها را کنترل کنند.
-
Source Control
سیستمی برای ذخیره، ردیابی و مدیریت تغییرات نرم افزار. این معمولاً از طریق فرآیند ایجاد شاخهها (کپی برای ایجاد ایمن ویژگیهای جدید) از نسخه اصلی پایدار نرمافزار و سپس ادغام شاخههای ویژگی پایدار در نسخه اصلی انجام میشود. این همچنین به عنوان کنترل نسخه یا کنترل بازنگری شناخته می شود.
-
Staging Environment
برای آزمایش نسخه جدیدتر نرم افزار قبل از انتقال به تولید زنده استفاده می شود. منظور از مرحلهبندی این است که تا حد ممکن محیط تولید زنده شما را تکرار کند، و بهترین فرصت را به شما میدهد تا قبل از انتشار نرمافزار، باگها را پیدا کنید.
T
-
Technical Debt
مفهومی در برنامه نویسی که منعکس کننده کار توسعه اضافی است که وقتی به جای استفاده از بهترین راه حل کلی، از کدهایی استفاده می شود که در کوتاه مدت پیاده سازی آن آسان است، ایجاد می شود.
-
Test Automation
استفاده از نرم افزار ویژه (جدا از نرم افزار در حال آزمایش) برای کنترل اجرای آزمون ها و مقایسه نتایج واقعی با نتایج پیش بینی شده.
U
-
Unit Testing
یک استراتژی آزمایشی که در آن کوچکترین واحد کد قابل آزمایش از بقیه نرم افزار جدا شده و آزمایش می شود تا مشخص شود که آیا به درستی کار می کند یا خیر.
-
User Acceptance Test
مرحله نهایی تست نرم افزار که در آن مشتریان و کاربران نهایی تعیین می کنند که آیا برنامه برای کاربر نهایی در سناریوهای دنیای واقعی کار می کند یا خیر. این مرحله به عنوان آزمایش بتا نیز شناخته می شود.
V
-
Virtual Machine (VM)
از اصطلاحات دواپس. شبیه سازی نرم افزاری از یک منبع محاسباتی فیزیکی که می تواند مستقل از ویژگی های سخت افزاری تغییر یابد.