2. 自助服务门户核心概念:定义功能边界、用户角色及核心服务目录
自助服务门户是弹性伸缩与任务编排体系的“前台界面”,其核心价值在于将复杂的底层运维能力封装为可被不同角色按需消费的标准服务。本章节将明确门户的功能边界、三类核心用户角色及其权限矩阵,并定义服务目录的结构与分类。
2.1 功能边界定义
自助服务门户并非“万能控制台”,其功能边界遵循 “封装复杂性、暴露服务性” 的原则。所有功能必须满足以下三个条件之一:
- 可标准化:操作流程可被模板化、参数化,例如“创建一台2C4G的虚拟机”。
- 可审计:所有操作均需记录日志,并关联到具体用户与租户。
- 可计量:资源消耗与操作次数可被量化,用于成本核算与配额管理。
边界红线: 门户不提供底层SSH直连、数据库原生客户端、Kubernetes kubectl 命令行等非标准化操作。这些能力通过“跳板机服务”或“Web终端服务”封装后,再以服务目录形式提供。
2.2 用户角色与权限矩阵
系统定义三种核心角色,每种角色拥有独立的视图、操作权限与配额管理能力。角色之间通过租户隔离实现资源与数据的逻辑分离。
| 角色 | 核心职责 | 典型操作 | 配额/限制 |
|---|---|---|---|
| 管理员 | 平台运维、全局配置、审批流定义 | 注册服务目录、设置租户配额、查看全局审计日志 | 无配额限制,但操作需MFA二次确认 |
| 租户 | 部门资源管理、子用户创建、预算控制 | 申请服务、审批本租户请求、查看租户级账单 | CPU/内存/存储配额由管理员预设 |
| 开发者 | 应用部署、任务编排、日常运维 | 执行服务实例、创建编排任务、查看个人资源 | 受租户配额约束,可申请临时提升 |
最佳实践: 建议采用“管理员 → 租户管理员 → 开发者”的三级授权模型。租户管理员由管理员在租户内部指定,负责本租户的审批与子用户管理,减轻平台管理员负担。
2.3 核心服务目录
服务目录是门户的“商品货架”,所有可被用户申请的资源与操作均以服务形式注册。服务目录采用树形分类结构,支持按标签、关键词、所属租户进行检索。
2.3.1 服务目录分类体系
| 一级分类 | 二级分类示例 | 服务实例 | 适用角色 |
|---|---|---|---|
| 计算资源 | 虚拟机 / 容器 / 裸金属 | 创建VM、扩缩容集群、重置实例 | 开发者、租户 |
| 存储资源 | 块存储 / 对象存储 / 文件系统 | 申请卷、创建Bucket、设置快照策略 | 开发者、租户 |
| 网络资源 | VPC / 负载均衡 / DNS | 创建VPC、配置SLB、申请域名 | 开发者、租户 |
| 编排任务 | 弹性伸缩 / 备份恢复 / 自动巡检 | 创建伸缩策略、执行备份任务、启动巡检 | 开发者、租户 |
| 运维工具 | Web终端 / 日志查询 / 监控看板 | 申请临时终端、查询应用日志、创建告警 | 开发者 |
2.3.2 服务注册规范
每个服务在注册时必须包含以下元数据,以确保服务可以被自动化引擎正确调度与计量:
{
"service_id": "vm.create.standard",
"name": "创建标准虚拟机",
"category": "compute/vm",
"version": "1.2.0",
"parameters": [
{"name": "cpu_cores", "type": "integer", "default": 2, "min": 1, "max": 64},
{"name": "memory_gb", "type": "integer", "default": 4, "min": 1, "max": 256},
{"name": "image_id", "type": "string", "enum": ["ubuntu-22.04", "centos-8", "windows-2022"]}
],
"approval_required": true,
"cost_per_hour": 0.85,
"timeout_seconds": 600
}
注意: 服务目录中的每个服务必须关联一个“审批策略”与一个“超时策略”。审批策略决定是否需要人工审批;超时策略用于自动回收长时间未完成或异常的服务实例,避免资源泄漏。
2.4 功能边界与服务目录的关系
功能边界决定了“哪些能力可以进入服务目录”,而服务目录则是功能边界的具体实现。两者共同构成自助服务门户的“能力契约”:
- 边界外的能力(如直接修改底层数据库配置)不允许出现在服务目录中。
- 边界内的能力必须经过“服务化封装”后,才能注册到服务目录。
- 服务目录的版本管理直接关联到功能边界的演进历史,每次边界调整都应触发服务目录的版本更新。
通过上述定义,自助服务门户实现了“角色-权限-服务”的三维映射,为后续的弹性伸缩与任务编排提供了清晰的操作边界与可复用的服务单元。