Versions Compared

Key

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

...

Логування бізнес-процесів

  • Всі ключові дії (реєстрація, ставки, підписання договору) записуються у MongoDB + AWS CloudWatch Logs.

  • Доступ до логів мають лише адміністратори через захищений API.
  • мають логуватися

Вимоги до програмного забезпечення та технічних засобів

Вимоги до програмного забезпечення

Перелік необхідного програмного забезпечення, його функціональні можливості, версії, ліцензійні умови використання.

забезпечення 

Основна вимога: Обране рішення має бути контейнеризовано та запускатися в куб кластеріНИЖЧЕ НАВЕДЕНІ ПРИКЛАДИ! ЇХ МОЖНА НЕ ДОТРИМУВАТИСЬ

Операційна система

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1Ubuntu ServerDebian GNU/Linux 12 (Bookworm)12.0 чи новіша22.04 LTSОС для Linux-серверів, контейнеризаціяOpen-source, GPL

...

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1MongoDB15 чи новішаРеляційна NoSQL база даних, підтримка ACIDOpen-source
2Redis7 чи новішаКешування даних, in-memory сховищеOpen-source, BSD License
3PostgreSQL14 чи новішаРеляційна база данихOpen-source
4Elasticsearch7.17.3 чи новішаВикористовується для searchOpen-source

Сервери додатків

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1Nginx1.24 чи новішаВеб-сервер, балансування навантаженняOpen-source, BSD License
2Gunicorn20.1 чи новішаWSGI-сервер для Python-додатківOpen-source, MIT License
3

aiohttp

3.9.3 чи новішаАсинхронний HTTP-сервер та клієнт для Python, підтримка REST API, WebSocket Open-source, Apache 2.0 License

Мікросервіси та API

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1GraphQL16REST API
Запити та маніпуляція данимиOpen-source, MIT License

Контейнеризація та оркестрація

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1Docker2427 і вищеКонтейнеризація додатківOpen-source, Apache 2.0
2Kubernetes1.2932 і вищеОркестрація контейнерівOpen-source, Apache 2.03AWS Fargate-Безсерверне керування контейнерамиКомерційна ліцензія AWS

Системи моніторингу та логування

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1Prometheus2.47Моніторинг метрикOpen-source, Apache 2.0
2Grafana10Візуалізація метрик та логівOpen-source, AGPLv3
3ElasticsearchOpensearch82.1119 і вищеПошук та аналіз логівOpen-source, Elastic License

Інструменти безпеки

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1OpenSSL3.0Шифрування та захист данихOpen-source, Apache 2.0
2Vault by HashiCorp1.15Сipher-vpn2 і вищеКерування секретами
Open-source, MPL 2.0

Вимоги до інтеграції з іншими системами та програмними продуктами (інтероперабельність).

...

  • Програмний продукт повинен забезпечувати можливість інтеграції з зовнішніми системами через стандартизований протокол REST API

  • Усі інтеграційні запити та відповіді повинні передаватися у форматах JSON або XML відповідно до специфікацій суміжних систем

  • .
  • Підтримка роботи з чергами повідомлень (RabbitMQ, Apache Kafka) для асинхронної обробки запитів.

  • Використання OAuth 2.0 / OpenID Connect для автентифікації та авторизації між сервісами.

  • Реалізація механізмів збереження збоїв інтеграції (retry logic, circuit breaker).

Інтеграція з базами даних та сховищами

  • Підтримка реплікації та обміну даними з MongoDB.

  • Інтеграція з Elasticsearch для розширеного пошуку та аналітики.

  • Використання

  • Amazon
  • S3 Compatible Storage для зберігання файлів.

Взаємодія з державними та сторонніми сервісами

...

Логування та моніторинг інтеграцій

  • Використання Prometheus та Grafana для моніторингу API-запитів.

  • Збереження логів інтеграцій в

  • Elasticsearch
  • Opensearch із подальшою аналітикою через

  • Kibana.
  • OpenSearch Dashboards

  • Налаштування алертів у разі збою інтеграційних процесів (наприклад, через Zabbix, Grafana Alerts, AWS CloudWatch).

Вимоги до продуктивності інтеграції

  • Час відповіді серверної частини (backend) на запити користувачів не повинен перевищувати 200 мс у 95% запитів (P95)
  • Пропускна здатність API повинна забезпечувати обробку не менше 5000 запитів на хвилину без деградації продуктивності

Вимоги до безпеки програмного забезпечення (захист від несанкціонованого доступу, захист даних)

  • Усі дії користувачів повинні логуватися та зберігатися у захищеному середовищі (наприклад, у Elasticsearch) із OpenSearch із прив’язкою до ID користувача та обʼєкта та часової мітки
  • Реалізація механізмів виявлення та запобігання вторгненням (IDS/IPS)
  • Підтримка двофакторної автентифікації (2FA) для критично важливих дій користувачівадміністративної панелі (Адмінка)
  • Автоматичний вихід із системи після 15 хвилин неактивності (конфігуровано)Шифрування персональних даних у базі даних
  • Використання хешування паролів
  • Регулярне створення резервних копій даних із шифруванням та зберіганням у захищеному середовищі
  • Відповідність GDPR (для обробки персональних даних)
  • Регулярне оновлення компонентів для усунення вразливостей
  • Використання WAF (Web Application Firewall) для моніторингу та блокування підозрілих запитів
  • Документування всіх інцидентів безпеки та їх аналіз для запобігання повторенню

...

  • Архітектура повинна підтримувати горизонтальне масштабування через балансувальник навантаження (наприклад, Nginx, AWS Application Network Load Balancer)
  • Використання контейнеризації (Docker) та можливість розгортання у кластерному середовищі (Kubernetes, AWS FargateEKS)
  • Динамічне додавання нових екземплярів серверів при підвищеному навантаженні (авто-скейлінг через Kubernetes HPA або AWS Auto Scaling)Використання кешування запитів до бази даних (Redis, Memcached) для зниження навантаження на основний сервер
  • Використання Prometheus + Grafana для збору метрик та моніторингу продуктивності системи
  • Логування всіх ключових подій у Elasticsearch та Kibana з Opensearch з можливістю фільтрації та аналітики
  • Система повинна мати засоби моніторингу працездатності всіх компонентів та системи оповіщення про збої та проблеми в роботі.
  • Система повинна мати механізми забезпечення відмовостійкості, такі як резервування компонентів, кластеризація, моніторинг та автоматичне відновлення після збоїв.

...

API GatewayREST API, авторизація через OAuth2, обмеження RPS: 1000 Fargate (ECS)
СервісПризначенняОсновні характеристики
1Amazon AWS S3 Compatible StorageСховище для коду та статичних файлівВерсія сховища: S3 Standard Compatible Storage, шифрування AES-256, увімкнене версіонування
2AWS LambdaEKSВиконання серверного кодуконтейнерних сервісівАвто-скейлінг увімкненоМова: Python 3.9, Максимальний тайм-аут: 15 сек., RAM: 512MB-2GB
3AWS
VPCВіртуальна мережа для ресурсів AWSІзольоване мережеве середовище, підтримка підмереж, ACL, маршрутизація, NAT
Обробка HTTP-запитів
4AWS
Виконання контейнерних сервісівCPU: 2 vCPU, RAM: 4GB, Авто-скейлінг увімкнено
EC2Обчислювальні ресурси (віртуальні машини)Різні типи інстансів (t, m, c), гнучке масштабування, інтеграція з Auto Scaling
5AWS Route53 DNS-сервісГлобальна система DNS, підтримка health checks, routing policies, інтеграція з AWS ресурсами
6AWS NLBБалансування навантаження на рівні TCP/UDPВисока пропускна здатність, підтримка static IP, low latency, інтеграція з EC2 та EKS
9
5Amazon DocumentDB (або MongoDB на EC2)NoSQL база данихВерсія: DocumentDB 5.0 (сумісна з MongoDB 5.0), реплікація Multi-AZ
6Amazon CloudFrontCDN для прискорення доступуКешування S3-об'єктів, TTL: 24 години
7AWS CloudWatchЛогування та моніторингЗбір метрик Lambda, API Gateway, RDS, алерти на помилкилогів з AWS-сервісів, кастомні метрики, алерти


Опис вимог до інтерфейсів та їх дизайну

...

  • Інтуїтивно зрозумілий та легкий у використанні інтерфейс для всіх категорій користувачів (учасники, спостерігачі) для МА і Порталу
  • Сучасний, лаконічний та візуально привабливий дизайн, що відповідає Brand book 
    • Адаптивність інтерфейсу для роботи на різних пристроях (комп’ютери, планшети, мобільні телефони) та в браузерах (Google Chrome, Safari, Mozilla Firefox, Opera, MS Edge, MS Explorer тощо)
    • Забезпечення доступності для користувачів з особливими потребами
    • Підтримка двомовності інтерфейсу: українська та англійська

...