Підсистема розгортання та налаштування Платформи та реєстрів
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Загальний опис
Підсистема розгортання та налаштування Платформи та реєстрів - це комплекс різноманітних інструментів і процесів, які дозволяють забезпечити ефективне та безперервне функціонування Платформи та Реєстрів відповідно до потреб користувачів Платформи.
Підсистема забезпечує такі функції як розгортання, налаштування, оновлення, зберігання компонентів та контроль версій компонентів Платформи та Реєстрів і їх конфігурацій.
Підсистема реалізована з використанням GitOps-практик, що означає стан Платформи та реєстрів зберігається в репозиторії системи контроля версій Git (Gerrit). Інші компоненти підсистеми, такі як оператори та інструменти CI/CD (Jenkins), контролюють стан Платформи та реєстрів та приводять її до тієї, що збережена в репозиторії.
2. Функції підсистеми
-
Розгортання, конфігурування та оновлення компонентів Платформи та реєстрів
-
Зберігання компонентів Платформи та Реєстрів
-
Версіонування конфігурації Платформи та Реєстрів
3. Технічний дизайн підсистеми
4. Складові підсистеми
Назва компоненти | Namespace | Deployment | Походження | Репозиторій | Призначення |
---|---|---|---|---|---|
Сервіс розгортання конфігурації |
|
|
3rd-party |
Програмний комплекс, що забезпечує автоматизацію в життєвому циклі Платформи та Реєстрів. Виконує фактичне розгортання Реєстру, конфігурування, оновлення та безліч інших автоматизованих задач в Платформі. |
|
Агент сервісу розгортання конфігурації |
|
— |
origin |
Jenkins агент, що використовується для виконання задач розгортання, налаштування та оновлення Платформи та Реєстрів. |
|
Сховище артефактів Платформи |
|
|
3rd-party |
Центральне сховище артефактів, компонентів та їх залежностей з яких складається кожна окрема підсистема та Платформа в цілому. Збереження артефактів платформи |
|
Jenkins оператор |
|
|
epam-origin |
Допоміжне програмне забезпечення, яке виконує функції розгортання, налаштування та відновлення програмного комплексу Jenkins, як компонента підсистеми. |
|
Codebase оператор |
|
|
epam-origin |
Codebase оператор - це допоміжне програмне забезпечення, яке виконує функцію реєстрації нового Реєстру як компонента Платформи та виконує первісну конфігурацію. |
|
Nexus оператор |
|
|
epam-origin |
Допоміжне програмне забезпечення, яке виконує функції розгортання, налаштування та відновлення Nexus Repository Manager, як компонента підсистеми. |
|
Компонент реєстрової конфігурації |
|
- |
epam-origin |
Helm чарт, що містить в собі необхідну реєстрову конфігурацію та скрипти для налаштування компонентів екземпляру реєстру. |
5. Технологічний стек
При проєктуванні та розробці підсистеми, були використані наступні технології:
6. Атрибути якості підсистеми
6.1. Portability
Контейнери з компонентами підсистеми можуть бути розгорнуті або перенесені на різні хмарні середовища, на власну локальну інфраструктуру або між іншими екземплярами Платформи реєстрів.
6.2. Observability
Підсистема управління Платформою та Реєстрами підтримує журналювання вхідних запитів, логування подій та збір метрик продуктивності для подальшого аналізу через веб-інтерфейси відповідних підсистем Платформи.
Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах: |
6.3. Maintainability
Підсистема розроблена з використанням підходу Gitops, що забезпечує опис конфігурації Платформи та реєстрів у вигляді коду, що спрощує підтримку та розгортання. Це також дозволяє автоматизувати процес розгортання, зменшуючи ризик людської помилки. Також, це дозволяє відстежувати зміни та забезпечує стабільність при розгортанні та технічним адміністраторам легко вносити оновлення в Платформу та реєстри, відкочовувати зміни за потреби та підтримувати історію всіх внесених змін.