Serena Deployment Automation

Описание решения

Serena Deployment Automation (SDA) - платформа автоматизации операций доставки и установки новых версий приложений.

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

sda1

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

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

sda2

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

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

sda3

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

Для определения инфраструктуры компании используется специальный модуль, где пользователь описывает свою коллекцию Ресурсов, на
которых работают приложения. Ресурс - это целевой контейнер для установки компоненты бизнес приложения, например, база данных или J2EE контейнер.  Каждая коллекция определяет инфраструру определенной стадии - промышленной эксплуатации, UAT и т.д. Инфраструктура может иметь
сложную топологию, например, состоять из одного сервера или нескольких отдельных серверов или машин, объединенных в кластеры.

sda4

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

sda5

Сервер приложения (контроллер) предоставляет доступ к элементам платформы - подсистеме контроля доступа и привелегий, подсистеме исполнения сценариев, подсистеме формирования пользовательского интерфейса и другим. Этот слой может быть сбалансирован по нагрузке для реализации стратегий достижения показателей высокой доступности и непрерывности. Пользователь может обращаться к серверу приложения из командной строки, RESTful сервиса или пользовательского интерфейса, работающего в интернет браузере. В качестве СУБД можно выбрать одну из следующих Oracle, Microsoft SQL. Физические артефакты разработки, лог файлы хранятся в Репозитории установок на файловой системе.

Ключевые преимущества

Решения SerenaSoftware обладают целым рядом ключевых преимуществ по
сравнению с другими аналогичными решениями. Прежде всего, это:

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