Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Розробник або адміністратор вносить зміни в код Terraform або Helm.

  2. Зміни комітяться у GitLab-репозиторій.

  3. GitLab CI/CD автоматично запускає пайплайн, що:

    • перевіряє синтаксис конфігурацій,

    • виконує dry-run (імітаційний запуск),

    • застосовує зміни в обраній інфраструктурі.

  4. Успішне виконання пайплайну призводить до оновлення реального середовища (наприклад, Dev або Prod).

3. Фізична архітектура

Інфраструктура системи реалізована на основі двох незалежних кластерів Kubernetes, розгорнутих у хмарному середовищі AWS (Europe, Ірландія) в різних дата-центрах для забезпечення відмовостійкості, георезервування та безперервності бізнес-процесів.

Структура кластерів:

  1. Кластер №1 — ЦБД (Центральна база даних)

    • Розташування: дата-центр eu-west-1b

    • Призначення: основний кластер, в якому безпосередньо розгортається Центральна база даних (ЦБД), її компоненти та вся прикладна логіка.

    • Характеристики: забезпечує стабільну роботу ключових сервісів, включаючи бази даних, API, бекенд-логіку тощо.

  2. Кластер №2 — Система автоматизації та CI/CD

    • Розташування: дата-центр eu-west-1c

    • Призначення: обслуговує адміністративні процеси, включаючи деплоймент, оновлення інфраструктури, CI/CD-процеси, моніторинг та логування.

    • Основний сервіс: GitLab, який відповідає за реалізацію автоматичних пайплайнів, перевірку коду, розгортання застосунків через Helm/Terraform.

4. Взаємодія компонентів

Комунікація між кластерами

Для забезпечення безпечного та ефективного обміну командами та даними між двома кластерами (наприклад, під час оновлення компонентів або запуску автоматизованих сценаріїв), використовується:

...

  • мінімізує затримки при обміні даними;

  • гарантує високий рівень безпеки (ізоляція трафіку в межах AWS);

  • забезпечує масштабованість і простоту інтеграції нових сервісів.

4. Взаємодія компонентів

  • Всі сервіси обмінюються даними через захищений API (REST).

  • Використовується шифрування трафіку через TLS 1.3.

Приклад взаємодії:

...

  • .

...

Дані перевіряються

...

Якщо все гаразд – користувач отримує доступ до аукціону.

...

Всі події логуються в централізовану систему моніторингу.

5. Вимоги до продуктивності та масштабованості

  • Час обробки запиту – не більше 500 мс.

  • Кількість одночасних користувачів – до 100 10 000.

  • Горизонтальне масштабування дозволяє автоматично додавати нові сервери.