Развертывание программного обеспечения

Развертывание программного обеспечения — это все действия, которые делают систему программного обеспечения доступной для использования. [1]

Общий процесс развертывания состоит из нескольких взаимосвязанных действий с возможными переходами между ними. Эти действия могут осуществляться как на стороне производителя , так и на стороне потребителя , или на обеих сторонах. Поскольку каждая система программного обеспечения уникальна, точные процессы или процедуры в рамках каждого вида деятельности вряд ли могут быть определены. Следовательно, «развертывание» следует интерпретировать как общий процесс , который необходимо настроить в соответствии с конкретными требованиями или характеристиками. [2]

История [ править ]

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

Однако с развитием массового программного обеспечения для новой эпохи микрокомпьютеров в 1980-х годах появились новые формы распространения программного обеспечения — сначала картриджи , затем компакт-кассеты , затем дискеты , затем (в 1990-е годы и позже) оптические носители , Интернет. и флешки . Это означало, что развертывание программного обеспечения можно было оставить на усмотрение заказчика. Однако со временем все больше признавалось, что настройка программного обеспечения клиентом важна и что в идеале оно должно иметь удобный интерфейс (вместо того, чтобы, например, требовать от клиента редактирования записей реестра в Windows).

В эпоху доинтернетовского развертывания программного обеспечения развертывание (и его близкий родственник — новые выпуски программного обеспечения) по необходимости было дорогостоящим, редким и громоздким делом. Поэтому можно утверждать, что распространение Интернета сделало возможной комплексную гибкую разработку программного обеспечения . Действительно, появление облачных вычислений и программного обеспечения как услуги означало, что программное обеспечение можно было развернуть большому количеству клиентов за считанные минуты через Интернет. Это также означало, что обычно графики развертывания теперь определялись поставщиком программного обеспечения, а не клиентами. Такая гибкость привела к тому, что непрерывная доставка стала жизнеспособным вариантом, особенно для менее рискованных веб-приложений .

Другие варианты развертывания программного обеспечения включают сине-зеленое развертывание и развертывание канареечной версии .

Действия по развертыванию [ править ]

Выпускать
Деятельность по выпуску следует из завершения процесса разработки и иногда классифицируется как часть процесса разработки, а не процесса развертывания. Он включает в себя все операции по подготовке системы к сборке и передаче в компьютерную систему(ы), на которой она будет работать в производстве. Поэтому иногда это включает в себя определение ресурсов, необходимых для работы системы с приемлемой производительностью, а также планирование и/или документирование последующих действий процесса развертывания.
Установка и активация
Для простых систем установка включает в себя создание той или иной формы команды , ярлыка, сценария или службы для запуска программного обеспечения (вручную или автоматически). Для сложных систем это может включать в себя настройку системы – возможно, задавая конечным пользователям вопросы о ее предполагаемом использовании или напрямую спрашивая их, как они хотят, чтобы она была настроена – и/или подготавливая все необходимые подсистемы к использованию. запуск исполняемого Активация — это первый компонента программного обеспечения (не путать с общим использованием термина «активация» в отношении лицензии на программное обеспечение, которая является функцией систем управления цифровыми правами ).
При более крупных развертываниях программного обеспечения на серверах основная копия программного обеспечения, которая будет использоваться пользователями — «производственная» — может быть установлена ​​на производственном сервере в производственной среде. Другие версии развернутого программного обеспечения могут быть установлены в тестовой среде , среде разработки и среде аварийного восстановления.
В сложных непрерывной доставки средах и/или программном обеспечении как сервисной системе версии системы с различной конфигурацией могут даже существовать одновременно в производственной среде для разных внутренних или внешних клиентов (это называется многоарендной архитектурой ) или даже быть постепенное параллельное развертывание для разных групп клиентов с возможностью отмены одного или нескольких параллельных развертываний. Например, известно, что Twitter использует последний подход для A/B-тестирования новых функций и изменений пользовательского интерфейса . В производственной среде также можно создать «скрытую действующую» группу, состоящую из серверов, которые еще не подключены к производственному балансировщику нагрузки , для целей сине-зеленого развертывания .
Деактивация
Деактивация является противоположностью активации и означает завершение работы всех уже работающих компонентов системы. Деактивация часто требуется для выполнения других действий по развертыванию, например, может потребоваться деактивация системы программного обеспечения перед выполнением обновления. Практику вывода из эксплуатации редко используемых или устаревших систем часто называют прекращением использования приложений или списанием приложений.
Удаление
Удаление является обратным процессу установки. Это удаление системы, которая больше не требуется. неустановленной системы Это также может потребовать некоторой реконфигурации других программных систем для удаления зависимостей .
Обновлять
Процесс обновления заменяет более раннюю версию всей или части программной системы более новой версией. Обычно он состоит из деактивации с последующей установкой. В некоторых системах, например в Linux, при использовании системного менеджера пакетов старая версия программного приложения обычно также удаляется как автоматическая часть процесса. (Это связано с тем, что менеджеры пакетов Linux обычно не поддерживают одновременную установку нескольких версий программного приложения, если пакет программного обеспечения не был специально разработан для обхода этого ограничения.)
Встроенное обновление
Механизмы установки обновлений встроены в некоторые программные системы (или, в случае некоторых операционных систем, таких как Linux , Android и iOS , в саму операционную систему). Автоматизация этих процессов обновления варьируется от полностью автоматической до инициируемой и контролируемой пользователем. Norton Internet Security — это пример системы с полуавтоматическим методом получения и установки обновлений как для определений антивируса, так и для других компонентов системы. Другие программные продукты предоставляют механизмы запроса для определения доступности обновлений.
Отслеживание версий
Системы отслеживания версий помогают пользователю находить и устанавливать обновления программных систем. Например: В каталоге программного обеспечения хранится версия и другая информация для каждого пакета программного обеспечения, установленного в локальной системе. Одним нажатием кнопки открывается окно браузера на веб-страницу обновления приложения, включая автоматическое заполнение имени пользователя и пароля для сайтов, требующих входа в систему. В Linux, Android и iOS этот процесс еще проще, поскольку стандартизированный процесс отслеживания версий (для пакетов программного обеспечения, установленных официально поддерживаемым способом) встроен в операционную систему, поэтому не требуется никаких отдельных шагов входа в систему, загрузки и выполнения. процесс можно настроить так, чтобы он был полностью автоматизирован. Некоторое стороннее программное обеспечение также поддерживает автоматическое отслеживание версий и обновление определенных пакетов программного обеспечения Windows.

Роли развертывания [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Роджер С. Прессман Разработка программного обеспечения: подход практикующего специалиста (восьмое издание)
  2. ^ Рис-Картер, Стивен (13 июля 2018 г.). «Как установить и настроить Ansible в Ubuntu 18.04» . Цифровой Океан . Архивировано из оригинала 9 июня 2019 года . Проверено 8 июня 2019 г. Системы управления конфигурацией предназначены для облегчения управления большим количеством серверов администраторам и операционным группам. Они позволяют вам управлять множеством различных систем в автоматическом режиме из одного центрального места.

Внешние ссылки [ править ]