适用范围:本页描述的横切关注点同时作用于基础设施层AI 中间件层模型服务层应用层,是平台整体的共性基础能力。

安全架构

平台采用四层纵深防御模型,覆盖基础设施、数据、应用与运营四大领域,确保端到端安全。

四层安全模型
基础设施安全
Infra
数据安全
Data
应用安全
App
运营安全
Ops

Infra 基础设施安全

网络隔离

  • VPC / VLAN 划分:生产环境与开发测试环境严格隔离,跨 VPC 通信通过 Peering 或 Transit Gateway
  • 安全组与网络 ACL:基于最小权限原则,仅开放必要端口;东西向流量全量审计
  • 微隔离:服务网格 (Istio) 层面实现工作负载间 mTLS 认证与细粒度授权
  • 边界防护:WAF + DDoS 高防 + NGFW,南北向流量七层检测

主机安全

  • HIDS (Host Intrusion Detection):实时监控主机进程、文件完整性、网络连接异常
  • 漏洞扫描:每 24 小时全量扫描 + 关键 CVE 即时推送,72 小时内修复 SLA
  • 基线检查:等保三级 / CIS Benchmark 自动化基线巡检,偏离自动告警
  • 主机加固:最小化安装、禁用 root SSH 密码登录、sudo 权限精细化管控

容器安全

  • 镜像扫描:Harbor + Trivy 在构建时与仓库中双重扫描,阻止高危漏洞镜像部署
  • 运行时安全:Falco 实时检测容器逃逸、反弹 shell、敏感挂载等异常行为
  • Pod 安全策略:PSP / OPA Gatekeeper 禁止特权容器、限制 hostPath 挂载与 capabilities
  • 容器网络策略:Calico NetworkPolicy 实现命名空间级微分段

密钥与证书管理

  • 密钥管理:HashiCorp Vault + Cloud KMS 集中管理数据库密码、API Key、加密密钥
  • 动态密钥:Vault Dynamic Secret 为数据库、消息队列按需签发临时凭证
  • 证书管理:cert-manager 自动签发、续期与吊销 SSL/TLS 证书,支持 ACME 与私有 CA
  • 轮换策略:密钥每 90 天自动轮换,证书自动续期前 30 天预警

Data 数据安全

数据分类分级

级别定义示例
公开无敏感信息,可完全公开模型文档、公开数据集
内部内部使用,可被内部员工访问非生产模型权重、运维指标
敏感泄露将造成中等影响用户特征数据、业务日志
绝密泄露将造成严重影响用户身份信息、支付数据、客户密钥

加密体系

  • 传输加密:TLS 1.3 全链路覆盖,所有 API 通信强制 HTTPS;服务间通信使用 mTLS
  • 存储加密:AES-256-GCM 对数据盘、对象存储 (S3/MinIO)、数据库表空间加密;KMS 托管密钥
  • 内存加密:敏感数据在内存中使用加密缓冲区,用完即清除;机密计算 (Intel SGX/TDX) 可选
  • 密钥轮换:主密钥年度轮换,数据密钥按月轮换

数据脱敏

  • 动态脱敏:数据库代理层 (如 Bytebase) 根据用户角色实时遮盖敏感字段;非授权用户查询身份证、手机号显示为 139****1234
  • 静态脱敏:离线的数据脱敏任务将生产数据清洗为测试数据;保留数据分布特征,消除可识别性
  • 脱敏算法:遮盖、替换、泛化、置乱、令牌化 (Tokenization)

DLP 与审计

  • DLP 策略:监控敏感数据的导出、下载、外发行为;匹配正则 / NLP 模式触发阻断或审批流
  • 数据访问审计:全量记录谁(用户/服务账号)、何时、通过何方式、访问了何数据
  • 操作审计:数据批量导出、模式变更、权限变更等高风险操作独立记入审计日志
  • 审计日志保存:至少 180 天,支持导出至 SIEM 进行长期保留与关联分析

App 应用安全

身份认证

  • 单点登录 (SSO):基于 OAuth 2.0 / OIDC 接入企业 IdP (Keycloak / Okta / Azure AD)
  • LDAP / AD:支持 Active Directory 和 OpenLDAP 目录服务同步用户与组织架构
  • API Key:服务调用方使用 API Key + Secret 签名认证,支持 Key 的创建、吊销与轮换
  • 多因子认证:管理员操作和敏感接口强制 MFA (TOTP / WebAuthn / SMS)

权限授权

  • RBAC:预置 admin / developer / viewer / operator 角色,支持自定义角色与权限粒度
  • ABAC:基于属性的条件授权 (如仅允许在办公网络访问生产环境)
  • ReBAC:基于关系图 (Google Zanzibar 风格) 实现资源层级授权
  • 最小权限:默认 deny,按需授权;定期权限 Review (每季度)

输入与 API 安全

  • 参数校验:服务端全量校验请求参数类型、长度、范围;拒绝畸形容负载
  • SQL 注入防护:ORM 参数化绑定 + WAF SQL 注入规则 + 数据库层防火墙
  • XSS / CSRF:输出编码 (Content-Security-Policy)、CSRF Token、SameSite Cookie
  • 限流:基于令牌桶的 API 限流,按用户 / App / IP 分级配额;超限返回 429
  • 防重放:请求携带 timestamp + nonce,服务端 5 分钟内去重
  • 请求签名:API Key + HMAC-SHA256 对请求体签名,防止篡改

模型安全

  • Prompt 注入防护:输入清洗层检测并拦截注入指令 (如 "忽略之前指令"),正则 + 语义模型双重过滤
  • 越狱检测:基于分类模型 + 敏感词库实时判断用户意图是否为越狱尝试
  • 有害内容过滤:输出侧安全检查,拦截涉政、色情、暴力、歧视等违规内容
  • 模型红队测试:定期自动化红队测试,覆盖对抗样本边界

供应链安全

  • 依赖扫描:自动扫描 Python (pip)、Node.js (npm)、Java (Maven) 等依赖库中的已知漏洞
  • SBOM:构建产物自动生成 SPDX / CycloneDX 格式的软件物料清单
  • 镜像签名:Cosign 对容器镜像进行数字签名,部署时验证签名有效性
  • 准入控制:仅允许经过签名和扫描的镜像上线,否则拦截

Ops 运营安全

安全监控 (SIEM)

  • 集中日志收集:所有安全日志汇总至 SIEM (Splunk / ELK / Wazuh)
  • 关联规则:基于 MITRE ATT&CK 框架构建检测规则,覆盖战术与技术全链路
  • 仪表盘:安全运营态势、攻击热力图、资产暴露面、漏洞趋势
  • 合规报告:自动生成等保 / ISO 27001 合规报表

威胁检测 (UEBA)

  • 用户实体行为基线:基于历史数据勾勒正常行为画像 (登录时间、API 调用模式、数据访问量)
  • 异常检测:偏离基线触发告警 (如凌晨大批量数据导出、异常地理位置登录)
  • 无监督学习:聚类算法发现隐蔽攻击模式,减少人工规则盲区
  • 告警降噪:通过 ML 模型对告警进行优先级排序,减少误报

事件响应 (SOAR)

  • 剧本编排:预置常见安全事件响应剧本 (勒索软件、数据泄露、DDoS)
  • 自动化处置:确认攻击 IP 自动添加至黑名单 / WAF 阻断;疑似失陷主机自动隔离
  • 协同作战:事件驱动工单 (Jira / ServiceNow),自动分配处置人员并跟踪闭环
  • 事件复盘:每次安全事件生成事后分析 (Postmortem),驱动改进

安全合规

  • ISO 27001:信息安全管理体系认证,覆盖 ISMS、风险评估、持续改进
  • 等保三级:国家网络安全等级保护三级要求,每年测评
  • SOC 2:服务组织控制审计,覆盖安全性 / 可用性 / 保密性 / 隐私
  • 渗透测试:每年至少一次外部渗透测试 + 每季度内部红蓝对抗
  • 安全意识培训:全员年度安全培训,研发团队专项安全开发培训

可观测性平台

基于 Metrics、Traces、Logs 三大支柱,辅以统一仪表盘与告警体系,实现全栈可观测。

可观测性三大支柱
📈 Metrics (指标)

存储:Prometheus + VictoriaMetrics (长期存储)

采集:Node Exporter / KSM / GPU Exporter / Custom Metrics (OpenTelemetry)

各层指标:

  • 基础设施:CPU / 内存 / 磁盘 / 网络 / GPU 利用率、温度、功耗
  • AI 中间件:请求 QPS、P50 / P95 / P99 延迟、队列深度、错误率
  • 模型服务:推理延迟 (TTFT / TPOT / E2E)、吞吐量 (tokens/s)、GPU 显存使用率
  • 网关:路由延迟、限流命中率、缓存命中率、后端健康度
🔗 Traces (链路)

存储:Jaeger / Tempo + Grafana Tempo

协议:OpenTelemetry (OTLP/gRPC + OTLP/HTTP)

各层采样:

  • 网关层:100% 采样(低容量);记录请求入口到后端的分发
  • AI 中间件层:自适应采样(10-100%);检索、重排序、提示词组装各阶段耗时
  • 模型推理层:按请求 ID 关联;包含预填充、解码、后处理各阶段
  • 基础设施层:网络调用、存储访问、认证过程调用链
📝 Logs (日志)

存储:Loki + S3 (长期冷存) / ELK (结构化搜索)

采集:Vector (daemonset) + Fluent Bit

各层日志:

  • 基础设施:syslog、kubelet、容器 stdout/stderr、GPU 驱动日志
  • AI 中间件:API 访问日志、用户操作日志、链路异常日志
  • 模型服务:推理请求 / 响应日志、模型加载日志、OOM 日志
  • 安全:认证日志、授权日志、敏感操作日志、DLP 事件日志

统一可视化 — Grafana

所有观测数据统一汇入 Grafana 10.x,支持多数据源 (Prometheus / Tempo / Loki / Jaeger / CloudWatch) 的关联查询与仪表盘。

关键仪表盘

GPU 集群总览

  • GPU 使用率 (按节点 / 按 Pod)
  • GPU 显存使用量与分配率
  • GPU 温度与功耗
  • GPU 故障与 XID 错误计数
  • MIG 分区状态 (如启用)

推理服务监控

  • 请求 QPS 与延迟 (P50 / P95 / P99)
  • TTFT / TPOT / E2E 延迟分解
  • 每秒输出 Token 数 (TPS)
  • Batch 大小与 KV Cache 命中率
  • 模型版本部署分布

API 网关总览

  • 各路由 / 各模型的 QPS、延迟、错误率
  • 限流触发次数与熔断状态
  • 缓存命中率与回源率
  • 上游后端健康检查状态
  • 认证 & 授权成功率

应用层仪表盘

  • 各业务线调用量趋势
  • 用户维度请求分布
  • 费用消耗趋势 (按项目 / 按模型)
  • 错误分布与 Top 错误码
  • 可用性 SLO 达成情况

SLI / SLO 定义

层级 指标 (SLI) 目标 (SLO) 测量窗口
基础设施 GPU 节点可用性 99.9% 30 天
网络延迟 (P99) < 2ms (同可用区) / < 10ms (跨可用区) 7 天
存储可用性 99.99% (对象存储) / 99.95% (块存储) 30 天
AI 中间件 网关请求成功率 ≥ 99.95% 7 天
检索延迟 (P99) < 100ms 7 天
提示词组装延迟 (P99) < 50ms 7 天
模型服务 端到端推理延迟 (P50 / P95) P50 < 1s, P95 < 5s (在线模型) 7 天
TTFT (Time to First Token, P95) < 300ms 7 天
吞吐量 (tokens/s) SLA 不低于基线值的 80% 1 天
应用层 API 可用性 99.95% 30 天
用户请求成功率 ≥ 99.9% (不含限流) 7 天
PII 数据泄露事件数 0 持续

告警体系

Alertmanager 配置

  • 告警分级:P0 (Critical) / P1 (Warning) / P2 (Info)
  • 通知渠道:Feishu 群机器人、DingTalk 群机器人、WeCom 群机器人
  • 升级机制:P0 5 分钟未确认自动升级至值班组长,15 分钟升级至负责人
  • 静默规则:计划内维护可预先静默关联告警,静默到期自动恢复

告警路由示例

route: receiver: 'feishu-critical' group_by: ['alertname', 'cluster'] group_wait: 10s group_interval: 2m repeat_interval: 30m routes: - match: severity: 'critical' receiver: 'feishu-critical' continue: true - match_re: severity: 'warning' receiver: 'feishu-warning' receivers: - name: 'feishu-critical' webhook_configs: - url: 'https://open.feishu.cn/open-apis/bot/v2/hook/xxx' send_resolved: true

Prometheus AlertRule 示例

# 文件:prometheus-rules.yaml groups: # ======== 基础设施告警 ======== - name: infra-critical rules: - alert: GPUNodeDown expr: up{job="gpu-node"} == 0 for: 2m labels: severity: critical annotations: summary: "GPU 节点 {{ $labels.instance }} 不可达" - alert: HighGPUErrorCount expr: increase(DCGM_FI_DEV_XID_ERRORS[5m]) > 10 for: 1m labels: severity: critical annotations: summary: "GPU {{ $labels.gpu }} XID 错误超过阈值" - alert: NodeDiskPressure expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) < 0.05 for: 5m labels: severity: warning annotations: summary: "节点 {{ $labels.instance }} 磁盘剩余不足 5%" # ======== AI 中间件告警 ======== - name: ai-middleware rules: - alert: HighInferenceLatency expr: histogram_quantile(0.95, sum(rate(inference_request_duration_seconds_bucket[5m])) by (le, model)) > 5 for: 3m labels: severity: warning annotations: summary: "模型 {{ $labels.model }} P95 延迟超过 5 秒" - alert: HighErrorRate expr: sum(rate(gateway_requests_total{status=~"5.."}[5m])) / sum(rate(gateway_requests_total[5m])) > 0.01 for: 2m labels: severity: critical annotations: summary: "网关错误率超过 1%" - alert: RateLimitThreshold expr: rate(gateway_rate_limit_hits_total[5m]) > 100 for: 1m labels: severity: warning annotations: summary: "限流触发频繁 ({{ $labels.user }})" # ======== 模型服务告警 ======== - name: model-serving rules: - alert: ModelOOM expr: container_memory_working_set_bytes{pod=~"model-.*"} / on(pod) kube_pod_container_resource_limits{resource="memory"} > 0.95 for: 1m labels: severity: critical annotations: summary: "模型容器 {{ $labels.pod }} 内存使用超过 95%" - alert: ModelReloadFailure expr: rate(model_reload_total{status="fail"}[10m]) > 0 for: 5m labels: severity: critical annotations: summary: "模型 {{ $labels.model_name }} 热加载失败" - alert: LowGPUUtilization expr: avg(DCGM_FI_DEV_GPU_UTIL) by (pod) < 10 for: 30m labels: severity: info annotations: summary: "Pod {{ $labels.pod }} GPU 利用率低于 10%,建议回收"

CI/CD & DevOps

平台覆盖应用交付、MLOps 和基础设施即代码三大流水线,实现从代码到生产的全自动化。

三大流水线
应用 CI/CD
微服务 & API 网关
MLOps 流水线
模型训练 → 部署
GitOps 基础设施
IaC + 策略即代码

应用 CI/CD 流水线

代码提交 构建 单元测试 代码扫描 镜像构建 镜像扫描 部署 DEV 集成测试 部署 STAGING 性能测试 安全测试 审批 部署 PROD 监控验证

各阶段说明

  • 代码提交:开发者向 feature branch 推送代码,自动触发流水线
  • 构建:多阶段 Docker 构建,利用构建缓存加速
  • 单元测试:pytest / Jest / JUnit,覆盖率阈值 80%
  • 代码扫描:SonarQube (静态分析) + Semgrep (自定义规则)
  • 镜像构建:Kaniko (无特权构建) + Cosign 签名
  • 镜像扫描:Trivy 扫描 CVE,阻止 CRITICAL 漏洞镜像推送
  • DEV 部署:自动部署至开发环境,运行 smoke test
  • 集成测试:端到端测试 + 契约测试 (Pact)
  • STAGING 部署:类生产环境,数据脱敏后测试
  • 性能测试:k6 / Locust 压测,检查吞吐与延迟是否达标
  • 安全测试:DAST (OWASP ZAP) + 依赖扫描
  • 审批:人工审批 + 变更管理 (Change Advisory Board)
  • PROD 部署:金丝雀发布 / 蓝绿部署 / 滚动更新
  • 监控验证:部署后 30 分钟自动回滚如果关键指标恶化

MLOps 流水线

数据版本化 模型训练 模型评估 模型打包 模型注册 部署 STAGING A/B 测试 审批 全量部署 监控

MLOps 关键环节

  • 数据版本化:DVC / LakeFS 管理数据集版本,数据与代码一同入 CI
  • 模型训练:Kubeflow / Ray Train 分布式训练,超参数搜索 (Hyperparameter Tuning) 自动调优
  • 模型评估:基于 holdout 测试集计算准确率 / F1 / BLEU / ROUGE 等指标;与基线模型对比
  • 模型打包:将模型权重 + tokenizer + 配置文件打包为标准 MLflow / Triton ModelStore 格式
  • 模型注册:MLflow Model Registry 管理模型版本、阶段 (Staging / Production / Archived)
  • STAGING 部署:部署至灰度环境,接入影子流量 (Shadow Traffic) 验证
  • A/B 测试:新模型 vs 基线模型在线对比,观察业务指标 (点击率 / 转化率 / 用户满意度)
  • 审批:模型卡片 (Model Card) + 评估报告提审批,需 ML 负责人 + 业务方签字
  • 全量部署:逐步放量 (10% -> 30% -> 100%),每个阶段观察 24 小时

GitOps 基础设施

IaC 代码 Git PR Plan Apply Verify

基础设施即代码

  • Terraform:管理云资源 (VPC、ECS、RDS、SLB、NAT) 及 Kubernetes 集群
  • Helm:Kubernetes 应用的包管理,Chart 版本化 + 环境差异化覆盖
  • Kustomize:环境特定的 Kubernetes 资源配置覆盖 (dev / staging / prod overlay)
  • 策略即代码:OPA / Kyverno 强制执行安全策略与合规规则

GitOps 工作流

  • 所有基础设施声明存在于 Git 仓库 (infra.git)
  • 修改通过 PR 提交,CI 自动执行 terraform plan / helm template --dry-run
  • PR 审批合并后,ArgoCD / Flux CD 自动同步至集群
  • 漂移检测:ArgoCD 每 3 分钟检测集群状态与 Git 声明是否一致,漂移自动修复
  • 回滚:通过 git revert PR 快速回滚至前一版本

环境策略

维度 DEV STAGING PROD
用途 开发自测、联调 集成验证、性能测试 生产运行
GPU 规格 共享 GPU (T4 / L4) A10G / A100 A100 / H100 / B200
副本数 1~2 (单副本) 2~4 (多副本 HA) 6~N (HA + 弹性伸缩)
数据 模拟数据 / 脱敏子集 脱敏生产数据快照 真实生产数据
监控告警 基础监控 完整监控 + 告警 完整监控 + 告警 + 升级
SSL/TLS 自签名证书 Let's Encrypt 企业 CA 证书
外部 API Mock / Sandbox 沙箱环境 生产环境
部署方式 自动部署 (merge) 自动部署 (tag) 审批+金丝雀发布
保留策略 随时重建 保留至下一版本 永久保留 + 备份

流水线 YAML 示例 (GitHub Actions)

# .github/workflows/ci-cd.yaml name: AI Platform CI/CD on: push: branches: [main, dev] pull_request: branches: [main] env: REGISTRY: harbor.platform.io IMAGE_NAME: inference-server jobs: # ---- 构建与测试 ---- build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: 单元测试 run: make test - name: 代码扫描 (SonarQube) run: make sonar-scan - name: 构建镜像 run: docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} . - name: 镜像签名 run: cosign sign --key cosign.key ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} - name: 镜像扫描 run: trivy image --severity CRITICAL --exit-code 1 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} # ---- 部署至 DEV ---- deploy-dev: needs: [build] if: github.ref == 'refs/heads/dev' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: 部署至 DEV run: helm upgrade --install --namespace dev --set image.tag=${{ github.sha }} inference-server ./chart # ---- 部署至 PROD (审批后) ---- deploy-prod: needs: [build] if: github.ref == 'refs/heads/main' environment: production runs-on: ubuntu-latest steps: - name: 金丝雀部署 10% run: helm upgrade --install --namespace prod --set canary.enabled=true,canary.weight=10 inference-server ./chart - name: 等待 30 分钟观察 run: sleep 1800 - name: 全量部署 run: helm upgrade --install --namespace prod --set canary.enabled=false inference-server ./chart

成本管理

AI 平台成本结构复杂,需建立精细化的成本计量、分摊与优化机制。

成本构成

GPU 计算 60%
外部 API 18%
存储 12%
网络 10%

GPU 计算成本

最大成本项,占平台总成本的 55-65%

  • 内部结算:按 GPU-hour 计费,不同 GPU 型号单价不同 (T4: $0.35/h, A100: $2.50/h, H100: $4.00/h)
  • 分时定价:工作日 09:00-18:00 为峰值 (单价 x1.2),18:00-09:00 及周末为谷值 (单价 x0.6)
  • 空闲资源回收:
    • Scale to Zero:无请求时自动缩容至 0,结合 Serverless GPU
    • 自动降级:低负载时自动切换至更小规格实例
    • 碎片整理:定期回收利用率低于 10% 的 GPU Pod
  • 实例混合:
    • Spot 实例 (竞价实例) 承载 Batch 推理与训练任务,成本降低 60-80%,需容忍中断
    • 预留实例 (Reserved) 覆盖核心在线服务,锁定 1-3 年折扣
    • 按需实例 (On-Demand) 应对突发流量
  • 调度优化:Bin-packing 算法最大化 GPU 利用率;MIG / 时间片共享实现 GPU 超分

外部 API 成本

按 Token 计费,随用量线性增长

  • 计费模式:按输入/输出 Token 数计费,不同模型定价不同 (GPT-4: $30/M input tokens, Claude 3: $15/M input tokens)
  • 成本感知路由:简单查询 (分类、提取) 自动路由至小型/便宜模型 (如 GPT-4o-mini / Claude Haiku),复杂推理走高端模型
  • 用量预算:为每个团队/项目设置月度预算上限,达到 80% 发送预警,100% 阻断超额请求
  • 缓存策略:语义缓存 (Semantic Cache) 命中相同语义的请求直接返回,减少 API 调用
  • 批量折扣:与供应商谈判批量折扣 (Commitment Tier),预估年度用量锁定优惠

存储成本

快速增长项,模型权重与数据集占主要部分

  • 冷热分层:
    • 热存储:SSD / NVMe,存放高频访问的模型权重 (加载中模型)
    • 温存储:HDD / 标准对象存储,存放常用模型权重与训练数据
    • 冷存储:归档存储 / 磁带,存放历史模型版本与备份,成本为热存储的 1/10
  • 模型权重生命周期:
    • 活跃期 (Active):线上运行,存于热存储
    • 候选期 (Candidate):备用回滚,存于温存储
    • 归档期 (Archived):30 天无访问自动归档至冷存储
    • 删除期:归档 180 天后自动清理,或人工确认后删除
  • 数据压缩:模型权重使用 FP16 / INT8 / NF4 量化压缩;数据集使用列式压缩 (Parquet / ZSTD)
  • 去重:基于内容哈希 (SHA256) 的全局去重,避免同一文件多个版本重复存储

网络成本

随模型分发和推理规模增长

  • CDN 分发:模型权重通过 CDN (CloudFront / CloudFlare) 分发至边缘节点,减少回源带宽
  • 跨区域优化:
    • 多区域部署:在靠近用户的 Region 部署推理节点,减少跨区域流量
    • 训练数据本地化:在数据所在 Region 训练,避免跨区域传输
  • 私有网络:使用 Direct Connect / VPN 建立私有连接,避免公网流量费用
  • 负载均衡:智能 DNS 解析将用户路由至最近可用节点

成本仪表盘

实时成本监控平台基于 Grafana + 内部计费系统构建,支持多维度钻取:

维度 聚合级别 展示内容
按团队 组织层级 (事业部 / 部门 / 小组) 月度成本趋势、预算消耗进度、Top 消费模型
按项目 项目 / 应用 GPU 使用量、API 调用量、存储使用量
按模型 模型维度 单位推理成本 ($/1K tokens)、GPU 效率 (tokens/$)
按资源类型 GPU / API / 存储 / 网络 各类资源占比、环比/同比变化
按时间 日 / 周 / 月 / 季度 趋势曲线、峰值预测、异常波动告警

多租户与数据治理

支撑平台以 SaaS 模式服务多个团队/客户,同时保障隔离性与合规性。

租户隔离

命名空间级隔离

  • 每个租户独占一个 Kubernetes Namespace
  • ResourceQuota 限制租户的 CPU / GPU / 内存 / 存储 / 最大 Pod 数
  • LimitRange 设置每个 Pod 的默认资源请求与上限
  • NetworkPolicy 禁止跨 Namespace 通信 (除共享服务外)
  • 租户数据 (模型权重、向量数据库、配置文件) 被限制在 Namespace 内

资源配额管理

资源类型基础套餐标准套餐企业套餐
GPU (卡)0-44-1616-64+
CPU (核)832128+
内存 (GB)32128512+
存储 (GB)1005002000+
并发请求100 QPS1000 QPS10000+ QPS

网络策略

  • 默认策略:deny-all,白名单方式开放通信
  • 允许同租户内 Pod 通过标签选择器互相通信
  • 允许出站访问共享服务 (DNS、NTP、监控、日志)
  • 禁止跨租户访问数据库、对象存储和推理端点
  • 外部访问通过 Ingress / Gateway API 统一暴露

RBAC 授权模型

角色 模型服务 API 网关 模型市场 监控 计费 用户管理
管理员 (Admin) CRUD CRUD CRUD CRUD CRUD CRUD
开发者 (Developer) CRU R CRU R R -
查看者 (Viewer) R R R R - -
运维者 (Operator) R CRUD R CRUD R -

权限类型:C-创建, R-读取, U-更新, D-删除

SSO 集成

支持的认证协议

  • OAuth 2.0 / OIDC:主协议,对接 Keycloak / Okta / Azure AD / Auth0
  • LDAP:兼容 Active Directory 和 OpenLDAP,同步用户与组织架构树
  • SAML 2.0:支持企业 IdP (如 ADFS、OneLogin) 的 SAML 断言认证
  • SCIM:用户/组自动同步 (入向 + 出向),企业 IdP 变更即时生效

认证流程

  1. 用户访问平台 WebUI,重定向至企业 IdP 登录页
  2. 用户在企业 IdP 完成认证 (支持 MFA)
  3. IdP 签发 ID Token + Access Token,重定向回平台
  4. 平台验证 Token 签名和 claims,提取用户身份和角色信息
  5. 平台根据用户角色映射本地 RBAC 权限,签发会话 Token
  6. 后续请求携带会话 Token,平台拦截器校验权限后放行

数据治理

数据分类与定级

  • 自动分类引擎:基于正则 + NLP 对数据资产自动打标 (PII、PCI、PHI)
  • 手动定级:数据 Owner 可在平台手动指定数据级别,覆盖自动分类结果
  • 标签传播:数据血缘链路中,源数据标签自动传播至下游派生数据
  • 分级审批:访问 L3 (敏感) 及以上数据需提审批单,L4 (绝密) 需双人审批

数据脱敏规则

字段类型脱敏方式示例
手机号中间 4 位遮盖139****1234
身份证号保留前 6 后 4110101****5678
银行卡号保留后 4 位**** **** **** 1234
电子邮箱@ 前遮盖u***@example.com
姓名保留姓氏 + *张*
地址保留市级北京市****

数据血缘追踪

  • 采集:OpenLineage / Apache Atlas 自动采集 ETL 作业、模型训练、推理请求的数据血缘
  • 存储:Neo4j 图数据库存储血缘关系,支持上游追溯 (Impact Analysis) 和下游追溯 (Lineage)
  • 可视化:WebUI 展示数据流 DAG,支持交互式展开/折叠
  • 影响分析:当源表发生 Schema 变更时,自动通知所有下游消费者

数据质量监控

  • 完整性:空值率、缺失率监控
  • 准确性:数值范围校验、枚举值合法校验
  • 一致性:跨表外键约束核对、ETL 行数对账
  • 及时性:数据延迟监控 (Data Freshness SLA)
  • 唯一性:主键重复检测、业务唯一约束验证
  • 质量看板:每张表/数据集的数据质量评分 (0-100),低于阈值自动告警

平台 API & SDK

为上层应用和开发者提供统一、标准的编程接口,降低集成成本。

RESTful API 设计原则

URL 规范

  • 资源路径:/api/v1/{resource}[/{resource_id}]
  • 操作通过 HTTP 方法表达 (GET / POST / PUT / PATCH / DELETE)
  • 子资源:/api/v1/models/{model_id}/versions/{version_id}
  • 查询参数用于过滤、排序、分页:?page=1&size=20&sort=created_at:desc
  • 动词转为名词:deploy 操作通过 POST /api/v1/models/{id}/deployments

请求 & 响应规范

  • 请求体:JSON (Content-Type: application/json)
  • 响应结构:
    { "code": 0, // 业务状态码,0 为成功 "message": "success", "data": { ... }, "trace_id": "a1b2c3d4" }
  • 错误码规范:ERR_XXX 格式,附带 human-readable 描述
  • 分页响应包含 total / page / size / items
  • API 版本化:通过 URL 路径 (v1, v2) 管理,废弃版本至少维护 6 个月

接口文档 & 契约

  • OpenAPI 3.0 规范定义所有 API,源码生成 (注解驱动)
  • Swagger UI / Redoc 在线文档,支持 Try-it-out 调试
  • 契约测试:Pact 框架维护消费者驱动契约
  • SDK 自动生成:基于 OpenAPI Generator 自动生成多语言 SDK

SDK 支持

Python SDK (ai-platform-sdk)

  • 安装:pip install ai-platform-sdk
  • 功能覆盖:模型调用、模型管理、数据集管理、监控查询、计费查询
  • 同步 + 异步 (asyncio / httpx) 双模式
  • 自动重试 (指数退避) + 连接池管理
  • 类型提示全覆盖,Pydantic 模型定义
  • 示例:
    from ai_platform import AIPlatform client = AIPlatform(api_key="sk-xxx") response = client.models.infer( model="gpt-4o", messages=[{"role": "user", "content": "Hello"}], stream=True ) for chunk in response: print(chunk.text, end="")

TypeScript SDK (@ai-platform/sdk)

  • 安装:npm install @ai-platform/sdk
  • 功能覆盖:模型调用、流式响应、WebSocket 管理、Webhook 注册
  • 完整 TypeScript 类型定义
  • Tree-shakeable:按需引入子模块
  • 示例:
    import { AIPlatform } from '@ai-platform/sdk'; const client = new AIPlatform({ apiKey: 'sk-xxx' }); const stream = await client.models.infer({ model: 'gpt-4o', messages: [{ role: 'user', content: 'Hello' }], stream: true, }); for await (const chunk of stream) { process.stdout.write(chunk.text); }

WebSocket 流式响应

协议说明

  • 端点:wss://api.platform.io/v1/ws/infer
  • 认证:连接时携带 Token 或 API Key (query param)
  • 消息格式:JSON 帧,包含 type / data / id
  • 消息类