...
Розробник або адміністратор вносить зміни в код Terraform або Helm.
Зміни комітяться у GitLab-репозиторій.
GitLab CI/CD автоматично запускає пайплайн, що:
перевіряє синтаксис конфігурацій,
виконує dry-run (імітаційний запуск),
застосовує зміни в обраній інфраструктурі.
Успішне виконання пайплайну призводить до оновлення реального середовища (наприклад, Dev або Prod).
3. Фізична архітектура
Інфраструктура системи реалізована на основі двох незалежних кластерів Kubernetes, розгорнутих у хмарному середовищі AWS (Europe, Ірландія) в різних дата-центрах для забезпечення відмовостійкості, георезервування та безперервності бізнес-процесів.
Структура кластерів:
Кластер №1 — ЦБД (Центральна база даних)
Розташування: дата-центр
eu-west-1bПризначення: основний кластер, в якому безпосередньо розгортається Центральна база даних (ЦБД), її компоненти та вся прикладна логіка.
Характеристики: забезпечує стабільну роботу ключових сервісів, включаючи бази даних, API, бекенд-логіку тощо.
Кластер №2 — Система автоматизації та CI/CD
Розташування: дата-центр
eu-west-1cПризначення: обслуговує адміністративні процеси, включаючи деплоймент, оновлення інфраструктури, CI/CD-процеси, моніторинг та логування.
Основний сервіс: GitLab, який відповідає за реалізацію автоматичних пайплайнів, перевірку коду, розгортання застосунків через Helm/Terraform.
4. Взаємодія компонентів
Комунікація між кластерами
Для забезпечення безпечного та ефективного обміну командами та даними між двома кластерами (наприклад, під час оновлення компонентів або запуску автоматизованих сценаріїв), використовується:
...
мінімізує затримки при обміні даними;
гарантує високий рівень безпеки (ізоляція трафіку в межах AWS);
забезпечує масштабованість і простоту інтеграції нових сервісів.
4. Взаємодія компонентів
Всі сервіси обмінюються даними через захищений API (REST).
Використовується шифрування трафіку через TLS 1.3.
Приклад взаємодії:
...
.
...
Дані перевіряються
...
Якщо все гаразд – користувач отримує доступ до аукціону.
...
Всі події логуються в централізовану систему моніторингу.
5. Вимоги до продуктивності та масштабованості
Час обробки запиту – не більше 500 мс.
Кількість одночасних користувачів – до 100 10 000.
Горизонтальне масштабування дозволяє автоматично додавати нові сервери.