Як правильно випробувати хмару перед розміщенням інфраструктури? У цій статті ми розповідаємо про основні складнощі під час тестування хмари та розглядаємо, які інструменти ефективні, а які – ні.
Які проблеми виникають під час тестування хмари?
Обираючи хмару для розміщення інфраструктури, користувачі часто просять тест-драйв, щоб оцінити зручність роботи і продуктивність ресурсів. Багато, навіть досвідчених фахівців представляють процес тестування спрощено, тому обмежуються запуском набору синтетичних чи робочих тестів. Подібні випробування використовуються для настільних комп'ютерів. На практиці, у таких дослідників виникають складності через відносну новизну хмарних технологій та відмінності віртуальних машин від «залізних» серверів. Навіть у IT-фахівців зі стажем часто не вистачає знань та досвіду тестування хмарних ресурсів, а загальноприйнятих стандартів не існує.
Ось у чому головна причина: продуктивність класичної програмної системи оцінюють за певного робочого навантаження для фіксованої конфігурації. Але забезпечити стабільне навантаження та конфігурацію ресурсів у громадській хмарі не вдасться. Щоб адаптуватися до мінливих умов орендарів, провайдери автоматично виділяють та звільняють ресурси «на льоту».
Замість того, щоб вимірювати середню продуктивність статичної системи при максимальному навантаженні, логічніше оцінити інші характеристики. Наприклад, здатність хмарних сервісів адаптуватися до змінних навантажень з погляду продуктивності та витрат. Додаткова метрика повинна охоплювати надійність цих сервісів при збоях окремих вузлів, а також повному відключенні ЦОД.
Ця проблема виникає, коли необхідно порівняти отримані результати. Різні постачальники пропонують послуги, що не збігаються за змістом:
- з різними можливостями;
- з різними гарантіями;
- зі своїми параметрами сервісу, прописаними у договорі SLA.
Як то кажуть, доводиться порівнювати яблука з апельсинами.
Про що важливо пам'ятати до початку тестування:
- технології розподілених обчислень швидко розвивається та існує безліч несумісних реалізацій;
- ринок хмарних IaaS молодий і на стадії розробок, експериментів;
- у користувача немає безпосереднього контакту з обладнанням, тому він взаємодіє з орендованими ресурсами віддалено, через веб-інтерфейс;
- професійні пакети програмного забезпечення для тестування коштують чималих грошей