Технологічний стек Платформи
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Загальний опис
На даній високорівневій структурній діаграмі зображено ключові технології та їх застосування в реалізації функціональних та нефункціональних вимог Платформою Реєстрів.
2. Мови програмування
Мова | Версія | Ліцензія | Опис |
---|---|---|---|
11.x |
Об’єктно орієнтована мова програмування |
||
3.0.6 |
Об’єктно орієнтована динамічна мова програмування, що працює в середовищі JRE |
||
1.19 |
Go мова программування розроблена компанією Google |
||
3.X |
Мова програмування |
||
V8 |
Мова програмування для розробки веб-застосунків |
||
4.5.5 |
Мова програмування, представлена Microsoft восени 2012; позиціонується як засіб розробки веб-застосунків, що розширює можливості JavaScript |
3. Фреймворки клієнтських додатків
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
3.2.45 |
JavaScript бібліотека для створення інтерфейсів користувача при розробці односторінкових застосунків |
||
5.0.1 |
JavaScript бібліотека для створення інтерфейсів користувача, яка покликана вирішувати проблеми часткового оновлення вмісту веб-сторінки, з якими стикаються в розробці односторінкових застосунків |
||
4.1.2 |
JavaScript бібліотека призначена для управління станом програм JavaScript |
||
4.11.4 |
Бібліотека UI компонентів яка реалізує систему material design. Більшість компонентів для вводу користувацьких даних основані на компонентах цієї бібліотеки. |
4. Фреймворки серверних додатків
Технологія |
Версія |
Ліцензія |
Опис |
5.3.13 |
Java універсальний фреймворк для побудови серверних додатків |
||
2.6.1 |
Розширення до Spring Framework для спрощення побудови аплікацій на базі Spring завдяки автоматичній конфігурації та наявності spring boot стартерів |
||
2021.0.0 |
Фреймворк для реалізації типових патернів побудови надійних розподілених систем |
||
1.7.2 |
Go фреймворк для побудови серверних додатків |
||
16.18.1 |
Платформа для виконання високопродуктивних мережевих застосунків, написаних мовою JavaScript |
5. Засоби скриптування
Технологія |
Версія |
Ліцензія |
Опис |
4.2 |
Сучасна командна оболонка середовища GNU/Linux. |
6. Сховища даних
6.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
14.5.0 |
Об’єктно реляційна система керування базами даних |
||
6.0.8 |
Розподілене сховище пар ключ-значення, які зберігаються в оперативній пам’яті |
||
6.2.0-152 |
Розподілена файлова система |
||
4.0.2 |
Розширення для інтеграції об’єктного сховища з OpenShift, що дозволяє підключатися до сховищ з різних хмарних провайдерів, та забезпечує простий доступ до даних з різноманітних джерел. |
6.2. Розширення
Розширення | Версія | Ліцензія | Опис |
---|---|---|---|
6.2.6 |
High availability рішення для Redis |
||
4.3.1 |
Менеджер пула підключень над PostgreSQL, що також дозволяе організувати реплікацію даних, load balancing, кешування даних |
||
6.18 |
Веб-застосунок розробки баз даних |
6.3. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
5.1.1 |
PostgresOperator для забезпечення менеджменту PostgreSQL кластеру |
||
1.1.1 |
Оператор для налаштування Redis / Redis Sentinel |
6.4. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
4.10.7 |
Оператор для налаштування файлової підсистеми OKD |
||
4.9.8-2 |
Operator для розгортання та менеджменту Ceph сховища в Kubernetes |
7. Управління інфраструктурою
7.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
>=1.0 |
Розгортання інфраструктури для платформенних компонентів |
8. Управління контейнерами
8.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
1.24 |
Технологія управління контейнерами, яка надає високорівневий API для взаємодії |
||
1.24 |
Платформа оркестрації контейнерів |
||
4.11 |
Платформа для побудови, розгортання та управління контейнерами на базі Kubernetes |
||
3 |
Пакетний менеджер для Kubernetes |
9. Автоматизація розгортання Платформи, реєстрів та регламенту
9.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
2.303.3 |
Сервер для організації процесів Безперервної Інтеграції та Розгортання (CI/CD) |
||
3.3.2 |
Інструмент проведення перевірки та інтеграції коду |
||
3.30.0 |
Репозиторій для збереження 3rd party та власних артефактів |
9.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
2.10 |
Оператор для автоматизованого налаштування Git Server |
||
2.10 |
Оператор для автоматизованого налаштування Gerrit |
||
2.10 |
Оператор для автоматизованого налаштування Jenkins |
||
2.10 |
Оператор для автоматизованого налаштування Nexus |
10. Управління користувачами та доступом
10.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
20.0.3 |
Система для управління користувачами та їх доступом, автентифікації, інтеграції з зовнішніми Identity провайдерами |
10.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
2.10 |
Оператор для автоматизованого налаштування Keycloak |
||
0.0.19 |
Operator для синхронізації груп користувачів між Keycloak та OKD |
11. Управління зовнішнім трафіком
11.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
3.0.1 |
Рішення для управлінням доступом до внутрішніх ресурсів. Окрім основного функціоналу платформою також використовуються наступні розширенн:
|
11.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
2.7.0 |
Оператор для налаштування Kong |
12. Веб-сервер
12.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
1.22.1 |
Рішення для постачання статичного контенту по запиту |
||
2.2.24 |
Рішення для балансування навантаження та забезпечення високої доступності |
13. Управління міжсервісною взаємодією
13.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
1.18.0 |
Рішення для організації надійного транспорту між сервісами, розгорнутими на платформі оркестрації контейнерів |
13.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
1.18.0 |
Оператор для налаштування Istio |
14. Брокери повідомлень
14.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
3.0.0 |
Платформа розподілених потокових трансляцій із відкритим кодом |
||
6.1.1 |
Реєстр (сховище та пошук) для опису структур даних kafka messages (Avro schema, JSON schema, Protobuf schema) |
14.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
0.28 |
Kafka operator для розгортування та менеджменту Kafla cluster |
15. Сховище секретів
15.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
1.9.7 |
Система управління секретами |
15.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
0.7.0 |
Оператор для забезпечення інтеграції Hashicorp Vault з Kubernetes Secrets |
||
1.0.25 |
Оператор для спостереження за змінами в ConfigMaps та Secrets та їх оновлення на подах компонентів реєстру |
||
1.6.3 |
Керує сертифікатами та видавцями сертифікатів як типами ресурсів у кластерах Kubernetes та OKD, спрощує процес отримання, поновлення та використання сертифікатів |
16. Управління бізнес-процесами
16.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
7.16.0 |
Рішення для автоматизованого розгортання та виконання бізнес-процесів описаних у BPMN нотації та DMN бізнес-правил |
16.2. Бібліотеки
Бібліотека | Версія | Ліцензія | Опис |
---|---|---|---|
10.0.0 |
JavaScript бібліотека для створення інструментів візуального моделювання бізнес-процесів згідно BPMN нотації |
17. Управління UI-формами
17.1. Бібліотеки
Бібліотека | Версія | Ліцензія | Опис |
---|---|---|---|
4.13.12 |
JavaScript бібліотека для створення інструментів моделювання користувацьких форм використовуючи Drag&Drop підхід з можливостями попереднього перегляду |
18. Управління гео-даними
18.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
2.21.0 |
Сервер, що дозволяє проводиті менеджмент та розповсюдження гео даних |
18.2. Розширення
Розширення | Версія | Ліцензія | Опис |
---|---|---|---|
3.2.1 |
Geo розширення до PostgreSQL бази даних |
18.3. Бібліотеки
Бібліотека | Версія | Ліцензія | Опис |
---|---|---|---|
1.8.0 |
UI Javascript Бібліотека для побудови mobile-friendly інтерактивних карт |
19. Звітність та візуалізація даних
19.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
10.1.0 |
Рішення для моделювання та візуалізації звітів на базі реляційних та нереляційних сховищ |
20. Робота з ЕЦП (UA)
20.1. Бібліотеки
Бібліотека | Версія | Ліцензія | Опис |
---|---|---|---|
1.3.236 |
Commercial license |
ІІТ Java бібліотека підпису |
|
20220527 |
Commercial license |
ІІТ JavaScript бібліотека електронного підпису. Використовується для інтеграції з віджетом підпису. |
21. Інтернаціоналізація
21.1. Бібліотеки
Бібліотека | Версія | Ліцензія | Опис |
---|---|---|---|
20.6.0 |
UI Javascript Фреймворк для інтернаціоналізації. Використовується разом з react.i18next. |
22. Управління еволюцією бази даних
22.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
4.3 |
Інструмент для інкрементального управління структурою БД та даними |
23. Обмін поштовими повідомленнями
23.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
1.8 |
? |
Пакет ПЗ для відправки та отримання поштових повідомлень |
|
? |
? |
Поштовий SMAP-агент |
|
? |
? |
Високопродуктивний IMAP / POP3 поштовий сервер |
|
? |
? |
Поштовий IMAP-клієнт з веб-інтерфейсом |
|
? |
? |
Пакет проти-вірусного ПЗ для виявлення троянів, вірусів, шкідливих програм та інших зловмисних загроз |
|
? |
? |
ПЗ для виявлення та фільтрації поштового спаму |
24. Перевірка якості регламенту
24.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
2.27.2 |
Інструмент для задання тестовоє поведінки RestAPI сервісів |
||
7.3.0 |
Інструмент для побудови Behavior-Driven Development (BDD) тестів |
||
4.4.0 |
Інструмент для побудови UI WebBrowser UI тестів з використанням вебдрайверів |
24.2. Бібліотеки
Бібліотека | Версія | Ліцензія | Опис |
---|---|---|---|
5.6.2,5.8.2 |
Java бібліотека для написання Unit тестів |
||
5.1.1 |
Бібліотека для завдання валідації відповідей від Rest API сервісів використовуючи специфічну мову DSL |
25. Моніторинг подій
25.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
1.67.0 |
UI застосунок для Istio Service Mesh |
||
1.39.0 |
Система для забезпечення розподіленого трейсингу сервісів платформи |
||
7.4.5 |
Перегляд та аналіз метрик системи, налаштування нотифакацій по метрикам |
||
2.24.0 |
Timeseries база данних для збереження метрик платформи та query engine по цим даним |
25.2. Розширення
Розширення | Версія | Ліцензія | Опис |
---|---|---|---|
Надбудова над Prometheus, що забезпечує необмежений розмір сховища для метрик та high-availability для декількох Prometheus instances |
25.3. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
4.11.0 |
Оператор для налаштування підсистеми моніторингу OKD |
||
1.24.0 |
Оператор для налаштування Jaeger |
||
1.25.0 |
Оператор для налаштування Kiali |
||
4.11.0 |
Оператор для налаштування Prometheus |
26. Журналювання подій
26.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
7.16.2 |
Пошуковий сервер що надає розподіленийбповнотекстовий пошуковий рушій з HTTP веб-інтерфейсом і підтримкою безсхемних JSON документів. Виступає в ролі сховища та пошукового сервісу для логів |
||
4.11 |
Система для візуалізації даних з Elasticsearch |
||
Платформа для збереження даних логування. Відповідає за збір та зберігання логів в Elasticsearch |
26.2. Оператори
Оператор | Версія | Ліцензія | Опис |
---|---|---|---|
5.5.4 |
Оператор для налаштування підсистеми журналювання OKD |
27. Резервне копіювання та відновлення
27.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
RELEASE.2021-04-06T23-11-00Z |
S3 сумісний сервіс збереження об’єктів |
||
2.14.7 |
Надає інструменти для резервного копіювання та відновлення ресурсів кластера Kubernetes та постійних томів сховища |
||
2.38 |
Рішення для забезпечення backup/restore баз даних PostgreSQL |
28. Документація
28.1. Технології
Технологія | Версія | Ліцензія | Опис |
---|---|---|---|
3.1.1 |
Генератор документації з asciidoc в html5 використовуючи Asciidoctor |