Наводим мосты между Dev и Ops с помощью облачной среды
Программное обеспечение Программное обеспечение

Спросите руководителя ИТ-отдела, часто ли ему приходится создавать/пересоздавать среды тестирования и разработки.

Главная>Программное обеспечение>Наводим мосты между Dev и Ops
Программное обеспечение Тренд

Наводим мосты между Dev и Ops

Дата публикации:
18.09.2019
Посетителей:
132
Просмотров:
138
Время просмотра:
1.4 мин.

Авторы

Автор
Вячеслав Медведев Руководитель направления облачных решений «Инфосистемы Джет»
Спросите руководителя ИТ-отдела, часто ли ему приходится создавать/пересоздавать среды тестирования и разработки. Спросите руководителя отдела разработки, хватает ли ему тестовых сред и устраивает ли его скорость их создания. Уверены, согласия в оценках не будет. Ведь одни должны обеспечивать непрерывность и информационную безопасность, в то время как вторые — необходимую скорость разработки новых функций и отсутствие ошибок в коде. Те, кто успешно внедрил у себя частные облака и конвейер CI/CD, не поймут этих проблем. Остальные же сталкиваются с ними регулярно. Как же их решить?

 

 

Привычный ответ — использовать модель «инфраструктура как сервис» (IaaS). Технически ПО оркестрации, лежащее в основе большинства частных облаков, может управлять созданием (provisioning) и последующей настройкой ИТ‑инфраструктур, включающих серверы (как виртуальные, так и физические), СХД, сеть, службы каталога, службы терминального доступа и пр. Все наиболее развитые оркестраторы: BMC TrueSight Orchestration, MicroFocus Operations Orchestration, VMware vRealize Orchestrator и другие — имеют богатую библиотеку компонент для управления оборудованием и ПО. Но начинают обычно с решения, лежащего на поверхности: давайте автоматизируем создание виртуальных машин.

 

Создание универсальной услуги по развертыванию виртуальной машины с удобной настройкой — очень непростая задача. Только представьте, сколько параметров необходимо учесть: число процессоров, объем памяти, один или несколько виртуальных дисков (каждый из которых, в свою очередь, может быть размещен в различных хранилищах), один или несколько сетевых интерфейсов. А ведь может потребоваться изменение этих настроек в течение жизненного цикла сервера. В общем, море работы для программистов.

 Чаще всего среда тестирования больше, чем просто виртуальный сервер: 

 

  • Несколько виртуальных машин. А как же серверы приложений, менеджеры очередей, балансировщики нагрузки, серверы БД, веб-серверы?
  • Процесс развертывания прикладного ПО. Корпоративные системы далеко не так просты в установке, как хотелось бы.
  • Тестовый набор данных — обезличенный, ограниченный по глубине хранимой информации, иначе тестовые отчеты будут выполняться слишком долго.
  • Хотя бы минимальная документация. А что, ваш отдел информационной безопасности разрешает бесконтрольно создавать серверы и заливать туда данные из промышленных систем?

35%

Согласовавание характерстик, 
разработка документации

 

15%

Развертывание
инфраструктуры

 

 

30%

Миграция данных, инсталляция ППО

 

 

20%

Интеграция новой среды со смежными  системами

 

Согласитесь, услуга по развертыванию виртуалки, скорее всего, не будет «бутылочным горлышком», замедляющим весь процесс тестирования. И ее автоматизация не ускорит процесс выведения новых возможностей ПО в продуктив. По нашему опыту, непосредственно работы по настройке оборудования занимают не более 15% времени при создании тестовой среды. Его большая часть уходит на проведение миграции данных, развертывание ППО и интеграцию со смежными системами. Поэтому мы считаем, что при построении частных облаков стоит включать в каталог услуги по созданию сред бизнес-приложений, а не только элементы виртуальной инфраструктуры. Какие преимущества это может дать?

 

Эффективность использования тес­товых сред. Ресурсы существующих сред больше не будут простаивать, а новые среды станут создаваться по мере необходимости. У разработчиков больше не будет резона резервировать среды «впрок». А админы точно будут знать, чья это среда и нужна ли она.

 

Стабильность результатов тестирования. Все среды теперь абсолютно одинаковые, так как создаются «бездушной машиной», то есть обнаруженные проблемы будут воспроизводиться во всех средах. Что-то пошло не так? Просто пересоздадим среду с нуля. Уйдет проблема ручного переноса конфигураций между средами и «докручивания» сред вручную.

 

Гибкость использования. Это результат того, что среды создаются за очень короткое время в автоматическом режиме и при этом почти не требуется участие системных администраторов. 

Рисунок 1. Magic Quadrant  for  Application Release Ochestartion

Много времени на развертывание занимают согласование и документирование. Казалось бы, техническими средствами это сложно исправить. Но так как автоматически разворачиваемые среды полнос­тью унифицированы, их согласование может выполняться в упрощенном порядке. Теперь поговорим о технических средствах, которые могут все это автоматизировать. И главный инструмент — оркестратор. Это программный продукт для автоматизации управления сразу многими элементами ИТ-инфраструктуры. Таким образом, основной его характеристикой можно считать возможность гибкого управления как можно большим числом таких элементов, как серверы, виртуальные машины, системы хранения, сеть, терминальные сервисы, службы каталогов и пр. Существуют как решения от известных производителей ПО управления (BMC, Microfocus, IBM, Microsoft), так и продукты на свободном ПО (Red Hat, Cloudify и др). Выбор непрост. 

 

По нашему опыту, нужно обратить внимание на следующие возможности ПО:

 

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

О последнем пункте стоит поговорить отдельно. С одной стороны, большинство компаний на сегодняшний день с опаской смотрят на публичные облака. Сможет ли провайдер облака обес­печить необходимую доступность? Что делать, если что-то сломается? Как обезопасить данные? Все эти вопросы действительно важны, и маловероятно, что прямо завтра бизнес-критичные системы будут массово переноситься в облака. Но критичность сред разработки и тестирования ниже, а частота изменений в них выше. Это ли не идеальный кандидат на миграцию? Таким образом, возможность управлять ресурсами пуб­личного и частного облаков из одного средства автоматизации станет критичной в самом ближайшем будущем. А это уже гибридное облако.

 

Вычислительные ресурсы внешнего облачного провайдера представляются в оркестраторе как среда виртуализации, аналогичная по возможностям локальным виртуальным инфраструктурам, таким как VMware vSphere или Microsoft Hyper-V. Интеграция с ними не сложнее, чем настройка управления локальной фермой. Более сложной является задача обеспечить прозрачную миграцию приложений из частного облака в публичное и обратно. Например, если требуется временно расширить имеющиеся вычислительные ресурсы за счет внешних. Здесь многое будет зависеть как от архитектуры приложений, так и от инфраструктуры. Используется ли микросервисная архитектура или речь идет о монолитном приложении? Насколько интенсивен обмен данными между различными модулями приложения? Что за данные обрабатываются и каковы требования по их защите? Как обеспечить сетевую связность между облаками? Наверное, это тема для отдельной статьи. Что стоит подчеркнуть, так это то, что автоматизация и оркестрация ИТ-инфраструктуры в гибридных средах — одна из четырех основных технологических тенденций этого года и последующих лет (Gartner, 2019 Planning Guide Overview: Architecting Your Digital Ecosystem).

 

Кстати, к выбору средства автоматизации нужно привлечь не только ИТ-специалистов, но и разработчиков. Ведь в их руках имеются инструменты CI/CD1 — например, Jenkins или Gitlab, которые могут быть использованы как средства автоматизации. В частности, с помощью плагинов Jenkins может управлять созданием виртуальных машин. Если же средств автоматизации, имеющихся в инструментах CI/CD, окажется недостаточно, то обратите внимание на возможность интеграции выбранного оркестратора с ними. Ведь следующим шагом после автоматизации развертывания среды будет ее включение в конвейер разработки и тестирования.

 

Но создание отдельной среды, например для тестирования, — это только полдела. Часто бывает так, что разрабатываемое приложение само по себе, без окружения, не может полноценно функционировать. Ему нужно получать данные из одних смежных систем и передавать их в другие. Окружение приложения может включать справочники, шины данных, средства ETL, какие-либо шлюзы, службу каталогов и т.п. А раз без них приложение не может функционировать, то и качественно протестировать его не получится — набор возможных проверок очень ограничен. Решение: тестовая среда должна включать не только само приложение, но и некий минимальный набор смежных систем. И тогда это будет уже не среда, а полноценный тестовый полигон. Его создание выходит за рамки CI/CD, но может быть успешно обеспечено возможностями частного облака и его средствами автоматизации/оркестрации.

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

Уведомления об обновлении тем – в вашей почте

Спасибо!
Вы подписались на обновления наших статей
Предложить
авторский материал





    Спасибо!
    Вы подписались на обновления наших статей
    Подписаться
    на тему







      Спасибо!
      Вы подписались на обновления наших статей
      Оформить
      подписку на журнал







        Спасибо!
        Вы подписались на обновления наших статей
        Оформить
        подписку на новости







          Спасибо!
          Вы подписались на обновления наших статей
          Задать вопрос
          редактору








            Оставить заявку

            Мы всегда рады ответить на любые Ваши вопросы

            * Обязательные поля для заполнения

            Спасибо!

            Благодарим за обращение. Ваша заявка принята

            Наш специалист свяжется с Вами в течение рабочего дня