Действия, которые делают программную систему доступной для использования
Развертывание программного обеспечения — это совокупность действий, которые делают программную систему доступной для использования. [1]
Общий процесс развертывания состоит из нескольких взаимосвязанных действий с возможными переходами между ними. Эти действия могут происходить на стороне производителя или потребителя , или на обеих. Поскольку каждая программная система уникальна, точные процессы или процедуры в рамках каждого действия вряд ли могут быть определены. Поэтому «развертывание» следует интерпретировать как общий процесс , который должен быть настроен в соответствии с конкретными требованиями или характеристиками. [2]
История
Когда компьютеры были чрезвычайно большими, дорогими и громоздкими ( мэйнфреймы и миникомпьютеры ), программное обеспечение часто связывалось производителями с оборудованием. Если требовалось установить бизнес-ПО на существующий компьютер, это могло потребовать дорогостоящего и отнимающего много времени визита системного архитектора или консультанта . Для сложной локальной установки корпоративного ПО сегодня это все еще может быть актуально.
Однако с развитием массового программного обеспечения для нового века микрокомпьютеров в 1980-х годах появились новые формы распространения программного обеспечения — сначала картриджи , затем компакт-кассеты , затем дискеты , затем (в 1990-х годах и позже) оптические носители , интернет и флэш-накопители . Это означало, что развертывание программного обеспечения можно было оставить заказчику. Однако со временем все больше осознавалось, что настройка программного обеспечения заказчиком важна и что в идеале оно должно иметь удобный интерфейс (а не, например, требовать от заказчика редактирования записей реестра в Windows).
В доинтернетовских развертываниях программного обеспечения развертывания (и их тесно связанные с ними братья, новые выпуски программного обеспечения) были по необходимости дорогими, редкими, громоздкими делами. Поэтому можно утверждать, что распространение Интернета сделало возможной сквозную гибкую разработку программного обеспечения . Действительно, появление облачных вычислений и программного обеспечения как услуги означало, что программное обеспечение можно было развертывать для большого количества клиентов за считанные минуты через Интернет. Это также означало, что, как правило, графики развертывания теперь определялись поставщиком программного обеспечения, а не клиентами. Такая гибкость привела к росту непрерывной поставки как жизнеспособного варианта, особенно для менее рискованных веб-приложений .
Другие варианты развертывания программного обеспечения включают сине-зеленое развертывание и развертывание канареечного релиза .
Развертывание мероприятий
- Выпускать
- Деятельность по выпуску следует из завершенного процесса разработки и иногда классифицируется как часть процесса разработки, а не процесса развертывания. Она включает в себя все операции по подготовке системы к сборке и передаче в компьютерную систему(ы), на которой она будет запущена в производстве. Поэтому иногда она включает в себя определение ресурсов, необходимых для работы системы с приемлемой производительностью, а также планирование и/или документирование последующих действий процесса развертывания.
- Установка и активация
- Для простых систем установка подразумевает создание некоторой формы команды , ярлыка, скрипта или службы для выполнения программного обеспечения (вручную или автоматически). Для сложных систем это может включать настройку системы — возможно, задавая конечному пользователю вопросы о ее предполагаемом использовании или напрямую спрашивая его, как он хотел бы ее настроить — и/или делая все необходимые подсистемы готовыми к использованию. Активация — это действие по запуску исполняемого компонента программного обеспечения в первый раз (не путать с общим использованием термина «активация» в отношении лицензии на программное обеспечение, которая является функцией систем управления цифровыми правами ).
- В более крупных развертываниях программного обеспечения на серверах основная копия программного обеспечения, используемая пользователями - "production" - может быть установлена на производственном сервере в производственной среде. Другие версии развернутого программного обеспечения могут быть установлены в тестовой среде , среде разработки и среде аварийного восстановления.
- В сложных средах непрерывной доставки и/или в системе программного обеспечения как услуги по-разному настроенные версии системы могут существовать одновременно в производственной среде для разных внутренних или внешних клиентов (это известно как многопользовательская архитектура ) или даже постепенно развертываться параллельно для разных групп клиентов с возможностью отмены одного или нескольких параллельных развертываний. Например, известно , что Twitter использует последний подход для A/B-тестирования новых функций и изменений пользовательского интерфейса . В производственной среде также может быть создана «скрытая живая» группа, состоящая из серверов, которые еще не подключены к балансировщику нагрузки производства , для целей сине-зеленого развертывания .
- Деактивация
- Деактивация — это обратная активации операция, которая подразумевает отключение любых уже работающих компонентов системы. Деактивация часто требуется для выполнения других действий по развертыванию, например, может потребоваться деактивация программной системы перед выполнением обновления. Практика удаления редко используемых или устаревших систем из обслуживания часто называется прекращением использования приложений или выводом приложений из эксплуатации.
- Удаление
- Деинсталляция — это обратная установка. Это удаление системы, которая больше не нужна. Она также может включать некоторую перенастройку других программных систем для удаления зависимостей деинсталлированной системы .
- Обновлять
- Процесс обновления заменяет более раннюю версию всей или части программного обеспечения более новой версией. Обычно он состоит из деактивации с последующей установкой. В некоторых системах, например, в Linux при использовании системного менеджера пакетов , старая версия программного приложения обычно также удаляется как автоматическая часть процесса. (Это связано с тем, что менеджеры пакетов Linux обычно не поддерживают установку нескольких версий программного приложения одновременно, если только программный пакет не был специально разработан для обхода этого ограничения.)
- Встроенное обновление
- Механизмы установки обновлений встроены в некоторые программные системы (или, в случае некоторых операционных систем, таких как Linux , Android и iOS , в саму операционную систему). Автоматизация этих процессов обновления варьируется от полностью автоматического до инициируемого и контролируемого пользователем. Norton Internet Security является примером системы с полуавтоматическим методом получения и установки обновлений как для антивирусных определений, так и для других компонентов системы. Другие программные продукты предоставляют механизмы запросов для определения доступности обновлений.
- Отслеживание версий
- Системы отслеживания версий помогают пользователю находить и устанавливать обновления для систем программного обеспечения. Например: Каталог программного обеспечения хранит версию и другую информацию для каждого пакета программного обеспечения, установленного в локальной системе. Одним нажатием кнопки открывается окно браузера на веб-странице обновления для приложения, включая автоматическое заполнение имени пользователя и пароля для сайтов, требующих входа в систему. В Linux, Android и iOS этот процесс еще проще, поскольку стандартизированный процесс отслеживания версий (для пакетов программного обеспечения, установленных официально поддерживаемым способом) встроен в операционную систему, поэтому не требуется отдельных шагов входа в систему, загрузки и выполнения — поэтому процесс можно настроить на полную автоматизацию. Некоторое стороннее программное обеспечение также поддерживает автоматическое отслеживание версий и обновление для определенных пакетов программного обеспечения Windows.
Роли развертывания
Сложность и изменчивость программных продуктов способствовали появлению специализированных ролей для координации и проектирования процесса развертывания. Для настольных систем конечные пользователи часто также становятся «развертывателями программного обеспечения», когда они устанавливают программный пакет на свою машину. Развертывание корпоративного программного обеспечения включает в себя гораздо больше ролей, и эти роли обычно меняются по мере того, как приложение переходит от тестовой (предпроизводственной) среды к производственной. Типичные роли, участвующие в развертывании программного обеспечения для корпоративных приложений, могут включать:
- в предпроизводственных средах:
- в производственных средах:
Смотрите также
Ссылки
- ^ Роджер С. Прессман Программная инженерия: подход практика (восьмое издание)
- ^ Rees-Carter, Stephen (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