逻辑视图
技术平台从逻辑关系上是一个有着多面能力的系统:
- 对上承载了组件模型的全生命周期管理
- 对下屏蔽了复杂的异构环境差异
- 对内负责了基础能力的服务化
- 对外提供了应用能力的服务化
- 对研发提供了系列工具与方法
- 对运维提供了一定的自动化能力
总体的逻辑视图如下:
基础设施:目前企业级云平台的主流环境一般包括物理机环境、虚拟化环境、容器环境三类,存储除了传统厂商的NAS、SAN外,还有像Ceph、GlusterFS这些开源软件,网络亦然。基础设施管理用于异构环境的管理,对外统一以资源池的方式提供。
服务框架是技术平台所有服务能力的管理与提供,框架分成了两层:
- 平台服务,平台服务是将平台基础能力封装,提供包括环境配额、认证、部署、资源调度、资源的伸缩漂移、灰度发布、负载均衡、域名管理等能力,使得平台上管理和运行的组件直接具备了底层的支撑及通用能力。
- 应用服务,应用服务为上层组件开发提供了基础的SDK及运行能力,目前平台抽象了三类能力,后续可随着能力的丰富继续补充。
- 逻辑层,提供日志、异常、DAS、缓存、消息、配置、数据库等后台服务。逻辑层的服务从形态上包括SDK和独立可部署的服务,在上层组件的开发过程中,基于SDK使用服务。
- 控制层,提供流控、同步异步、校验等框架级能力,为上层组件运行时提供框架级能力,一般来说,组件开发时不会在代码中直接调用。
- 展现层,提供组件库、布局模板、前端Action及数据存储等通用能力,支撑前端或终端组件快速开发。
- 组件模型,整个技术平台是支撑上层组件的,组件模型负责模型定义和运行管理。一个组件的模型中,包括API、SPI、版本、类型、依赖等,具体可参考术语定义-组件.
基于上述的能力分层,以及领域能力的划分,技术平台中需包含如下子系统:
各领域系统的职责如下:
- 基础环境与运行
- SRM:提供异构环境的部署、升级回退、负载均衡、域名绑定等能力
- SEM:提供环境管理,对上层提供不同SLA的资源池
- DPR:部署包仓库管理
- IAM:用户认证,这个提供技术平台的接入认证,与上层DevOps里的用户认证能力无关
- SDK & Library:类似传统的PaaS,提供中间件服务及对应SDK,以前一些工具库
- Comp Mgmt.:组件的通用模型管理,组件有版本,API,SPI,规格,依赖,配置等元信息,详细信息参考术语定义-组件
- Conf Mgmt.:对组件的配置管理
- 工具与体验
- VCS:代码库管理
- CI & BPR:持续集成及介质管理
- Mock & Doc:API文档及基于API文档的mock框架
- IDE:开发工具
- 遥测与治理
- UMC:统一监控中心,提供应用日志、平台日志、应用运行情况、资源使用情况等信息的收集、合并与查询等能力
- FTS:故障处理系统,基于UMC的能力,提供对于产生事件或告警的后续处理能力