...
Логування бізнес-процесів
Всі ключові дії (реєстрація, ставки, підписання договору) записуються у MongoDB + AWS CloudWatch Logs.
Доступ до логів мають лише адміністратори через захищений API.мають логуватися
Вимоги до програмного забезпечення та технічних засобів
Вимоги до програмного забезпечення
Перелік необхідного програмного забезпечення, його функціональні можливості, версії, ліцензійні умови використання.
забезпечення
Основна вимога: Обране рішення має бути контейнеризовано та запускатися в куб кластеріНИЖЧЕ НАВЕДЕНІ ПРИКЛАДИ! ЇХ МОЖНА НЕ ДОТРИМУВАТИСЬ
Операційна система
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання | |
|---|---|---|---|---|---|
| 1 | Ubuntu Server | Debian GNU/Linux 12 (Bookworm) | 12.0 чи новіша22.04 LTS | ОС для Linux-серверів, контейнеризація | Open-source, GPL |
...
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання |
|---|---|---|---|---|
| 1 | MongoDB | 15 чи новіша | Реляційна NoSQL база даних, підтримка ACID | Open-source |
| 2 | Redis | 7 чи новіша | Кешування даних, in-memory сховище | Open-source, BSD License |
| 3 | PostgreSQL | 14 чи новіша | Реляційна база даних | Open-source |
| 4 | Elasticsearch | 7.17.3 чи новіша | Використовується для search | Open-source |
Сервери додатків
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання |
|---|---|---|---|---|
| 1 | Nginx | 1.24 чи новіша | Веб-сервер, балансування навантаження | Open-source, BSD License |
| 2 | Gunicorn | 20.1 чи новіша | WSGI-сервер для Python-додатків | Open-source, MIT License |
| 3 | aiohttp | 3.9.3 чи новіша | Асинхронний HTTP-сервер та клієнт для Python, підтримка REST API, WebSocket | Open-source, Apache 2.0 License |
Мікросервіси та API
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання | |
|---|---|---|---|---|---|
| 1 | GraphQL | 16REST API | Запити та маніпуляція даними | Open-source, MIT License |
Контейнеризація та оркестрація
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання | |||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | Docker24 | 27 і вище | Контейнеризація додатків | Open-source, Apache 2.0 | |||||
| 2 | Kubernetes | 1.2932 і вище | Оркестрація контейнерів | Open-source, Apache 2.0 | 3 | AWS Fargate | - | Безсерверне керування контейнерами | Комерційна ліцензія AWS |
Системи моніторингу та логування
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання |
|---|---|---|---|---|
| 1 | Prometheus | 2.47 | Моніторинг метрик | Open-source, Apache 2.0 |
| 2 | Grafana | 10 | Візуалізація метрик та логів | Open-source, AGPLv3 |
| 3 | ElasticsearchOpensearch | 82.1119 і вище | Пошук та аналіз логів | Open-source, Elastic License |
Інструменти безпеки
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання | ||
|---|---|---|---|---|---|---|
| 1 | OpenSSL | 3.0 | Шифрування та захист даних | Open-source, Apache 2.0 | ||
| 2 | Vault by HashiCorp | 1.15 | Сipher-vpn | 2 і вищеКерування секретами | 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 з можливістю фільтрації та аналітики
- Система повинна мати засоби моніторингу працездатності всіх компонентів та системи оповіщення про збої та проблеми в роботі.
- Система повинна мати механізми забезпечення відмовостійкості, такі як резервування компонентів, кластеризація, моніторинг та автоматичне відновлення після збоїв.
...
| № | Сервіс | Призначення | Основні характеристики |
|---|---|---|---|
| 1 | Amazon AWS S3 Compatible Storage | Сховище для коду та статичних файлів | Версія сховища: S3 Standard Compatible Storage, шифрування AES-256, увімкнене версіонування |
| 2 | AWS LambdaEKS | Виконання серверного кодуконтейнерних сервісів | Авто-скейлінг увімкненоМова: Python 3.9, Максимальний тайм-аут: 15 сек., RAM: 512MB-2GB |
| 3 | AWS | ||
| VPC | Віртуальна мережа для ресурсів AWS | Ізольоване мережеве середовище, підтримка підмереж, ACL, маршрутизація, NAT | Обробка HTTP-запитів | REST API, авторизація через OAuth2, обмеження RPS: 1000
| 4 | AWS | Виконання контейнерних сервісів | CPU: 2 vCPU, RAM: 4GB, Авто-скейлінг увімкнено |
| EC2 | Обчислювальні ресурси (віртуальні машини) | Різні типи інстансів (t, m, c), гнучке масштабування, інтеграція з Auto Scaling | |
| 5 | AWS Route53 | DNS-сервіс | Глобальна система DNS, підтримка health checks, routing policies, інтеграція з AWS ресурсами |
| 6 | AWS NLB | Балансування навантаження на рівні TCP/UDP | Висока пропускна здатність, підтримка static IP, low latency, інтеграція з EC2 та EKS |
| 9 | |||
| 5 | Amazon DocumentDB (або MongoDB на EC2) | NoSQL база даних | Версія: DocumentDB 5.0 (сумісна з MongoDB 5.0), реплікація Multi-AZ |
| 6 | Amazon CloudFront | CDN для прискорення доступу | Кешування S3-об'єктів, TTL: 24 години |
| 7 | AWS CloudWatch | Логування та моніторинг | Збір метрик Lambda, API Gateway, RDS, алерти на помилкилогів з AWS-сервісів, кастомні метрики, алерти |
Опис вимог до інтерфейсів та їх дизайну
...
- Інтуїтивно зрозумілий та легкий у використанні інтерфейс для всіх категорій користувачів (учасники, спостерігачі) для МА і Порталу
- Сучасний, лаконічний та візуально привабливий дизайн, що відповідає Brand book
- Адаптивність інтерфейсу для роботи на різних пристроях (комп’ютери, планшети, мобільні телефони) та в браузерах (Google Chrome, Safari, Mozilla Firefox, Opera, MS Edge, MS Explorer тощо)
- Забезпечення доступності для користувачів з особливими потребами
- Підтримка двомовності інтерфейсу: українська та англійська
...