• дублирование работ из-за наличия копий различных версий;
• неэффективное использование ресурсов из-за отсутствия информации об их местонахождении;
• потеря исходных файлов, приводящая к повторной закупке программ;
• отсутствие защиты от вирусов, приводящее к необходимости «лечения» всей сети.
8.1.1. Основные понятия
Релизы
Релизы содержат одно или несколько авторизованных изменений. Они могут классифицироваться в первую очередь по уровню релиза. Часто релизы разделяют на:
• Значительные релизы – крупномасштабное развертывание новых аппаратных и программных средств, обычно со значительно расширенными функциональными возможностями. Такие релизы часто помогают в устранении ряда известных ошибок, включая известные обходные решения[127] и быстрые исправления[128].
• Малые программные релизы и модернизация аппаратного обеспечения (апгрейды)[129] – эти релизы обычно представляют собой незначительные усовершенствования и исправления известных ошибок. Среди них могут быть такие, которые внедрялись ранее в виде срочных исправлений и теперь окончательно проработаны и включены в данный релиз. За счет такого релиза обеспечивается обновление «Прежнего стабильного состояния[130]», являющегося отправной точкой для всех испытаний.
• Срочные исправления – обычно внедряются как быстрые исправления проблем и известных ошибок.
Релизные единицы
В отношении аппаратного обеспечения вопросы возникают только при полной замене ПК или при раздельной замене плат и дисководов жестких дисков (или даже оперативной памяти и процессоров). Для программного обеспечения изменения возможны на уровне системы, комплекса, программы или модуля. Хорошим примером может быть библиотека DLL (Dynamic Link Library) в среде Windows, часто используемая несколькими программами. Иногда в составе пакета поставляется новая версия DLL, что может потребовать нового тестирования и переустановки всех других программных пакетов. В данном процессе также прорабатывается принцип минимального содержания релиза.
Идентификация релизов
Копии программ могут распространяться из Библиотеки DSL по соответствующим средам:
• Среда разработки — разработка новых версий может вестись на основе более ранних версий из Библиотеки DSL. С каждой новой версией увеличивается ее номер. Изменение программного обеспечения возможно только в среде разработки.
• Среда испытаний – среда для тестирования версий. Часто тестирование разделяют на технические испытания разработчиками, функциональные испытания пользователями, испытания внедрения компоновщиками релизов и, возможно, окончательные приемочные испытания пользователями и руководством.
• Рабочая среда – активная среда, где информационные системы доступны для пользователей.
• Архив – служит для хранения старых версий программных единиц, которые больше не используются.
Так как возможно использование нескольких релизов, им присваиваются уникальные идентификаторы. В идентификационном номере релиза должна быть ссылка на соответствующую Конфигурационную Единицу, и он должен включать номер версии из двух или более цифр, например:
• Значительные релизы – система расчета зарплаты v.1, v.2, v.3 и т. п.
• Малые релизы – система расчета зарплаты v.1.1, v.1.2, v.1.3 и т. п.
• Релизы - срочные исправления – система расчета зарплаты v.1.1.1, v.1.1.2, v.1.1.3 и т. п.
На рис. 8.1 показаны тестирование и возможные модификации каждой новой версии перед ее выпуском. Старая версия архивируется как часть запуска нового релиза на случай возможного возврата.
На рис. 8.2 показан возврат.
Рис. 8.1. Выпуск версии в Процессе Управления Релизами
Рис. 8.2. Возврат в Процессе Управления Релизами
Типы релизов
Должна быть произведена оценка, какое количество изменений может быть разработано, испытано и внедрено за определенный период времени. Может оказаться, что пакетный релиз, представляющий собой комбинацию нескольких изменений для одного развертывания, может быть слишком сложным для безопасного внедрения.
Быстрая разработка и продвижение на рынок новых версий аппаратного и программного обеспечения может привести к тому, что релиз может устареть до его внедрения. С другой стороны, частые изменения могут оказать отрицательное воздействие на предоставление услуг.
В рамках Процесса Управления Изменениями принимается решение о количестве изменений, которое может быть включено в релиз, и о способе его развертывания. Возможен выбор одного из следующих вариантов:
• Дельта-релиз – в дельта-релиз включаются только измененные аппаратные и программные средства. Это часто связано с экстренными и быстрыми исправлениями. Недостатком этого типа релизов является то, что часто невозможно проверить все связи с остальной частью среды, в результате чего не удаляются модули, к которым программа больше не обращается. Дельта-релиз удобен в случае, если программное обеспечение может быть изолировано от остальной части ИТ-среды. Преимуществом дельта-релиза является то, что для создания тестовой среды требуется меньше усилий.
• Полный релиз – при полном релизе идет распространение полного комплекта ПО, включая неизмененные модули. Такой подход предпочтителен в случаях, когда точно не известно, что изменено в программном обеспечении. Более тщательные испытания программных и аппаратных средств обеспечивают в этом случае меньшее число инцидентов после внедрения. При подготовке полного релиза легче определить, достигается ли запланированный уровень производительности. Преимуществом полного релиза является возможность одновременного внедрения нескольких изменений. Подготовка облегчается благодаря возможности использования стандартных сценариев инсталляции[131]. Также при инсталляции может быть «очищена» программная среда. Однако полный релиз требует большей подготовки и ресурсов, чем дельта-релиз.
• Пакетный релиз – пакетный релиз, или комплект релизов, обеспечивает пользователям более длительные периоды стабильной работы. Исправление незначительных программных ошибок, с которыми пользователи могут мириться, и внедрение новых функций часто являются действиями, которые можно эффективно объединить. Так же плановые апгрейды, например системного программного обеспечения и офисных приложений от внешних разработчиков, могут включаться в пакетные релизы.
Рис. 8.3. Типы релизов
Библиотека эталонного программного обеспечения[132] (DSL)
Библиотека эталонного программного обеспечения (DSL) – это надежное хранилище для эталонных авторизованных версий (мастер-копий) всех Конфигурационных Единиц программного обеспечения. Физически библиотека DSL может находиться в разных местах и состоять из нескольких надежных хранилищ и огнеустойчивых сейфов для носителей информации. Управление Релизами начинает контролировать жизненный цикл программ с момента их включения в библиотеку DSL. Релизы конфигурируются из известного надежного программного обеспечения, хранящегося в DSL. После этого разрабатываются инсталляционные скрипты[133], а в децентрализованной среде могут быть записаны соответствующие компакт-диски.
В библиотеке DSL может храниться несколько версий одного и того же программного обеспечения, включая архивные версии, документацию и исходные коды. Поэтому необходимо создание резервных копий[134] Библиотеки DSL, поскольку она содержит не только текущую версию программного обеспечения, но и копии на случай возврата к прежней версии. При наличии в компании нескольких территориальных объектов с локальным руководством, на каждом из них должна быть копия Библиотеки DSL на случай развертывания программного обеспечения.
Склад эталонного аппаратного обеспечения[135] (DHS)
Склад эталонного аппаратного обеспечения предназначен для хранения запасных аппаратных средств. Это запасные компоненты и узлы, состояние которых поддерживается на том же уровне, что и у соответствующих им компонентов в активной среде. Аппаратные средства со склада DHS используются для замены или ремонта аналогичных Конфигураций в ИТ-инфраструктуре. Информация о составе этих Конфигураций должна содержаться в базе CMDB.
Конфигурационная База Данных (CMDB)
В рамках всего Процесса Управления Релизами рекомендуется проверять информацию о Конфигурационных Единицах в базе CMDB. Как только версии программного обеспечения добавляются в Библиотеку DSL, а версии аппаратных средств – на Склад DHS, производится обновление CMDB. Для поддержки Процесса Управления Релизами база данных CMDB должна содержать информацию по следующим вопросам: