Тестирование на масштабируемость в облачной среде

Не так давно в Trend Microinfo-icon задались целью выполнить тест масштабируемости одного из собственных продуктов (Trend Micro Deep Securityinfo-icon). Скорый поверхностный расчет показал, что для выполнения этой задачи потребовалось бы 35 серверов Dellinfo-icon 710 с возможностью виртуализации. Найти столько доступных серверов – непростая задача для любой компании, а о том, чтобы купить столько серверов ради месячного тестирования, не могло быть и речи.



Поэтому было решено обратиться за помощью к облакам. Подходящим решением стала инфраструктура Amazon Web Servicesinfo-icon (AWS), с помощью которой удалось получить необходимое количество менее крупных ресурсов. (В данном случае небольшие экземпляры идеально подходили для моделирования крупной архитектуры «менеджер-агент», причем каждый экземпляр моделировал множество агентов).

Следует иметь в виду, что просто открыть учетную запись и сделать запрос на 1000 небольших экземпляров не удастся. Сотрудники Amazon связываются с клиентом по электронной почте, чтобы определить требуемое соотношение типов экземпляров, платформ, зон доступности и регионов, которые будут выгодны как вашему проекту, так и AWS. Сразу после определения конфигурации мы разработали необходимые инструменты быстрого увеличения или уменьшения масштаба нашей тестовой среды. К ним относились AMI (шаблоны) и инструменты, использовавшие интерфейсы прикладного программирования для обнаружения и мониторинга ресурсов.

Нас не миновали странности платформы AWS, такие как перекос временной диаграммы при активном использовании ресурсов ЦП, некорректная информация о ресурсах ЦП для небольших экземпляров в CloudWatch и неизбежные «войны цен» за точечные экземпляры. Из-за особого характера тестов не все шло по плану. Порой при увеличении масштаба возникали сообщения об ошибке от интерфейса прикладного программирования AWS с формулировкой «недостаточно ресурсов». Будет нелишним иметь запасные варианты на случай, когда нужный тип экземпляра или регион перегружены.

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

В итоге были достигнуты поставленные цели по масштабируемости и потрачено гораздо меньше средств.

Подпишитесь
в Facebook

Я уже с вами