TCE TCenter两端产品能力与架构统一分享

2021-02-22 11:35:54 浏览数 (2)

背景

什么是TCE?

TCE(Tencent Cloud Enterprise),腾讯云企业版,基于腾讯公有云成熟产品体系推出的企业级云平台,为企业提供自主可控、弹性伸缩的全栈服务能力。

什么是TCE云管平台?

云管平台是TCE的门面,是客户使用TCE的界面,不可或缺。云管平台主要包括租户端(管理与审计)和运营端(平台运营、平台运维、平台管理),其中租户端为租户提供IaaS/PAAS/SAAS资源使用/监控等能力,运营端为运营管理员提供完整的管理能力,包括账号/鉴权/流程/审计/计费/报表等,以及IaaS垂直产品运维/专有云底座运维等。

运营端:

租户端:

技术架构

当前TCE整体技术架构如下图,其中云管平台紧密连接底座、IAAS/PAAS产品与各类用户,功能上覆盖基础平台(TCenter)运营平台(BSP/BMPPro)运维平台(OSP/OSPPro),基础平台能力主要覆盖账号、权限、网关、密钥等。

问题与挑战

  • 运营端平台能力滞后于租户端,两端体验不同
  • 当前项目驱动两端迭代,逻辑不统一、人力工作量double ,不利于平台持续演进
  • 垂直FT接入两端流程不一致,低效且浪费人力

客户诉求两端基础平台产品能力与体验保持一致

目标

统一两端基础平台产品能力与架构

两端现状对比

运营端基础平台为TCE侧从0到1迭代,租户端基础平台来自公有云自研,运营端平台产品能力、安全合规能力滞后于租户端。

综合考虑,重点补齐运营端缺失的特性,同时完善两端安全合规及定制化能力。

整体思路

如何快速对齐两端能力?

首先考虑两端能否各自独立迭代,长期来看不可持续;然后考虑两端能否选择性重写服务,这要求非常熟悉两端且需考虑各种现网兼容,成本其实也不低;最后考虑能否用租户端代码同时服务两端,需要注意两端实际功能场景不完全一致,需要各自定制开发维护特性;某些定制化组件如文档、消息考虑彻底重构。

分支策略

分支现状

  • 运营端维护多个版本 for TCE运营端定制化需求开发
  • 基于公有云拉出tce分支 for TCE租户端,公有云其他分支和tce分支独立迭代、必要时人工选择回合

两端不共用分支

大版本初期需从租户端最新tce分支拉新分支for运营端,大版本末期需要评估租户端改动是否能合入运营端

  • 优点:运营端bugfix、定制需求无需同步到租户端
  • 缺点:每个版本都需额外人力review并合入改动,始终由两拨人维护,导致分支灾难

两端共用分支

每个大版本,运营端总是与租户端共用TCE分支,改动需评估是否兼容两端,对定制化需求需加配置开关

  • 优点:两端特性完全一致,无需额外人力定期review,人力备份,减轻运维负担
  • 缺点:两端需感知对方通过配置开关引入的改动

综合对比考虑,最终选择两端共用分支,通过配置开关维护定制化特性。

大规模改动如何平滑升级至现网

挑战

  • 现网生产环境其他产品组件强依赖平台产品,依赖关系复杂,故障影响范围广
  • 平台侧待改动组件多
  • 需跨部门团队协调公有云平台产品中心、平台产品质量中心、专有云产品中心以及其他周边依赖FT的产品、前后端、测试

应对策略

  • 详尽梳理依赖关系,输出服务依赖、接口依赖
  • 分析两端架构,输出架构对比
  • 考虑多地域升级场景,改造旧组件协议不变兼容周边调用,逐迭代推动周边组件切换依赖的服务
  • 分析两端数据结构,整合账号、权限等元数据,输出可重入的数据迁移方案,写流量迁移到新服务,旧服务支持只读
  • 按照组件依赖顺序,明确升级计划

收益分析

效果分析

之前

对齐后

效果

产品能力

1、运营端缺角色,不支持多点登陆… 2、租户端不支持子账号配额,无菜单鉴权…

1、运营端补齐缺失的平台产品能力 2、租户端完善了产品能力

1、拉齐了两端平台核心产品能力,部分改动回合租户端 2、垂直FT接入两端体验一致,接入耗时降低50%

架构能力

运营端部分组件逻辑耦合

1、组件逻辑不再耦合 2、运营端控制台核心流量切换到新架构,改造旧架构逻辑兼容周边组件调用

1、对齐了两端组件架构 2、跨部门团队拉通产品、前后端、测试

客户价值

1、两端体验不一致 2、安全合规能力不完善

1、两端体验一致

1、增强安全合规能力 2、完成现网平滑升级

人力消耗

运营端4人,租户端3人 公有云平台产品中心支撑

两端人力互备,一端改动两端同时生效

1、两端总共需3~5人 2、研发与运维人力互备,共享共建

长期收益

项目驱动开发,无整体规划,无法持续演进迭代

有roadmap,考虑长期发展方向,平衡好迭代节奏

为后续逐步推动云原生、微服务化、性能优化及稳定性改造清理障碍

总结展望

本文针对客户侧和TCE云管平台内部演进诉求,回顾对比了TCE基础平台两端能力现状,确认使用租户端代码最终做到一份代码两端配置同时服务于两端,明确了整体演进迭代思路,确认了共用分支的策略,针对升级场景面临的挑战给出详细的应对策略,最后对比分析了改造前后的变化及收益。

当前基础平台大部分组件来自公有云,粒度拆分太细,导致平台服务调用链很长,排障困难,消耗大量物理资源,需要考虑专有云场景下是否有必要继续保持当前的拆分粒度,可以考虑进行适当的整合重构,增强云管平台的集成与被集成能力。

0 人点赞