Які вимоги до сервера для розміщення ConnectiveOne?
Специфікація вимог до сервера описує технічні вимоги до інфраструктури для розгортання платформи ConnectiveOne. Вимоги залежать від обраної архітектури та очікуваного навантаження.
Коли знадобиться
- Потрібно підготувати інфраструктуру для розгортання ConnectiveOne.
- Треба визначити необхідні серверні потужності.
- Потрібно обрати архітектуру розгортання (монолітна, розподілена, хмарна).
- Треба перевірити відповідність існуючої інфраструктури вимогам.
Що важливо знати
- Архітектура — платформа може бути розгорнута на різних типах інфраструктури.
- Масштабованість — вимоги залежать від кількості користувачів, обсягу повідомлень та інтеграцій.
- Гнучкість — можна використовувати монолітну, розподілену або хмарну архітектуру.
- Рекомендується консультація з технічною підтримкою для визначення оптимальних параметрів.
Перед початком
Загальний підхід
Платформа ConnectiveOne являє собою сервіси, які взаємодіють між собою. Самі сервіси обгорнуті в докери та можуть поставлятися як ізольовані контейнери або нативні сервіси якщо це необхідно.
Архітектурою передбачено розгортання платформи на:
- Bare metal — фізичні сервери
- Cloud (AWS переважно) — хмарна інфраструктура
- Інші dedicated сервери — виділені сервери
- Віртуалізація — віртуальні машини
Архітектурні варіанти
Архітектурно може являти собою:
- Монолітний сервер — всі сервіси на одному сервері
- Роздроблені сервіси — декілька серверів для різних сервісів
- Мікросервіси в хмарній інфраструктурі — розподілена архітектура
Платформу можна оркеструвати з допомогою відомих інструментів (Kubernetes, Docker Swarm) або самописних систем керування.
Пропускна здатність
Пропускна здатність навантаження платформи ConnectiveOne не має обмежень на рівні функціоналу або інфраструктури. Один із умовних лімітів є ліміт на рівні месенджерів (Telegram, Viber, WhatsApp тощо).
Рекомендовані потужності закладені з врахуванням додаткових інтеграцій або взаємодій з іншими модулями/сервісами.
Серверні потужності
Монолітна архітектура на одному сервері
Мінімальні вимоги:
- CPU: 4 ядра
- RAM: 8 GB
- Диск: 100 GB SSD
- Мережа: 100 Mbps
Рекомендовані вимоги:
- CPU: 8+ ядер
- RAM: 16+ GB
- Диск: 500+ GB SSD
- Мережа: 1 Gbps
Для високого навантаження:
- CPU: 16+ ядер
- RAM: 32+ GB
- Диск: 1 TB+ SSD
- Мережа: 10 Gbps
⚠️ Важливо: Конкретні вимоги залежать від кількості користувачів, обсягу повідомлень та інтеграцій. Рекомендується консультація з технічною підтримкою для визначення оптимальних параметрів.
Варіанти інфраструктури
Монолітна схема (приклад реалізації)
Всі сервіси розгорнуті на одному сервері:
- База даних
- Backend сервіси
- Frontend
- Redis
- Інші залежності
Переваги:
- Простота розгортання
- Менші витрати на інфраструктуру
- Легше управління
Недоліки:
- Обмежена масштабованість
- Єдина точка відмови
Розподілена схема (приклад реалізації)
Сервіси розподілені між кількома серверами:
- Окремий сервер для бази даних
- Окремий сервер для backend
- Окремий сервер для Redis
- Load balancer
Переваги:
- Краща масштабованість
- Вища доступність
- Можливість масштабування окремих компонентів
Недоліки:
- Складніше управління
- Вищі витрати на інфраструктуру
Cloud AWS схема (приклад реалізації)
Розгортання в хмарній інфраструктурі AWS:
- RDS для бази даних
- EC2 для сервісів
- ElastiCache для Redis
- CloudFront для CDN
- Load Balancer
Переваги:
- Автоматичне масштабування
- Висока доступність
- Гнучкість в управлінні ресурсами
Недоліки:
- Вищі витрати при високому навантаженні
- Залежність від провайдера
Програмне забезпечення
Необхідне ПЗ
- Docker — для контейнеризації сервісів
- Docker Compose — для оркестрації (опціонально)
- Node.js — для backend сервісів
- PostgreSQL — база даних
- Redis — кешування та черги
- Nginx — веб-сервер та reverse proxy (опціонально)
Мережеві вимоги
- Відкриті порти для HTTP/HTTPS (80, 443)
- Доступ до зовнішніх API (месенджери, інтеграції)
- Можливість налаштування firewall правил
- SSL/TLS сертифікати для HTTPS
Безпека
- Регулярні оновлення безпеки
- Налаштування firewall
- SSL/TLS шифрування
- Резервне копіювання даних
- Моніторинг та логування
Обмеження
- Конкретні вимоги залежать від навантаження
- Необхідна консультація з технічною підтримкою
- Можливі додаткові вимоги для специфічних інтеграцій
Що відбувається після
Після перевірки вимог та підготовки інфраструктури можна розпочати розгортання ConnectiveOne. Рекомендується консультація з технічною підтримкою для визначення оптимальної конфігурації.
Як переконатися, що все вдалось
- Перевірте, що сервер відповідає мінімальним вимогам.
- Переконайтеся, що всі необхідні компоненти ПЗ встановлені.
- Перевірте мережеві налаштування та доступ до зовнішніх API.
- Протестуйте розгортання на тестовому середовищі.