Прежде чем разворачивать инфраструктуру в облаке, нужно убедиться, что сервис соответствует потребностям бизнеса. Для этого и предназначено тестирование. В статье мы разберем, как тестировать облако и какой сценарий тест-драйва покажет объективную картину возможностей сервиса.
Для базового тест-драйва IaaS достаточно проверки производительности отдельных компонентов — дисковой подсистемы, процессора, сети. Они дают вполне убедительные данные для понимания работоспособности облака в целом.
Базовое тестирование облачных решений
Дисковую подсистему облака имеет смысл протестировать на следующие показатели:
- Параметры ввода/вывода (IOPS). Показатель анализируется в связке с размером блока данных, временем ожидания и характером нагрузки.
- Параметры задержки или времени ожидания (latency). Эталонного значения latency нет. Он подбирается индивидуально и в динамике.
- Характер нагрузки, то есть будут ли операции чтения и записи выполняться последовательно или случайно.
Из инструментов для тестирования дисковой подсистемы облака самыми удобными считаются Iometer, SQLIO и FIO. Утилиты с файл-тестами позволяют выбирать готовые тесты для оценки IOPS и проверки пропускной способности. Нужно только указать параметры размера теста, блока, количества потоков и файл для записи/чтения.
Для тестирования процессора важен показатель CPU Ready. Он характеризует время, которое виртуальный процессор не выполняет полезные действия . Например, когда гипервизор не может обнаружить физическое ядро для назначения процесса vCPU виртуальной машины (ВМ). Если при нагрузочных тестах CPU Ready превышает 10%, у виртуальных машин точно будут проблемы с производительностью. Анализ производительности удобно выполнять с vCenter и утилитой ESXTOP.
Тестируя сеть, обращайте внимание на ширину сетевого канала, стабильность и время отклика. Одним из самых удобных инструментов для этого теста является утилита Iperf — она показывает пропускную способность сети, позволяет измерить производительность канала. Понятно, что в идеале результаты замеров должны соответствовать заявленным показателям облака.
Для системы резервного копирования проверяются параметры соответствия целевым показателям — времени и точки восстановления. Хорошо бы посмотреть на целостность и скорость восстановления резервной копии. На тестовом облачном стенде есть панель управления, на которой можно настроить параметры резервирования и проверить их.
Важно! Нет смысла тестировать облачный сервис, опираясь на абстрактные IOPS, latency, CPU Ready. Отталкивайтесь от задачи. Например, при миграции с On-Premise инфраструктуры за отправную точку удобно брать текущие параметры системы: процессор, память, дисковая подсистема, объем данных, количество пользователей. Переезжая из одного облака в другое, опорной базой будет штатный режим работы, при котором система справлялась с пиковыми нагрузками. Для приложений, баз данных, сред разработки, которые поднимаются в облаке с нуля, технические требования к облаку поможет определить провайдер — предоставит демо-стенд с набором рекомендаций по настройкам и конфигурациям ВМ.
Как тестировать облако на соответствие бизнес-требованиям
Для формального тестирования облачного сервиса базовых параметров достаточно. Но если облачная инфраструктура разворачивается не ради самого облака, а в силу экономической целесообразности, cloud testing дополняют набором бизнес-требований. Как минимум, проверяют соответствие облака бизнес-критичным параметрам: доступность, безопасность, масштабируемость.
Для оценки доступности используют сервисы мониторинга серверов, сетей, виртуализации. Их много, конкретные приводить не будем. С безопасностью сложнее. Универсального метода оценки безопасности IaaS нет, зато есть несколько критериев, на которые можно ориентироваться:
- Соответствие провайдера стандарту ISO 27001. Документ регламентирует меры информационной безопасности и помогает провайдеру поддерживать высокий уровень защищенности IT-инфраструктуры.
- Соответствие стандарту ISO 27002. Регламент описывает практические правила управления ИБ.
Сертификаты не являются гарантией безопасности, но подтверждают работоспособность систем управления рисками информационной безопасности.
Основная цель тестирования масштабируемости — проверить, сможет ли инфраструктура удовлетворять требованиям эффективности, если они будут превосходить текущие. Например, как быстро в облаке разворачиваются новые кластеры? И насколько быстро отключаются мощности, выделенные при дополнительной нагрузке?
Тестирование масштабируемости считается подвидом нагрузочного тестирования, так что свободно трансформируется в стресс-тест или проверку пределов возможностей: как сработает система при кратном увеличении количества пользователей или что будет, если в базу внести одновременно 1 млн. новых данных.
Лучший способ выбрать метод или инструмент тестирования облака — эмулировать реальную работу инфраструктуры с ее пиковыми нагрузками, нештатными падениями и форс-мажорами. Причем у каждой отрасли своя специфика, поэтому сценарии тест-драйва облака и интерпретации результатов в большинстве случаев будут разными. Вот почему мы всегда рекомендуем обсудить тестирование с техподдержкой. Специалисты помогут настроить виртуальные машины в соответствии с задачей, проконсультируют по совместимости системы с набором тестового ПО и помогут подобрать сценарий тест-драйва облака с учетом вашей отраслевой специфики.