Эффективное окружение тестовых сред

Дмитрий Семынин, директор департамента инфраструктуры информационных систем АМТ-ГРУП

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

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

Таким образом, основными недостатками классического подхода к тестированию разрабатываемых информационных систем являются:

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

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

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

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

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

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

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

Подход к тестированию, построенному по сервисной модели, имеет следующие преимущества:

  • автоматизация основных этапов тестирования с использованием IaaS/DBaaS/PaaS-сервисов для создания тестовой среды;
  • существенное снижение издержек на создание тестовой среды, как на вычислительные мощности и их поддержку, так и на лицензионные платежи;
  • уменьшение времени тестирования, поскольку при классическом подходе до 50% времени уходит на подготовку;
  • обеспечение управления и администрирования средой тестирования без посредников.

Аналитики IDC весьма оптимистично оценивают перспективы развития облачных сервисов в России. По их прогнозам, объем российского рынка услуг, оказываемых как частными, так и публичными облаками, к 2015 г. увеличится до 1200 млн долл., причем доля частных облаков превысит 65%. С учетом данного тренда наиболее перспективными для построения тестовых сред являются частные облака, поскольку именно в корпоративном сегменте рождается сейчас масса приложений, которые требуют для своей отладки гибкие среды тестирования. Гибридная архитектура тоже востребована в части достижения гибкости в привлечении дополнительных ресурсов и обеспечения запаса прочности (доступности) среды для полноценной и непрерывной эксплуатации.

Следите за нашими новостями в Телеграм-канале Connect


Поделиться:



Следите за нашими новостями в
Телеграм-канале Connect

Спецпроект

Цифровой девелопмент

Подробнее
Спецпроект

Машиностроительные предприятия инвестируют в ПО

Подробнее


Подпишитесь
на нашу рассылку