...
Вимоги до програмного забезпечення та технічних засобів
Вимоги до програмного забезпечення
Перелік необхідного програмного забезпечення, його функціональні можливості, версії, ліцензійні умови використання.
забезпечення
Основна вимога: Обране рішення має Має бути контейнеризовано та запускатися в куб кластері
Операційна система
| № | Найменування | Версія | Функціональні можливості | Ліцензійні умови використання |
|---|---|---|---|---|
| 1 | Debian GNU/Linux 12 (Bookworm) | 12.0 чи новіша | ОС для Linux-серверів, контейнеризація | Open-source, GPL |
...
Програмний продукт повинен забезпечувати можливість інтеграції з зовнішніми системами через стандартизований протокол 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 хвилин неактивності (конфігуровано)
- Використання хешування паролів
- Регулярне створення резервних копій даних із шифруванням та зберіганням у захищеному середовищі
- Регулярне оновлення компонентів для усунення вразливостей
- Використання WAF (Web Application Firewall) для моніторингу та блокування підозрілих запитів
- Документування всіх інцидентів безпеки та їх аналіз для запобігання повторенню
...
- Архітектура повинна підтримувати горизонтальне масштабування через балансувальник навантаження (наприклад, Nginx, AWS Application Network Load Balancer)
- Використання контейнеризації (Docker) та можливість розгортання у кластерному середовищі (Kubernetes, AWS FargateEKS)
- Динамічне додавання нових екземплярів серверів при підвищеному навантаженні (авто-скейлінг через Kubernetes HPA або AWS Auto Scaling)
- Використання кешування запитів до бази даних (Redis) для зниження навантаження на основний серверВикористання 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 тощо)
- Забезпечення доступності для користувачів з особливими потребами
- Підтримка двомовності інтерфейсу: українська та англійська
...