Архитектура платформы

1. Продуктивный контур

%%{init: {'flowchart': {'defaultRenderer': 'dagre-wrapper', 'curve': 'basis'}}}%%
flowchart LR
  subgraph CUST_PROD["Системы заказчика — ПРОДУКТИВНЫЙ контур"]
    direction TB
    SAP_P[SAP]
    TEZ_P["Тезис"]
    B2B_P["B2BCenter"]
    BID_P["Bidzaar"]
    DIA_P["ЭДО Диадок"]
    AD_P["Active Directory"]
    ADFS_P["ADFS"]
    LOT_P["Lotus SMTP/IMAP"]
  end
  subgraph ZONE_APP["Сервер приложения"]
    direction TB
    APP["Контейнер приложения"]
  end
  subgraph ZONE_DB["Сервер БД"]
    direction TB
    PG[("PostgreSQL")]
  end
  subgraph ZONE_REDIS["Сервер кэширования"]
    direction TB
    RDS[(Redis)]
  end
  subgraph K8S["Kubernetes-кластер"]
    direction TB
    LB["Балансировщики x2"]
    CP["Control-plane x3"]
    WN["Worker nodes x2"]
    MAIL["Сервис синхронизации почты"]
    DEDUP["Сервис поиска и объединения дублей"]
    LB --> CP
    LB --> WN
    WN --> MAIL
    WN --> DEDUP
  end
  APP --> PG
  APP --> RDS
  APP -->|"REST"| SAP_P
  APP -->|"REST"| TEZ_P
  APP -->|"REST"| B2B_P
  APP -->|"REST"| BID_P
  APP -->|"REST"| DIA_P
  MAIL -.->|"SMTP/IMAP"| LOT_P
  APP -.->|"SSO/LDAP"| AD_P
  APP -.->|"SSO"| ADFS_P
  MAIL --> APP
  DEDUP --> APP
  classDef ext fill:#1e3a5f,stroke:#58a6ff,color:#e6edf3
  classDef srv fill:#238636,stroke:#3fb950,color:#fff
  classDef data fill:#6e40c9,stroke:#a371f7,color:#fff
  classDef k8s fill:#3d2f00,stroke:#d29922,color:#fff
  classDef host fill:#21262d,stroke:#8b949e,color:#e6edf3
  class SAP_P,TEZ_P,B2B_P,BID_P,DIA_P,AD_P,ADFS_P,LOT_P ext
  class APP,MAIL,DEDUP srv
  class PG,RDS data
  class LB,CP,WN k8s
  class ZONE_APP,ZONE_DB,ZONE_REDIS host
  

2. Препродуктивный контур

%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart LR
  subgraph VPS_PRE["VPS препрод — Docker"]
    direction TB
    APP2["Приложение"]
    PG2[("PostgreSQL")]
    RD2[(Redis)]
    MAIL2["Синхронизация почты"]
    DD2["Поиск и объединение дублей"]
    APP2 --> PG2
    APP2 --> RD2
    MAIL2 --> APP2
    DD2 --> APP2
  end
  subgraph CUST_TEST["Системы заказчика — ТЕСТОВЫЙ контур"]
    direction TB
    SAP_T[SAP TEST]
    TEZ_T["Тезис TEST"]
    B2B_T["B2BCenter TEST"]
    BID_T["Bidzaar TEST"]
    DIA_T["ЭДО Диадок TEST"]
    AD_T["Active Directory TEST"]
    ADFS_T["ADFS TEST"]
    LOT_T["Lotus SMTP/IMAP TEST"]
  end
  APP2 -->|"REST"| SAP_T
  APP2 -->|"REST"| TEZ_T
  APP2 -->|"REST"| B2B_T
  APP2 -->|"REST"| BID_T
  APP2 -->|"REST"| DIA_T
  MAIL2 -.->|"SMTP/IMAP"| LOT_T
  APP2 -.->|"SSO/LDAP"| AD_T
  APP2 -.->|"SSO"| ADFS_T
  classDef ext fill:#1e3a5f,stroke:#58a6ff,color:#e6edf3
  classDef srv fill:#238636,stroke:#3fb950,color:#fff
  classDef data fill:#6e40c9,stroke:#a371f7,color:#fff
  classDef host fill:#21262d,stroke:#8b949e,color:#e6edf3
  class SAP_T,TEZ_T,B2B_T,BID_T,DIA_T,AD_T,ADFS_T,LOT_T ext
  class APP2,MAIL2,DD2 srv
  class PG2,RD2 data
  class VPS_PRE host
  

3. Тестовый контур

%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart LR
  subgraph VPS_TEST["VPS тест — Docker"]
    direction TB
    APP3["Приложение"]
    PG3[("PostgreSQL")]
    RD3[(Redis)]
    MAIL3["Синхронизация почты"]
    DD3["Поиск и объединение дублей"]
    APP3 --> PG3
    APP3 --> RD3
    MAIL3 --> APP3
    DD3 --> APP3
  end
  subgraph CUST_TEST2["Системы заказчика — ТЕСТОВЫЙ контур"]
    direction TB
    SAP_T2[SAP TEST]
    TEZ_T2["Тезис TEST"]
    B2B_T2["B2BCenter TEST"]
    BID_T2["Bidzaar TEST"]
    DIA_T2["ЭДО Диадок TEST"]
    AD_T2["Active Directory TEST"]
    ADFS_T2["ADFS TEST"]
    LOT_T2["Lotus SMTP/IMAP TEST"]
  end
  APP3 -->|"REST"| SAP_T2
  APP3 -->|"REST"| TEZ_T2
  APP3 -->|"REST"| B2B_T2
  APP3 -->|"REST"| BID_T2
  APP3 -->|"REST"| DIA_T2
  MAIL3 -.->|"SMTP/IMAP"| LOT_T2
  APP3 -.->|"SSO/LDAP"| AD_T2
  APP3 -.->|"SSO"| ADFS_T2
  classDef ext fill:#1e3a5f,stroke:#58a6ff,color:#e6edf3
  classDef srv fill:#238636,stroke:#3fb950,color:#fff
  classDef data fill:#6e40c9,stroke:#a371f7,color:#fff
  classDef host fill:#21262d,stroke:#8b949e,color:#e6edf3
  class SAP_T2,TEZ_T2,B2B_T2,BID_T2,DIA_T2,AD_T2,ADFS_T2,LOT_T2 ext
  class APP3,MAIL3,DD3 srv
  class PG3,RD3 data
  class VPS_TEST host