Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

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

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

  • в предпроизводственных средах:
    • разработчики приложений: см. Процесс разработки программного обеспечения.
    • инженеры по сборке и выпуску: см. Разработка релизов
    • менеджеры релизов: см. Управление релизами
    • координаторы развертывания: см. DevOps
  • в производственных средах:
    • Системный администратор
    • администратор базы данных
    • координаторы выпуска: см. DevOps
    • менеджеры операционных проектов: см. ITIL

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

  • Управление жизненным циклом приложений
  • Управление жизненным циклом продукта
  • Системное управление
  • Развертывание системы
  • Выпуск программного обеспечения
  • Полная медиа-библиотека
  • Прочти меня
  • Управление релизами
  • Среда развертывания

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

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

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

  • Усилия по стандартизации
    • Запрос на отправку схемы установки решения в W3C
    • Дескриптор развертывания решения OASIS TC
    • Спецификация OMG для развертывания и настройки распределенных приложений на основе компонентов (OMG D&C)
    • JSR 88: Развертывание приложения Java EE
  • Статьи
    • Карзанига, Антонио; Фуггетта, Альфонсо; Холл, Ричард С .; Ван дер Хук, Андре; Хаймбигнер, Деннис; Вольф, Александр Л. (апрель 1998 г.). «Структура описания технологий развертывания программного обеспечения - Технический отчет CU-CS-857-98» (PDF) . Боулдер, Колорадо : Департамент компьютерных наук, Колорадский университет в Боулдере .
  • Ресурсы
    • Управление выпусками Visual Studio