Постановочне середовище проти виробничого середовища


80

Я працюю в компанії, де ми будуємо додатки для підприємств, і ми підтримуємо три середовища: розробка (або розробник ), постановка (або етап ) і виробництво (або прода ).

Значення dev інтуїтивно зрозуміло: це середовище, яке використовується під час розробки програми.

Яка різниця між постановочним та виробничим середовищем?

Відповіді:


122

Для менших компаній (не зрозуміло, наскільки великі ваші), три середовища (розробник, сцена, виробництво) є загальними. Більші компанії часто матимуть середовища якості між розробкою та сценою.

Вони зазвичай розбиваються наступним чином:

dev : Копія робочого коду. Тут внесені зміни, внесені розробниками, щоб інтеграцію та функції можна перевірити. Це середовище швидко оновлюється і містить останню версію програми.

qa : (Не у всіх компаній цього буде). Середовище для забезпечення якості; це забезпечує рідше змінену версію програми, яку тестери можуть виконувати перевірки. Це дозволяє звітувати про звичайну версію, щоб розробники знали, чи були виправлені конкретні проблеми, виявлені тестерами, у коді розробки.

інсценування : Це кандидат у випуск, і це середовище, як правило, є дзеркалом виробничого середовища. Область постановки містить "наступну" версію програми та використовується для остаточного стрес-тестування та схвалення клієнта / менеджера перед тим, як виходити наживо.

виробництво : Це щойно випущена версія програми, доступна клієнту / кінцевим користувачам. Ця версія бажано не змінюється, за винятком запланованих релізів.


7
Це правильно з точки зору програмного забезпечення. Є також дані: dev і qa підключені до тестових баз даних, тому розробникам і тестерам не потрібно турбуватися про внесення змін, під час постановки та виробництва використовують виробничі бази даних. Подумайте про банк.
Хуан Ланус

4
Є ще один вимір: хто такі користувачі? dev: розробники; qa (я віддаю перевагу qc): тестери; інсценування та виробництво: фактичні користувачі. У бізнес-додатках із середніми базами даних розробники не дозволяють бачити виробничих баз даних, вони оснащені анонімованими версіями.
Хуан Ланус

3
@JuanLanus: Зазвичай в інсценізаційному середовищі буде використовуватися копія виробничих даних - ти, як правило, не хочеш змінювати виробничі дані від постановки.
sleske

1
@JuanLanus: Вибачте, я мав на увазі "ви не хочете, щоб правки в середовищі постановки були видимими в середовищі prod" - отже, для постановки використовується копія виробничих даних, але (як правило) копія, яку можна редагувати.
sleske

2
Ми називаємо qa 'тестом': dev (мені), тест (команда), постановка (клієнт), prod (світ)
Rudie

13

Я трохи здивований, що тестового середовища також немає, як місце для коду, до якого потрібно перейти, перш ніж просуватися до постановки.

Щоб відповісти на запитання:

Етапне середовище повинно відображати виробниче середовище якомога ближче.

Він використовується для перевірки процедур розгортання - переконайтесь, що коли код готовий до виготовлення, його можна розгорнути без проблем.

Тобто, код переходить до інсценізації - це всебічно перевіряється та регресується, щоб забезпечити, щоб розгортання йшло як було заплановано (і щоб виправити будь-які проблеми, якщо цього не відбулося).


1
Саме так - він існує для того, щоб вивести код із середовища розробників у більш контрольоване середовище, серед іншого, виявити будь-які залежності, пропущені в документації, і будь-які збитки «добре працював на нашій машині» щодо середовища live / prod.
Danny Staple

Це не має нічого спільного з питанням, хоча ...
nbro

4

Сценічне середовище - це попередньо оброблене середовище, яке відображає виробництво. Часто у нього можуть бути деякі виробничі дані, щоб тестова група, що складається з реальних користувачів та тестувальників якості, може підтвердити, що попередньо випущена база / дані коду будуть розгортатися та працювати належним чином у сприятливому середовищі, як правило, за допомогою сценаріїв використання та регресії тести.

Як зазначає @Oded, зазвичай є середовище QA, яке тестери QA використовують для тестування коду.


3

Мій досвід роботи з урядом США / Міністерством оборони ІТ полягає в тому, що:

  1. РОЗВИТК / ТЕСТ призначений для розробників та розробників додатків. Вони будують і тестують додатки далеко від корпоративних систем.
  2. Після завершення програми вони будуть розміщені в ІТ-середовищі на серверах (ів).
  3. З цього моменту програми підтримуються ІТ, переносяться на STAGING (що дозволяє ІТ розробляти / перевіряти вказівки щодо впровадження, конфігурації тощо). Тестування користувача на цьому етапі може до певної міри відбутися, щоб переконатися, що програма працюватиме, як очікувалося, у системі, що копіює ВИРОБНИЦТВО.
  4. Якщо всі плани тестування завершені, і вони добре перейти, додаток буде переведено на ВИРОБНИЦТВО та перейде в режим підтримання (тобто експлуатації та обслуговування або O&M).
  5. Нові оновлення від розробників також будуть розгорнуті в ПАКЕТИНГУ, і процес триває.

2
Ласкаво просимо до програмістів. Наш сайт орієнтований на якісні питання та відповіді. Це не так, як типові форуми. Перегляньте довідковий центр для отримання додаткової інформації. Я не бачу, як ваша відповідь стосується будь-яких моментів, які ще не були зроблені іншими відповідями на це питання.

2

Як веб - розробник, є в основному три середовища для розгляду практично :

Виробництво : середовище, налаштоване для розміщення остаточної версії продукту, орієнтованого на кінцевих користувачів. Він оптимізований для безпеки та продуктивності. Він розміщений на живому сервері. Це вимагає попередження і термінової підтримки. Це критично важливе для даних. Тому його дані регулярно резервуються. Це також передбачає управління ризиками та відновлення аварій. Виробниче середовище налаштовано для відображення дружніх помилок кінцевим користувачам.

Постановка : середовище, налаштоване для розміщення кандидата на випуск програми після оголошення коду заморожуванням. Він орієнтований на керівника проекту / власника разом із командою розробника для узгодження обсягу кандидата у випуск. Це передбачає забезпечення якості, а також команду розробників, щоб виконати остаточні виправлення та остаточне оснащення, перш ніж випускати у виробництво. Найкраща практика - імітувати виробниче середовище, використовуючи останні дані, доступні з живої БД, скопійованої з виробничого середовища. Зазвичай, до інтерактивного середовища доступні лише внутрішня команда та зацікавлені сторони, тому вони або захищені на загальнодоступному сервері, або публікуються в інтранет-середовищі, якщо всі зацікавлені сторони можуть отримати доступ до локальної мережі. Постановочне середовище налаштовано для відображення середніх або повних технічних помилок.

Розвиток : приватне середовище, налаштоване одним розробником на його машині для перевірки його власних робіт під час циклу розробки, як правило, називається спринтом у середовищі scrum. Середовище розробки налаштовано на показ повних технічних помилок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.