Среда развертывания


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

Среды могут значительно различаться по размеру: среда разработки обычно представляет собой рабочую станцию ​​отдельного разработчика, тогда как производственная среда может представлять собой сеть из множества географически распределенных машин в центрах обработки данных или виртуальных машин в облачных вычислениях . Код, данные и конфигурация могут быть развернуты параллельно и не должны подключаться к соответствующему уровню — например, предварительный код может подключаться к рабочей базе данных.

Архитектуры развертывания значительно различаются, но в целом уровни зарезервированы, начиная с разработки (DEV) и заканчивая рабочей средой (PROD). Обычная четырехуровневая архитектура — это разработка, тестирование, моделирование, производство (DEV, TEST, MODL, PROD), при этом программное обеспечение развертывается в каждом из них по порядку. Другие распространенные среды включают контроль качества (QC) для приемочных испытаний ; песочница или экспериментальная (EXP) для экспериментов, которые не предназначены для запуска в производство; и аварийное восстановление, чтобы обеспечить немедленный откат в случае проблем с производством. Другой распространенной архитектурой является разработка, тестирование, приемка и производство (DTAP).

Этот язык особенно подходит для серверных программ, где серверы работают в удаленном центре обработки данных; для кода, который выполняется на устройстве конечного пользователя, такого как приложения (apps) или клиенты, вместо этого можно ссылаться на пользовательскую среду (USER) или локальную среду (LOCAL).

Точные определения и границы между средами различаются — тестирование может считаться частью разработки, приемка может считаться частью тестирования, частью этапа или быть отдельным и т. д . out или push ) каждому по очереди. [1] [2] Уровни Experimental и Recovery, если они есть, не входят в этот поток — экспериментальные версии являются конечными, тогда как Recovery обычно представляет собой старую или дублированную версию рабочей версии, развернутую после рабочей. В случае проблем можно откатитьсяна старую версию, проще всего нажимая старую версию, как если бы это была новая версия. Последний шаг, развертывание в рабочей среде («передача в рабочую среду») является наиболее важным, так как любые проблемы приводят к немедленному влиянию на пользователя. По этой причине это часто обрабатывается по-разному, по крайней мере, более тщательно отслеживается, а в некоторых случаях развертывание осуществляется поэтапно или требуется только щелкнуть переключателем, что позволяет быстро откатиться. Лучше избегать такого имени, как обеспечение качества (QA); QA не означает тестирование программного обеспечения. Тестирование важно, но оно отличается от контроля качества.

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