企业微服务架构转型-实施步骤

在前面的文章中已经谈到过微服务架构转型中的实施策略,今天重点谈下微服务架构转型中的实施步骤。

步骤1:4A和流程平台的下沉和能力开放

在实施微服务架构转型的时候必须将4A(也可先狭义理解为原业务系统的系统管理模块)和流程引擎下沉到平台层共性建设,或者说优先要将这两个模块做为微服务模块剥离出来,同时给上层的业务组件模块提供API服务接口能力。

对于4A模块剥离后,我们希望的是涉及到人员,组织,用户,权限等能力的获取都是通过服务接口实时查询获取,这些基础主数据信息也不要落地。在进行这样实施的时候确实会增加上层业务系统的改造工作量。对于流程平台的签出相对来说比较容易,最主要的还是给业务模块提供流程启动,暂停,获取待办已办列表等关系服务接口信息为主。

进行4A和流程平台的剥离核心目的仍然是是的后续需要进行拆分的业务模块只包含业务功能,而不再包含共性的技术能力功能。

步骤2:基础主数据模块能力独立建设

将提供共享基础主数据的功能单独剥离出来进行独立建设,比如建设独立的主数据平台或叫提供基础主数据的各个数据中心模块。然后数据能力以数据服务的方式暴露出去供上层业务系统使用,同样我们希望上层业务模块在使用这些基础主数据的时候最好主数据不落地,实时用实时查。

在传统PaaS平台建设中会涉及到MDM主数据平台的建设,到了彻底的微服务架构可能并不存在主数据平台的概念,而是各个类似产品中心,供应商中心,客户中心的各个微主数据中心模块,这些微服务模块也是我们常说的中台的核心数据能力提供中心。

要规划和建设中台,首先要考虑的就是这种基础数据中心,其次才是提供业务支撑和业务逻辑处理的中心。

步骤3:业务模块的拆分到微服务模块或逐步剥离出来

传统企业的微服务架构转型是一个渐进的过程,是一个老的IT架构逐渐被新架构替换,老架构逐步消亡的过程。在步骤1和步骤2这种共性的基础技术和数据能力下沉后,剩余的业务系统迁移和微服务模块拆分就可以开始逐步进行,逐步签出。

对于一个业务系统的业务模块逐步剥离出来,一个关键的策略就是优先剥离耦合性最低的业务功能模块,在这个思路下最可能的实施策略就是先将业务系统支持流程的两端(最前端流程或最后端流程)逐步剥离出来。因为两端的流程往往是耦合性最小的流程。

拿采购系统来举例,前端的招投标模块是最容易剥离出来的,后端的采购过程跟踪,采购评估等模块往往也是最容易剥离出来的。这里拿招投标模块来举例。

注意招投标模块在剥离出来后,横向的交互接口往往并不多,最多也就是招投标执行过程的结果信息或配额信息需要传递到采购管理模块。而对于招投标本身的一些结果数据已经可以下沉到平台层的主数据模块中,而设计到流程处理部分也已经下沉到平台层的流程引擎模块,因此可以看到只要步骤1和2迁移到平台层后,再迁移出招投标模块基本就很容易了。

步骤4:及早的进行统一门户的建设

特别注意,在各个微服务模块建设完成后,单个微服务模块本身是不能提供支撑完整业务流程的能力。对于用户来说并不关系是否进行了微服务架构化,而是关心涉及到业务流程处理的功能和操作是否能够很方便的在一个业务应用里面操作和完成。

而这些业务模块基于业务流程,基于业务场景和使用部门的组装和展现,就需要在门户层完成。对于统一门户不仅仅是提供统一认证和单点登录,也还包括了统一的待办集成和任务处理,统一的消息通知等共性功能能力。也就是说,只要是各个微服务模块共性的一些需要展现的能力,都可以集中化到统一门户层去集中处理和展现。

门户层还有一个重要的功能就是进行微服务模块的组装,这些模块组装后可以为业务用户提供完整的端到端业务流程功能支持,让最终用户的感觉就是在使用一个系统,没有系统不停切换的感觉。因此实际上在门户层不仅仅是简单的模块选择,也还可以做一些展现层的编排和组合工作。

对于微服务模块的灵活组装也是相当困难的,因为很多模块组装最终都是体现到模块提供的南北向接口的自动对接,这往往是比对服务组合和服务编排进行定制更加困难,对于这个问题后续将在单独进行讨论。

本文来自企鹅号 - 远见先行媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

超实用案例:美团终端主动监控平台的建设

内容来源:2018 年 01 月 05 日,美团高级技术专家李燕青在“2018 移动技术创新大会”进行《终端主动监控平台的建设》演讲分享。IT 大咖说(微信id...

1663
来自专栏程序员的SOD蜜

“领域驱动开发”实例之旅(1)--不一样的开发模式      一、分析业务需求。    二、设计领域对象模型    三、测试领域对象模型    四、设计业务处理类    五、设计Entity和Vi

    听说DDD-“领域驱动开发”已经很久了,园子里面已经有不少大牛写过博文介绍,但我一直没有尝试过,直到今年公司的一个项目出现数据库移植,原来的业务逻辑都写...

2527
来自专栏北京马哥教育

25年Linux内核开发经历总结出来的九条经验

原文: 9 lessons from 25 years of Linux kernel development 作者:Greg Kroah-Hartman 翻译...

39711
来自专栏即时通讯技术

开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀

随着云IM的发展,已吸引越来越多有IM需求的APP接入。但考虑到云IM无论从商业模式还是运营模式上,还需经过多年的沉淀,才可能真正实现客户与服务商的运营和服务良...

7872
来自专栏IT大咖说

微信支付大规模前端开发背后,如何用外包解决困境

摘要 业务高速发展离不开各种配套运营系统的高效建设,微信支付也不例外。在前端人力极其匮乏的条件下我们另辟蹊径,大规模引入外包团队协同作业,并且在如何保证效率和质...

4676
来自专栏云计算D1net

云备份与云存储你该了解的6个方面

2010年之前,绝大多数公司都认为公共云尚未完全成熟,还 不放心将其作为企业数据的主要存储、备份地,但2010年之后,随着巨头们的加速布局,以及大数据的大热,“...

3617
来自专栏IT技术精选文摘

小程序开发指南

8558
来自专栏美团技术团队

初探下一代网络隔离与访问控制

概述 安全域隔离是企业安全里最常见而且最基础的话题之一,目前主要的实现方式是网络隔离(特别重要的也会在物理上实现隔离)。对于很小的公司而言,云上开个VPC就实...

5507
来自专栏云计算D1net

采用五方案,让虚拟化更安全

存储虚拟化技术已经在市场上杀出了一片天地。当然我们还是需要不断的学习。关于存储虚拟化技术的安全性,在真实世界中唯一出现的主要供应商的脆弱性报告是微软的升级漏洞,...

3566
来自专栏猿人谷

一天一点学linux

随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。就像是战争,你有勇气战胜一切敌人,但你...

3276

扫码关注云+社区

领取腾讯云代金券