Як прискорити розробку й тестування додатків за допомогою хмари
01.09.2017
ЧИТАТЬ НА РУССКОМ
Розгортання тестового середовища традиційно пов'язане з питанням, де швидко взяти багато обчислювальних ресурсів. Щоб знизити витрати й ризики при тестуванні програм, необхідно розмежувати тестову й продуктивну платформи. Як ізольована хмарна інфраструктура може в цьому допомогти, захистити бізнес від простою і знизити вартість вкладених коштів – розповідає пресейл-менеджер GigaCloud Костянтин Коваленко.
«Почнемо з того, що гроші, вкладені в придбання фізичного обладнання тільки для тестового середовища, не виправдовують себе. Закупівля, доставка, встановлення серверів, час обслуговуючого персоналу (який теж має свою вартість), оренда місця в стійці... Яка ж буде ціна помилки за умови неправильної оцінки ресурсів? Або при збої ПЗ, що тестується? Це може призвести до зупинки бізнес-процесів, якщо проводити оновлення на продуктивних системах.
Швидко й без ризиків запустити тестування, не втративши при цьому в якості кінцевого продукту, дозволяє перенесення тестового середовища на віртуальну платформу.
Чому тестове середовище необхідно ізолювати?
- Тестування ПЗ в ізольованому середовищі дозволяє уникнути простою бізнесу при наявності критичних помилок в оновленому ПЗ і швидко переключитися на працюючу систему в разі неуспішних тестів.
- Ви можете з легкістю переводити користувачів на віртуальне середовище для тестування під реальними (а не синтетичними) навантаженнями – й назад на основне.
- Тестування в ізольованому середовищі відбувається без порушення вже вироблених політик безпеки компанії. У разі необхідності підключення сторонніх, неавторизованих користувачів, ви надаєте їм ресурси на ізольованій віртуальній платформі та повну свободу дій. Ви не ризикуєте послабити внутрішній IТ-захист корпоративної інфраструктури.
Сьогодні замовлення віртуальної платформи під тест – вже не предмет дискусії. Це питання розумного підходу до розгортання ПЗ. Перед CIO софтверних компаній, розробниками CRM, ERP, SaaS, баз даних частіше за все стоїть питання вибору типу такого середовища – і більшість з них зупиняються на хмарних технологіях.
Як хмара дозволяє економити і прискорювати тестування?
Ситуація 1. Вашим програмістам потрібно терміново зробити черговий реліз/оновлення та провести тестування.
Де ви будете проводити тест?
Варіант А: на існуючому сервері.
Щоб розгорнути тестування на одному зі своїх серверів, потрібно звільнити на ньому ресурси і ізолювати продуктивне середовище. А це витрата часу й ризик порушити вже працюючі системи.
Варіант Б: на новому сервері.
Хочете орендувати або купити сервер? Внесіть в калькуляцію не тільки його вартість, а й заробітну плату співробітників, які замість безпосередніх завдань будуть займатися його підбором, закупівлею й обслуговуванням, вартість розміщення у дата-центрі, а також витрати на підтримку його функціонування. Враховуйте, що тільки на очікування замовлення піде від 6 до 10 робочих днів.
Варіант В: у хмарі.
Кілька діалогів з оператором – і гнучка платформа з вільним масштабуванням повністю до ваших послуг. Хочете – створюйте абсолютно нове тестове середовище. Хочете – розгортайте клон продуктивної системи, оновлюйте її, при необхідності – робіть проміжні бекапи. Всі ці можливості доступні одразу після придбання.
Ситуація 2. Ви розробляєте клієнтське ПЗ.
Як вивести системні вимоги ERP для ста користувачів? Тисячі? Десяти тисяч?
Хмарні ресурси дозволяють розробникам масштабувати ресурси з легкістю. Бракує процесора? Пам'яті? Продуктивності дисків? Їх можна додати за запитом.
На фізичному обладнанні це зробити складно. Та й навряд чи можливо, адже воно має певні обмеження. Замовили сервер не з тими параметрами? Потрібно апгрейдити. А це витрата часу й грошей. А які гарантії, що після модернізації ви отримаєте те, що вам потрібно?
Далі: еластичність хмари дозволяє вивести реалістичні системні вимоги до продукту, що розробляється. Як це відбувається:
1. Під час тестування в хмарі розробники можуть переконатися, що база даних буде правильно працювати на певній конфігурації при підключенні Х-кількості користувачів і забезпечувати необхідні внутрішні параметрипродуктивності.
2. В результаті клієнт може бути впевнений, що вендор НЕ завищив вимоги і не занизив їх навмисне. Що він отримає працездатну систему при роботі на мінімальних зазначених потужностях. Це особливо важливо для SaaS, оскільки користувач оплачує якісний сервіс, а не ПЗ.
Ситуація 3. Вам необхідний тестовий сервер під різні завдання.
Припустімо, компанія придбала фізичний тестовий сервер під певні вимоги. Новий проект вимагає зовсім інших показників (компанія диверсифікувала стратегію, аутсорсинг, пілотний масштабний проект). Де взяти нове обладнання і що робити зі старим? Не забуваємо, що IT-обладнання старіє морально, термін підтримки моделей з боку виробника обмежений, як і сумісність з новим обладнанням та ПЗ.
Хмари ж легко масштабуються й адаптуються під будь-які запити.
З пакета послуг GigaCloud для тестування підходить хмара E-Cloud. Головна особливість наших хмар – повна свобода масштабування, яка вигідно відрізняє нас від інших операторів, зокрема – великих зарубіжних.
Відомо, що вони мають безліч прихованих обмежень, пов'язаних з кількістю різного обладнання у різних дата-центрах, яке ускладнює масштабування й значно збільшує ціну збору хмари за рахунок обміну трафіком між різними ЦОД.
Ми ж не маємо обмежень за класами: всю систему можна розмістити в єдиному дата-центрі.