2. ЧОМУ AMAZON
Переваги
• Загроза фізичної безпеки
даних та інфраструктури
“на землі”
• Нестабільність енергосистеми
України
• DDoS-атаки на дата центри
Війна
• Гнучкість
• Доступність і надійність
• Спрощене управління
• Економічність
3. Платформний продукт, який
містить набір рішень та
інструментів для реєстрації
розрахункових операцій та
роботи з ними
ПРРО
ПРОЕКТИ
ПРРО ТА WEBPOS
WebPOS
Багатопоточний масштабований
сервіс який призначений для
опрацювання логіки промоакцій
7. ПЕРША ВЗАЄМОДІЯ
З DEVOPS
• Отримання облікових записів AWS
• Тестування доступу до сервісів та
ендпоінтів
• Налаштування інстансів та ресурсів перед
проведенням тестів навантаження
DEV | TEST | PROD
8. ТЕСТ ДЕГРАДАЦІЇ S3 СХОВИЩА
• Дослідити чи кількість об’єктів
збережених у Amazon S3
Bucket впливає на швидкість
доступу до них через Lambda
функцію
• Визначити швидкість відклику
Lambda функції при отриманні
доступу до об’єктів S3 Bucket в
залежності від кількості пам’яті
вказаній на ній
Мета
Кількість об’єктів збережених у
Amazon S3 Bucket не впливає на
швидкість доступу до них
Визначено що потрібно
виділити n MB для стабільної
роботи сервісу та відповіддю
до 500 мілісекунд
Результат
Параметри моделі:
1. Кількість користувачів
2. Тривалість
3. Виконувані дії:
- запит до Lambda функції на
отримання об’єкту
- розмір отриманих даних
має бути > n КБ
Процес
9. • Взаємодія з розробником
• Економічність
• Гнучкість
• Бізнес логіка
• Шифрування
• Інтеграція в CI/CD
Покриття тестами
ЛЯМБДА
ФУНКЦІЇ
12. • Функціональні тести взаємодії з іншими
сервісами
• Тест навантаження
Тести Active MQ Broker
ACTIVE MQ
13. • Вимоги
• Підводні каміння
• Визначення ліміту підключень
• Правила та виключення - XSS
Обрання Web Application Firewall
WAF
14. • Тест навантаження Pushgateway та Prometheus
Prometheus
TOP СЕРВІС
• Стрес тест Pushgateway та Prometheus
• Тест навантаження у зв’язці:
Pushgateway, Prometheus, Alertmanager, ApiBack та SES
• Тест швидкості доступу до даних з AWS Managed
Prometheus (історичні метрики)
1. Перевірити роботу Pushgataway та
Prometheus при заданому навантаженні
на протязі визначеного часу.
2. Визначити які ресурси потрібно
зарезервувати для стабільної роботи
сервісів при певному навантаженні.
3. Визначити за який час відновлюють
роботу сервіси після overload.
Визначити швидкість повернення
метрик для різних фільтрів та
кількості користувачів.
1. Перевірити роботу Pushgataway,
Prometheus, Alertmanager та бекенд
elKasa при тривалому навантаженні.
2. Визначити які ресурси потрібно
зарезервувати для стабільної
роботи сервісів при певному
навантаженні.
16. WEB POS
Вхідні дані
• визначення необхідних ресурсів
• введення метрик
• взаємодія та вплив інших сервісів
на швидкодію
• змінений сценарій обміну даними
Результат
• очікування від аплікації
• модель тестування
• багатопоточність
17. POSTGRESQL
• скрипт для динамічного
генерування запитів
• модель поведінки
користувача
Тест навантаження
• сценарій обміну даними
• зміна здійснення запитів до
бази з кількох до одного
• розмежування read та write
replica
• впровадження ElastiCache
Проведені оптимізації
• Aurora DB – ACU
• DB query
• Тест навантаження
Моніторинг під час
розвитку проекту
18. ЗАКЛЮЧЕННЯ
Переваги тестування у хмарі
• інтегровані служби AWS
• відтворення умов як на проді
• нові задачі для automation QA
• швидке розгортання
• EC2 spot інстанси
• тісна співпраця з командою