Serena Deployment Automation
Главная / Продукты / Serena / Serena Deployment Automation

Serena Deployment Automation

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

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

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

sda1

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

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

sda2

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

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

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

sda3

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

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

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

sda4

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

sda5

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

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

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

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