Концептуальная модель предметной области#

@startuml

class "Adapter" as ada{
Kubernetes API Extention server
}

class "Controller" as ctr{
Kubernetes API Extention server
}

class "Kube API server" as api{
}

abstract "kind: ScaledObject" as so{
  Информация о цели для автоскейлинга

  Информация об условии для автоскейлинга
}

abstract "kind: ProjectCapacityPolicy" as pcp{
Информация о стратегиях для автоскейлинга
}

ada -> ctr: 1
ctr .right.> pcp: 2
ctr .right.> so: 2
pcp .right. so: 2
so ..> api: 2
api --> ada: 3

@enduml

1 - запрос необходимого числа реплик

2 - обработка пользовательских политик для настройки автоматического горизонтального масштабирования

3 - запрос внешней метрики для проведения горизонтального масштабирования

Схема. Концептуальная модель предметной области AUSC

@startuml

class "Calculator" as clc{
}

class "S3"{
}

class "Prometheus" as prs{
}

class "pvv"{
}

class "scheduler" as sc{
}

clc --> prs: запрос фактических метрик 
clc -> prs: запись прогнозных метрик
clc --> S3: 1
pvv -right> sc: 2
sc -right> S3: 3 

@enduml

1 - периодическая фиксация резервной копии расчета (раз в N-й расчет), с сохранением информации о том, что данная реплика считает ее конфиг

2 - REST-запрос от пользовательского интерфейса Grafana к scheduler для выполнения операций управления расчетами

3 - scheduler анализирует метаданные каждого калькулятора и определяет, какие расчеты они обрабатывают, после чего принимает решение о направлении запроса на соответствующую реплику для выполнения операций изменения/удаления/добавления расчета

Схема. Концептуальная модель предметной области PREM

@startuml

class "Frontend" as frd{
}

class "Backend" as bnd{
}

class "Sytester" as str{
}

frd -> bnd: запрос к бэкенду
bnd -> str: запрос к серивису нагрузочного тестирования

@enduml

Схема. Концептуальная модель предметной области WLDT