Каково определение промежуточной среды при разработке веб-приложений? - PullRequest
13 голосов
/ 04 июня 2009

При разработке веб-приложения для других, хорошей идеей является наличие нескольких сред для тестирования. Однако разные команды разработчиков имеют разные определения значения каждой среды.

В настоящее время мне нравится быть простым и иметь среду разработки (мой локальный компьютер), промежуточную среду (кто-то до того, как я разверну свое приложение в мире), а затем в производство. Хотя в других средах может быть ценность, сейчас я буду придерживаться этих трех.

Мой главный вопрос:

Какие свойства будут уместны при определении промежуточной среды?

Однако вот несколько связанных вопросов:

  • Должен ли веб-сервер находиться на отдельном физическом компьютере, чем база данных?
  • Должна ли база данных быть в точности идентичной производственной базе данных?
  • Может ли промежуточная среда выйти из строя для технического обслуживания?
  • Может ли промежуточная среда использоваться для тестирования новых функций (например, бета-версия)?

Ответы [ 4 ]

11 голосов
/ 04 июня 2009

Я бы предположил, что ваша промежуточная среда максимально приближена к вашей производственной.

Если вы используете отдельные серверы для БД и веб-сервера, попробуйте также сохранить это в стадии подготовки, если вы используете балансировщик нагрузки, попробуйте также настроить его для подготовки и т. Д.

Однако, по моему опыту, это было не так, и наша промежуточная среда всегда была менее мощной с точки зрения аппаратного обеспечения, чем производственная среда. Проблема в том, что вы не можете протестировать каждую функцию и быть уверенным, что производство будет работать одинаково.

Что касается других ваших вопросов:

  • Подготовка может обычно прекращаться при необходимости, для этого можно установить более гибкий график установки новых версий.
  • У нас были случаи, когда мы устанавливали более одного экземпляра приложения при постановке. Одна напоминает версию в производстве, а другая - с новыми функциями для тестирования клиентом.
10 голосов
/ 04 июня 2009

Для меня смысл «подготовки» заключается в том, что вы находитесь на грани развертывания в производство, поэтому вам нужна среда, максимально приближенная к рабочей среде, чтобы минимизировать любые проблемы, которые могут возникнуть как прямой результат разные среды. Например, среды разработки и тестирования могут иметь определенные утилиты, которых нет в рабочей среде, или производственная среда может иметь более строгие разрешения и аутентификацию, что может вызвать проблемы с вашим приложением.

Таким образом, идеальная промежуточная среда - это точная копия производственной среды (хотя и без публичного доступа). Если вы используете виртуализированные серверы, это должно быть почти тривиально. Если нет, то среда должна максимально близко имитировать производственную среду (приложение должно быть развернуто по тому же пути, разрешения должны быть идентичными, файлы конфигурации должны быть копиями производства и т. Д.). Чтобы ответить на ваши вопросы:

  • Должен ли веб-сервер находиться на отдельном физическом компьютере, а не на базе данных? Если это так, как на рабочем месте.
  • Должна ли база данных быть точно идентичной производственной базе данных? Точная структура, она может быть заполнена фиктивными значениями.
  • Может ли промежуточная среда отключиться для технического обслуживания? Да.
  • Может ли промежуточная среда использоваться для тестирования новых функций (например, бета-версия)? Нет, для этого я бы использовал среду разработки или тестирования. Подготовка должна быть предусмотрена для функций, которые сразу же будут запущены в производство (т. Е. В среде «кандидата на выпуск»).
2 голосов
/ 04 июня 2009

«Какие свойства будут уместны при определении промежуточной среды?»

Технологический стек должен быть одинаковым. В самом деле, вы должны иметь возможность просто клонировать стадию для восстановления производства.

«Должен ли веб-сервер находиться на отдельном физическом компьютере, чем база данных?»

Для постановки? Не обязательно. Если ваше управление конфигурацией является надежным, то у вас будет все необходимое для настройки. параметры при постановке и правильно их исправлять при переходе на производство.

Если ваш CM не является надежным, вам потребуется промежуточная подготовка, чтобы иметь ту же физическую архитектуру, что и для производства, чтобы вы могли вносить изменения в конфигурацию.

«Должна ли база данных быть в точности идентичной производственной базе данных?»

Зависит от варианта использования. Если вы обновляете базу данных, они не могут быть идентичными.

Если вы не обновляете базу данных, они будут идентичны.

«Может ли среда подготовки отключиться для технического обслуживания?»

Почему бы и нет?

«Может ли промежуточная среда использоваться для тестирования новых функций (например, бета-окружения)?»

Это должно быть использовано для этого. Как еще вы делаете обновление?

0 голосов
/ 03 апреля 2017

Стадия или промежуточная среда - это среда для тестирования, которая в точности напоминает производственную среду. Другими словами, это полная, но независимая копия производственной среды, включая базу данных. Постановка обеспечивает реальную основу для тестирования качества, потому что она точно воспроизводит то, что находится в производстве. Хорошо реализованная промежуточная среда позволяет определить важные стандарты и точно их протестировать.

Теперь рассмотрим группу тестирования, которая выполняет все свои тесты в непроизводственной среде. Например, в большинстве организаций, занимающихся разработкой программного обеспечения, существует несколько сред для разработки кода и тестирования качества на пути к производственному выпуску. Тем не менее, ни среда разработки, ни тестовая среда QA не имеют в точности то, что делает производственная среда. Нужна помощь, пожалуйста, пройдите наши Услуги по разработке пользовательских веб-приложений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...