Главная»Автоматизация»Технология создания программной конфигурации информационной системы

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

Терминология

Программная конфигурация информационной системы – совокупность программ для осуществления автоматизированных процедур по конфигурации программного и аппаратного обеспечения, по управлению подсистемами, данными и базами данных информационной системы.

Создание программной конфигурации информационной системы представляет собой совокупность процессов по разработке программ для осуществления автоматизированных процедур.

Технология создания программной конфигурации – совокупность принципов, методов и средств.

Программная конфигурация входит в состав программного обеспечения информационной системы и является неотъемлемой его частью.

Управление программной конфигурацией информационной системы представляет собой процесс определения и инициализации необходимых автоматизированных процедур для приведения информационной системы к заданному состоянию.

Автоматизация управления программной конфигурацией информационной системы представляет собой конечный результат деятельности по созданию программной конфигурации и по внедрению средств автоматизации и управления конфигурациями.

Процедуры автоматизации – программы для осуществления автоматизированных процедур.

Комплекты процедур автоматизации – совокупность программ для осуществления взаимосвязанных автоматизированных процедур.

Цели

Целью создания программной конфигурации является обеспечение возможности приведения информационной системы к заданному состоянию за наименьший период времени.

Целью автоматизации управления программной конфигурацией является обеспечение высокой доступности, надёжности, переносимости и возможности восстановления информационной системы в любой момент времени.

Задачи

Основные задачи по созданию программной конфигурации следующие:

  1. Разработать процедуры автоматизации системного и прикладного программного обеспечения;

  2. Разработать процедуры автоматизации для конфигурации аппаратных средств;

  3. Разработать процедуры автоматизации для управления данными и базами данных;

  4. Разработать процедуры автоматизации для управления подсистемами информационной системы.

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

Этапы и принципы

Основные этапы создания программной конфигурации следующие:

  1. Создание полигона для разработки;

  2. Разработка, тестирование, документирование;

  3. Внедрение в эксплуатацию и доработка.

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

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

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

Своевременное создание и автоматизация управления программной конфигурацией является основой практики гибкой разработки программного обеспечения информационных систем.

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

Средства управления программной конфигурацией

Средства управления программной конфигурацией позволяют определять и инициализировать необходимые автоматизированные процедуры для приведения информационной системы к заданному состоянию.

Одним из широко используемых инструментов является открытое программное обеспечение Chef, которое разрабатывает одноименная компания Chef Software вместе с сообществом программистов [1].

Открытое программное обеспечение Сhef используется многими крупными компаниями и международными корпорациями, такими как Microsoft, IBM и VMware [2], в качестве основного средства управления программной конфигурацией своих ИТ-инфраструктур, продуктов и сервисов. Открытое программное обеспечение Chef интегрировано в такие технологические платформы как Microsoft Azure [3], Amazon Web Services [4], Google Cloud Platform [5].

Методология создания программной конфигурации

Общее описание

Программное обеспечение для управления программной конфигурацией устанавливается на каждом узле серверных ресурсов информационной системы. Может быть предусмотрена возможность создания централизованного сервиса и рабочей станции оператора по управлению программной конфигурацией информационной системы.

Управление программной конфигурацией осуществляется посредством выполнения автоматизированных процедур, которые являются основными объектами разработки в рамках создания программной конфигурации информационной системы.

Например, для установки и конфигурации СУБД применяется комплект автоматизированных процедур, осуществляющих запрограммированные действия по установке и конфигурации программного обеспечения СУБД. Для создания базы данных в СУБД может применятся другой комплект автоматизированных процедур, реализующий интерфейс операций с базами данных.

Комплекты процедур автоматизации состоят из автоматизированных процедур и вспомогательных средств. В качестве вспомогательных средств выделяют объекты, методы, атрибуты, шаблоны, типовые инструкции, тесты, библиотеки, файлы.

Например, комплект автоматизированных процедур программного обеспечения Chef будет выглядеть таким образом:

— cookbook (комплект процедур автоматизации)

— — — recipes (автоматизированные процедуры)

— — — resources (объекты и методы)

— — — attributes (атрибуты)

— — — templates (шаблоны)

— — — definitions (типовые инструкции)

— — — tests (тесты)

— — — libraries (библиотеки)

— — — files (файлы)

Программная конфигурация информационной системы обычно состоит из комплектов автоматизированных процедур, объединённых в одном репозитории. Фактически, репозиторий комплектов автоматизированных процедур представляет собой программную конфигурацию информационной системы.

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

Таким образом, программная конфигурация информационной системы может содержать полные сведения о различных состояниях системы в текстовом виде и может быть сохранена в системе контроля версий. Вместе с программным кодом, бинарными файлами и базами данных информационной системы программная конфигурация позволяет полностью восстановить систему либо создать её копию, а также привести к заданному состоянию.

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

Метод итерации

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

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

Метод инкрементации

Инкрементный метод представляет собой циклический процесс разработки, который последовательно реализует функциональность программного обеспечения за счёт разделения функциональности на модули.

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

Источники:

[1] https://www.chef.io

[2] https://www.vmware.com/ru/cloudservices/usingvcloudair/automation.html

[3] https://docs.microsoft.com/ru-ru/azure/chef/

[4] https://aws.amazon.com/ru/opsworks/

[5] https://cloud.google.com/solutions/googlecomputeenginemanagementpuppetchefsaltansible#chef

Контакты

Обращайтесь к нам

Центр грид-технологий НАН ул. Сурганова 6
Минск, 220012 - Беларусь

Эл.почта

Телефонtel./fax. +375 (17) 284 29 06