محیط استقرار نرم‌افزار

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

در توسعه نرم‌افزار، محیط (به انگلیسی: Environment) یک سیستم کامپیوتری است که نرم‌افزار یا یک جز نرم‌افزاری بر روی آن استقرار یافته و اجرا شده است. در حالات ساده، به عنوان مثال توسعه دادن یک برنامه و اجرای بلافاصله آن بر روی همان سیستم ممکن است تنها به یک محیط نیاز داشته باشد اما در حالات صنعتی و تجاری به طور معمول یک محیط با عنوان توسعه (Development) برای تغییرات اصلی و توسعه در نظر گرفته می‌شود و از طرف دیگر محیطی با عنوان محصول نهایی (Production) برای کاربر نهایی استفاده می‌شود. این فرایند ساختار مدیریت انتشار نرم‌افزار در خیلی از مشکلات به فازهای استقرار(Deployment)، آزمایش(Testing) و عقبگرد(Rollback) کمک می‌کند.

محیط‌ها ممکن است به طور قابل توجهی با یکدیگر تفاوت داشته باشند: به طور معمول محیط توسعه یک فضای کاری تنها برای توسعه دادن نرم‌افزار است در حالی که در محیط محصول نهایی احتمالاً شاهد متصل بودن یک شبکه عظیم از ماشین‌های توزیع شده مرکز داده یا ماشین مجازی‌های راینش ابری باشید.

معماری‌ها[ویرایش]

محیط‌های استقرار تفاوت‌های قابل توجهی با یکدیگر دارند اما به طور کلی نقطه شروع آنها از محیط توسعه (DEV) بوده و به محیط محصول نهایی (PROD) ختم می‌شود. یکی از معماری‌های استقرار که به طور متداول استفاده می‌شود عبارت است از توسعه، آزمایش، نمایش، محصول نهایی (DEV, TEST, STAGING, PROD) که با ترتیب ذکر شده نرم‌افزار بر روی محیط‌ها استقرار می‌یابد. همچنین محیط‌های استقرار دیگر وجود دارند که به طور کلی برای فرایند تولید نرم‌افزار در نظر گرفته نمی‌شوند از جمله تضمین کیفیت (Quality Assurance) که در اختیار نیروهای آزمایش قرار می‌گیرند، جعبه شنی (Sandbox) که برای آزمایش کردن محصول توسط خود توسعه دهندگان استفاده می‌شود. در مواقع اضطراری محیطی با عنوان بازیابی فاجعه (Disaster Recovery) در نظر گرفته می‌شود که در حالتی که برای نسخه نهایی مشکلی پیش آید از این محیط استفاده می‌شود.

یکی دیگر از معماری‌ها عبارت است از توسعه، آزمایش، تست پذیرش(Acceptance testing) و محصول نهایی که به اختصار DTAP گفته می‌شود.

محیط‌ها[ویرایش]

محیط‌های استقرار به طور کلی عبارت‌اند از:

محیط توضیح
محلی (Local) محیط کاری توسعه دهندگان
توسعه (Development/Trunk) یک جعبه شنی که توسعه دهندگان برای آزمایش برنامه توسعه یافته از آن استفاده می‌کنند.
یکپارچه‌سازی (Integration) -
آزمایش (Test/QA/Internal Acceptance -
پیش از محصول نهایی (Stage/Pre-production/External-Client Acceptance) مشابه محیط محصول نهایی
محصول نهایی (Production/Live) محصول نهایی که در اختیار کاربران قرار می‌گیرد.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  • ترجمه نسخه انگلیسی ویکی‌پدیا