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

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

...

НайменуванняВерсіяФункціональні можливостіЛіцензійні умови використання
1Docker2427 і вищеКонтейнеризація додатківOpen-source, Apache 2.0
2Kubernetes1.2932 і вищеОркестрація контейнерівOpen-source, Apache 2.0
3AWS 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 тощо)
    • Забезпечення доступності для користувачів з особливими потребами
    • Підтримка двомовності інтерфейсу: українська та англійська

...