共享服务中心的建设之路

Why && When 为什么什么时候要建立共享服务中心

业务发展到一定阶段,之前的服务都散落在各自的业务领域,那么对于使用者来说这种野蛮发展带来了如下的问题:

  1. 服务数量多业务范围涵盖越来越广,如何快速的找到服务成为了要解决的问题
  2. 应用和架构越分越细,服务越来越专业化,学习成本变高
  3. 服务缺乏缺乏统一的管控,往往会出现不知道这些服务又哪些下游,是如何调用,自己随意发布版本导致服务不稳定;
    1. 防止恶意调用
    2. 防止认为的错误调用
    3. 管理服务的依赖关系,提供统一的SLA协议规范
  4. 缺少治理层:之前服务的标准,接入方式,鉴权方式散落在各个角落(wiki、文档、开发人员的大脑),需要一个平台对服务进行收敛,减少接入成本;

What 共享服务中心(SPAS)是做什么用的职责是什么

它的主要职责是将一个个的服务封装成服务组件为服务消费者提供服务的平台,为服务提供者提供统一的服务治理,为服务的消费者降低接入成本,提供更稳定的服务

建设思路:

  1. 找到服务化的对象
  2. 提供服务化基础设施
  3. 服务下沉为共享服务中心的组件(实施 由服务提供者接入)
  4. 增强服务和基础设施实现服务治理(提供服务鉴权、运营报表、运维工具等)

阿里巴巴的实现思路

  1. 服务化对象是API:面向API,将API封装成服务(通用)
  2. 提供服务化基础设施【有借鉴意义】
    1. 服务描述的元信息
    2. 服务注册发现机制(该服务有一个统一的服务发现平台,比如mq的订阅管控关系, hsf的注册中心等)
    3. 服务的访问控制和安全策略
    4. 应用服务的Protal
    5. 服务的依赖管理和运维管理
    6. 服务的SLA协议
    7. 消费者管理工具与支持工具
    8. 服务化辅助工具支持
    9. 服务化的报表与分析工具
  3. 服务化实施阶段:
    1. API as Service
    2. Product as Service
    3. Solution as Service

How 如何协作

  • 共享服务中心:提供服务的治理能力以及相关基础设施,指导服务的接入
  • 服务提供者:服务将服务接入到共享中心,管理服务,提供场景化解决方案
  • 服务消费者:接入服务,按照规范使用服务,并且给于服务反馈

共享服务中心和前端(前端事业部)

  1. 和前端核心业务简历紧密沟通机制,积极参加这些部门的技术需求会议,及时响应
  2. 分歧上升机制:遇到分歧,采取层层上升机制
  3. 轮岗制度:保证换位思考
  4. 共享服务中心的发展方式,当发现一些服务存在于不同的前端,可以尝试集成、沉淀到共享服务中心
    1. 共享服务中心的架构师或者RD有独自沉淀能力,和业务方沟通自己实施;
    2. 共享服务中心的架构师暂时没有能力,采用共建的方式,业务方和共享服务中心的人员一起实施保障快速落地,同时也能在参与工程中培养这方面的技术能力。