《架构世界》2020金融刊:DevOps与微服务在金融业的应用
上QQ阅读APP看书,第一时间看更新

一、服务治理原则

组织:建立专业的人员保障

服务治理是咨询+实施类项目,不仅仅是部署一套平台工具。为了实现服务治理的效果,需要由专业的人员参与。各个角色的职能如下:

1. 治理小组,推动和实施服务治理活动,确保管理体系和平台工具的执行,监控服务接口的运行情况,评估服务治理的绩效,保证服务治理最终实现业务目标和需求。

2. 服务管理员,在服务治理系统中完成应用系统名称的注册和注销;完成对服务接口注册申请审批、变更审批、注销审批,定期检查和审计服务接口使用情况和状态。

3. 服务接口提供者的应用系统开发部,内部服务接口的提供方责任人,负责提供服务接口,保障服务接口运行稳定、可靠。

4. 服务接口提供者的外部系统管理人,管理在业务支撑系统中有可能调用的外部服务,比如天气预报、航班信息等。

5. 服务接口消费者的外部系统管理人,管理外部系统使用业务支撑系统开放出来的接口,比如:话费查询、余额查询等。

6. 服务接口消费者的应用系统开发部,通过集成平台进行业务支撑系统内部各个系统之间的调用,服务消费者按照管理规范进行服务接口调用。

完善的管理流程和后面的几个原则有一定的关联性,比如流程的参与者是“专业的人员”、流程环节中的相关操作,需要由平台和工具提供支撑。

技术:建立统一的技术标准

在“移动互联”和“互联网+”的时代,服务调用的次数更高,响应时间要求更短。统一的技术标准可以减少开发时间,减少不必要的协议转换、消息转换,提高响应速度,服务治理更关注于过程管理本身。

服务治理过程中统一技术标准的意义类似于古代“车同轨,书同文”。也就是服务调用过程中涉及到诸多技术标准:接口原则、编码规范、服务规范等要统一,并且随着技术发展和为了提高服务开发效率和响应速度,需要制定统一的技术标准,服务治理的重点从早期的协议转换演进为服务管理。

平台:以平台支撑服务治理

企业数字化时代,产业链控制力空前强大,企业间协作越来越频繁。服务治理的平台工具必须能够承受更大的压力。

企业数字化转型之后,系统间集成越来越多,服务治理平台处于核心的枢纽位置,平台的稳定性和性能是业务运营的基础。

强大的平台要求主要体现在:高性能、可靠性、扩展性等非功能性方面!

平台工具:

设计期

1. 登记平台:负责微服务全生命周期管理,包括域、业务系统、应用、微服务、微服务版本、API

2. 交付平台:即DevOps,负责服务的开发、测试、构建、发布等能力;

3. 服务定义库:负责存放服务定义信息,包含已发布和未发布的各个版本的服务描述信息;

运行期

1. 注册中心:负责将应用实例和服务实例的元信息管起来,并推送给消费者,定期从提供者更新配置;

2. 配置中心:负责微服务配置管理,更新服务标识,调整服务配置,设置服务策略;

3. 监控中心:运行期微服务监控、网关管理与监控、应用配置管理等;全面实现可管,可优;

系统:先解耦、再整合

现有大而全的系统犹如一张大网,错综复杂,系统边界不清晰、系统部署架构和功能架构不清晰。牵一发而动全身,项目改造难度极大、成本极高。

企业为了适应业务的发展,IT系统必须敏捷。敏捷的前提是对现有的“大饼”系统进行解耦,解耦之后业务系统由多个小系统组成,系统间边界清晰、系统间交互明了。通过解耦降低系统演进的复杂度、提高业务创新和业务融合的速度。

需要从三个方面解决问题:

1. 解耦:将现有大而全的系统采用服务架构和标准化技术进行功能和部署的解耦;

2. 集成:因为业务的关联性,解耦伴随着需要解决集成问题,通过引入工具对服务进行管控;

3. 管控:通过在服务集成基础之上建设服务治理平台,实现服务的全生命周期管理,全面提升IT集成能力。

服务:自上而下和自下而上区分对待

在系统解耦和服务发现的过程中涉及到两种服务梳理方法,“自上而下”和“自下而上”两种方式各有利弊,项目实施时需要根据实际情况选择合适的服务梳理方法。只有适合实际系统改造的方法才是最好的。

多维度的服务拆分:

1. 业务限界上下文

2. 业务变更频率

3. 系统非功能性需求

4. 组织结构

5. 团队规模

6. 技术异构和现有系统复杂度

流程:结合企业IT管理需求设置合适的管理流程

服务治理的过程很复杂,主要因为如下方面的原因:

1. 首先,涉及到的人员多:服务提供方、服务消费者、服务管理员等角色;

2. 然后,涉及到的环节多:服务定义、服务注册与部署、服务运行监控、服务优化等环节;

3. 最后,涉及到的流程多:服务注册、服务注销、服务变更、服务调用等流程;

服务治理实现了服务的全生命周期管理,项目实施时需要根据企业管理要求制定出可落地、可执行的管理流程。清晰地定义出什么人(组织),在什么地方(平台),做什么事情(工具)。

流程管理可以是线下的,也可以借助专业的BPM平台实现。两种方案实施的成本和周期差异较大,实施方案需要根据实际情况而定。

工具:完备的管理手段

平台提供服务调用、单个服务注册、批量服务注册、报文审计、调用审计、TopN查询、报文检索、统计分析查询等功能。

通过完备的管理工具实现对服务的全生命周期管理。

服务治理平台首先满足服务集成的功能,在服务治理过程中还需要提供灵活易用的工具,实现对服务的全生命周期管理。

审计:建立独立第三方稽核

建立独立第三方稽核的含义是:

1. 服务治理涉及到服务管理的各个阶段和众多的参与者,为了检查技术标准和管理流程的执行情况,在关键环节需要对服务消费者和服务提供者进行实施稽核的人员必须中立,能够提供专业、公平、公正的审计报告,并指导各方持续改进。

2. 服务治理项目团队需要制定出符合企业IT架构发展的技术标准和管理流程,并能够提供相应的管理工具对关键环节进行稽核,对标准和流程的执行情况能够及时度量。

3. 同时兼顾服务提供者和服务消费者,真正做到“标准可落地,流程可执行”,因此,服务治理项目建议由独立的第三方组织实施。

服务治理项目实施成功的关键因素是项目团队能够保持中立的立场,提供公平、公正的稽核管理。

过程:持续化的服务管理

服务上线仅仅是服务生命周期管理的开始,业务的连续性需要IT系统提供长期的稳定运行,服务治理是一个持续的工作,服务治理的过程需要专职、专业的人员,采用完善的流程,利用丰富的工具,不间断地检查技术标准和管理过程的合规性。