加载中…

加载中...

个人资料
人月神话
人月神话 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:4,464,334
  • 关注人气:5,981
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

再谈平台+应用构建模式(3.31)

(2018-03-31 22:07:51)
标签:

soa

云计算

微服务

分类: IT咨询
在2013年开始写企业私有云PaaS平台建设,里面谈的最多的就是SOA+云计算,平台+应用的构建模式,同时在里面又涉及到组件化和服务化处理,技术服务提供,因此是一个厚平台+轻应用的构建方式。虽然大部分内容是在2013年写作完成,但是到现在来看这些建设和思路仍然是值得大部分企业在进行传统IT架构转型的时候考虑。

平台+应用的构建模式本质是云计算+SOA关键思路的最终体现,通过业务系统共性能力下沉形成云平台层的能力,同时通过SOA思想将平台层共性能力通过API或接口服务的方式开放出去供上层应用使用和组装。其次,对于当时我们谈的比较多的业务模块拆分,组件化思想则是当前主流的微服务架构思想的体现,即将传统的大单体应用拆分为松耦合的微服务模块。

一个典型的平台应该包括技术平台,数据平台,中间件平台方面的内容,技术平台重点是提供各种典型的业务无相关的技术服务能力,其中包括了缓存,消息,日志,文件,任务,通知等,当然也可以包括我们常说的4A加流程引擎平台;而一个数据平台重点则是提供基础数据能力,如我们常说的MDM主数据平台,当然也可以是共享数据中心,提供静态+动态共享数据能力;而对于中间件平台才是传统说的PaaS技术平台,提供数据库和中间件资源池能力,提供应用托管和资源动态调度能力,从最传统的CloudFoundry等技术平台转变到当前以Docker容器+K8s为核心的轻量化容器调度平台。

如果在大的应用架构里面,上面谈的平台更多的仍然是技术平台层面,在技术平台上面则是需要我们去构建的业务应用,只是当前对于业务应用部分我们进一步进行分层,即业务应用本身是有前端应用+业务中台构建成的完整应用。而业务中台我们完全可以理解为业务平台,你也可以理解为前面的数据平台内容没有,而都是在也中台里面进行完整构建。中台由各个我们常见的中心组成,一般由分为两类,一类是以核心数据中心形成的中台模块,如产品中心,订单中心,客户中心等;另外一类是以业务逻辑处理为核心形成的中台模块,例如计费中心,结算中心,调度中心等。这两类中台模块提供完整的数据能力和业务规则逻辑处理能力,那么在这个业务中台上面构建的前端应用就更加轻量化。

也就是说平台+应用构建模式可以分解为 技术平台+业务中台+前端应用。

我们所有做的努力都是为了使前端应用尽可能的轻量,只有前端应用足够轻量,才能够快速的响应业务需求的变化,前端不实现具体的业务规则,不管理数据,而只是对各种中台层提供的API服务能力接口进行组装和编排,以满足完整的业务流程和需求。

把这个想明白了后,传统企业IT应用和系统的架构方法将发生重大的转变,即我们先是构建完整的技术平台,提供最基础的共性技术能力,该技术平台既包括了设计态的技术开发框架和环境,由包括了运行态的技术服务能力提供,托管和运行环境提供等。在技术平台构建完成后再进行业务中台模块的构建,中台模块构建完成后进行前端应用模块的构建。

  • 中台模块可以订购技术平台的技术服务能力
  • 前端模块可以同时订购中台模块的业务服务能力,同时也订购技术平台技术服务能力

在基础平台搭建完成后,我们在前面讲过最好是提供一个完整的门户类应用,在彻底微服务模块化后企业就只有一个门户应用,其它应用都应该是灵活组装出来的,因此我们只需要构建一个完整的门户,那么后续我们构建的各个中台模块,前端应用模块都可以很灵活的加入到这门户中,也就是说配合微服务DevOps持续集成能力,按道理最终发布的模块可以直接发布和集成到门户里面去。

我们来举一个而最简单的例子,一个企业原来已有采购管理模块并集成在门户里面,但是没有招投标模块,我们把招投标模块作为一个独立的微服务模块进行构建,在构建这个模块的时候我们完全不用做系统管理,流程引擎,技术组件等模块,只需要考虑业务需求的实现。同时我们首先申请需要构建一个新模块,分配独立的模块ID和账户,同时对该模块进行相关技术服务和业务服务的订购,在这些完成后进行该模块的开发和测试,在测试完成后直接对模块进行发布,发布完成后在门户上就应该形成一个新的招投标模块的人口链接。这就形成了一个完整闭环的模块动态发布和添加的过程。

要完成上面这个理想化操作可以看到需要做的内容相当多,而且还需要集成为一个完整的整体。

1. 集中化的云门户能力,可以集成4A模块能力在里面
2. 公共流程平台能力,提供对流程设计,运行和监控的统一管理
3. 基于Dock容器+Kubernates的PaaS轻量平台,包括DevOps的支撑平台
4. 服务总线能力,可以是轻量的微服务网关,也可以类似OpenAPI能力开放平台
5. 微服务架构开发框架和开发环境
6. 实现各种技术服务能力提供的技术平台

0

阅读 收藏 转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有