飞天云信IDaaS | 产品能力架构演进与实践

当下,我们在讨论用户身份管理时,所考虑的更多是将其作为基础设施或“中台”,这表明已经有越来越多的企业将用户身份的统一管理提升到了战略高度。随着「应用」的边界拓展到我们工作和生活的方方面面,统一身份管理的需求也不断拓展边界,以企业为核心,由内而外,开始容纳企业外部的海量客户。在当前企业纷繁复杂的需求以及对平台高性能、高可用、易扩展等严格要求下,飞天云信也再一次迎来了蜕变。

为了能够适应飞天云信IDaaS产品的快速迭代和持续交付,飞天云信团队推进了技术架构的转型和探索,特别是进行了云原生体系能力的沉淀和发展。 飞天云信IDaaS产品以云原生技术为依托,形成了一套业务能力标准、服务开发与测试准则、交付与运营体系的方法论,在提高产研团队协作效率的同时,又能够与前方市场保持密切配合,提高整条产品线低成本创新和快速交付能力。

云原生能力建设

目前飞天云信团队构建的云原生架构体系主要从几方面着手:微服务、基础设施、标准容器化平台、DevOps、团队文化和产研流程。

微服务

飞天云信IDaaS产品主体包含五大中心,每个中心由1-n个服务组成。

服务与服务之间通过分布式组件进行协调调用,每个服务自身由专人负责,可以独立开发、独立运行、独立部署。符合软件高内聚、低耦合原则,方便业务渐进式建设,功能持续迭代。从实践经验来看,微服务拆分的颗粒度从一开始较为粗放,到随后的生产校验推进逐步细化,大大降低了每个微服务的复杂度,也缩小了单个服务故障的影响范围。

基础设施

飞天云信IDaaS产品包含了大量的公共基础设施组件,为整个业务提供稳定的服务,其中包括:

  • 分布式监控告警服务
  • 分布式消息中间件
  • 分布式缓存
  • 分布式任务调度
  • 分布式注册中心
  • 分布式配置中心

这些基础设施服务是微服务架构成败的关键因素之一,能够简化业务开发。

标准化容器平台

当系统逐渐庞大,需要合理的方式进行统一管理,飞天云信团队采用构建标准化容器平台来应对日趋复杂的运维环境。版本迭代定版后统一入仓,方便实施团队快速构建环境。飞天云信团队的标准容器化平台不仅可以适配各大云计算厂商的云计算资源,也可以适配企业内部构建的云环境,可根据需求在云上、云下以及混合部署自由灵活的切换。

该平台目前主要基于K8s进行构建,具有如下优势:

  • 全自动化构建与部署,提高部署效率与交付效率。
  • 应用容器化部署,做到一次构建四处运行。
  • 多K8s集群,保证测试、生产环境的完全隔离。

云信团队标准容器化平台架构图

DevOps

在云原生的架构体系系统中,交付能力是飞天云信团队关注的重点之一。在我们进行面向云原生的持续集成实践中,我们关注以下两点:

1)简单,概念和操作都应该简单。团队里的每一个成员,不论技术水平高低,都可以快速的理解CI/CD流程并将自己代码发布到不同环境。

2)最小适用,无必要勿增实体。用尽可能简单的组件完成代码集成和上线交付。

飞天云信团队DevOps流程体系

目前飞天云信团队构建的DevOps体系,能够将团队内部的产品、开发、测试、运维四个领域的人员结合,实现全产研团队一体化。从需求管理、代码开发、版本控制、自动化测试、安全扫描、构建镜像等一直到产品发布,实现精细化产品线的全生命周期管理。

团队文化和产研流程

构建以云原生体系为思想的架构模式,需要的不仅仅是单纯的技术输出,而是整个团队的密切配合、上下协作、快速响应。如果没有一个合适的团队文化和流程支持,整个产品线的运营也将效率低下、困难重重。而飞天云信团队一直以持续学习、高效沟通、规范化流程为主要目标构建良好的团队氛围。

构建技术能力中心:

1) 沉淀知识体系,建立Wiki知识库,帮助其它人解决问题,还可以减少自己的响应时间。

2) 内部技术社区,飞天云信团队内部又分为多个小团队,每个小团队遇到的问题各不相同,知识共享则成为大团队成长的关键。

规范化产研流程:

1) 需求评审

2) 自动化测试

3) Code Review

4) 流水线

5) 开发人员自服务

6) 发版评审

7) 全局监控以及持续监控

后记

飞天云信团队以及飞天云信IDaaS产品仍在发展阶段,我们仍在积极的尝试和探索更优质的产品架构和团队协作方法。在不久的将来,飞天云信IDaaS产品也将推出服务网格(Service Mesh)、声明式API、低代码平台以及飞天自己的Serverless方案来适应千变万化的市场。

飞天云信团队时刻关注着行业市场的变化,也随时接受来自行业市场的挑战。飞天诚信不仅仅要做好自己的产品,更要做行业的佼佼者!