我从事IT研发已有14年,从一名开发人员成长为大型集团公司的IT架构师,参与了多个大型信息平台的建设。2006年初入职场在一家企业从事ERP系统开发;2008年进入用友公司开发财务软件;2011年转行到金融行业从事数据仓库、商业智能的开发和数据模型的设计,从应用系统转向大数据开发,通过数据看业务有一种“一览众山小”的感觉;2015年进入某大型支付公司设计互联网架构和管理研发团队;目前在一家国有大型机场集团公司负责IT整体架构设计和实施工作。我见证了国内企业IT架构十几年的发展历程,从解决一个业务问题的应用系统发展到以数据平台为基础支撑的架构,到互联网微服务中台架构,背后总是用户的迫切需求驱动着企业响应能力的提升,技术的飞速发展对于各方都是极大的挑战。
2017年我进入某机场集团公司负责机场旅客服务平台建设,在选择架构时我并不同意采用当时流行的微服务架构。因为我在之前带领的研发团队也实现了一套微服务平台,所以比起传统的企业服务总线(Enterprise Service Bus,ESB)架构,我深深地体会到微服务架构对于业务需求及服务化拆分难度之大,对研发能力、运维保障要求之高,但当时除了我基本没人懂微服务。机场没有自己的研发团队,当地人才市场也很少有这方面经验丰富的开发人员,完全依赖承建商的资源建设IT系统也不是我的风格,但如果采用传统的ESB架构,面向C端的旅客服务难以扩展、难以变更、难以敏捷的问题也不能回避,就在此时阿里云的出现为我们照亮了一条路。经过多次与阿里云技术团队的交流对接,我们认为阿里云的技术中台也就是平台即服务(Platform as a Service,PaaS)层完全可以打消我对于微服务架构复杂性和难运维的顾虑,它们在云上有一套完整的微服务研发平台,实现了企业互联网架构中间件高度集成和自动化运维,不需要自己搭建Spring Cloud环境,也不需要运维。进一步了解到它们的业务中台架构思想后,我发现其非常适合当前机场的平台化需求,最终我们与阿里云联合组建了机场旅客服务业务中台项目组,并于4个月后全面上线运行。目前运行稳定可靠,从上线时的18台服务器扩展到现在的100多台云服务器ECS。以前机场要实现某一个业务应用需要立项、招标、需求、设计、开发上线等漫长的过程,而现在基于业务中台可能只需一周时间就可以上线运行。能达到这样的效果是大家付出了巨大的努力换来的,因为行业的特殊性、业务流程和组织结构的不同,中台架构很难有一套通用的、拿来即用的架构。我们的中台架构也是经过了十几次的推翻和评审讨论才最终确定的,本书将会全面阐述。
业内现在都在谈论中台,来机场集团公司交流的大厂们方案里几乎都有中台的概念,比如各种各样的技术中台、业务中台、数据中台、数字中台、组织中台、能力中台、人工智能(Artificial Intelligence,AI)中台等。那中台应该如何建设呢?需要透过现象看本质。市面上讲中台的图书基本都是中台承建商自己写的,主要是阿里云的技术和业务专家,我个人认为要不要建中台、如何落地中台、建到什么程度、哪些场景适合建中台这些问题更应该是需求方、业务方基于自己的实际情况进行综合考虑而决定的。中台建设的风险并不低,本书将以真实案例进行分析,提出搭建业务中台的建设性架构方案和实施路径。
我喜欢总结和归纳工作中碰到的问题和有趣的事,也要求研发团队的每个人都要进行技术分享。我们在中台建设中也积累了大量的技术文档、开发手册和研发团队的管理经验,并搭建了自己的开放能力平台,但也踩了很多“坑”,我想能不能把这些经验整理出来,让“后来者”少走一些弯路,减少试错的成本呢?
本书从互联网时代传统企业遇到的IT架构问题出发,经过认真分析后引入中台思想,尝试在理论上解决现有问题,在回顾企业IT架构的发展过程中演化出中台架构。
“光说不练假把式”。在第4、5章实现了一套完整的前/后端中台demo,邀请了研发项目组的产品经理、视觉UI工程师、前端Vue工程师、前端小程序工程师、后台接口开发工程师、中台微服务开发工程师、数据模型工程师、测试工程师、版本配置管理员、架构师一起参与demo开发,完整地还原了一个业务场景在中台上的实现过程。
能够快速实现demo应用是因为它是基于阿里云的PaaS平台完成的,我将demo在第5章的内容中“掰开揉碎了”分析,看看它是怎么应用20多个PaaS组件搭建起来的。寻找一套快速落地、低风险、易运维、高可靠、好扩展的架构方案是比较困难的,我始终认为IT架构是逐步演化和完善形成的,而不是一开始就设计出来的。所以本书不会出现什么好什么不好,只能讲到什么场景适合什么。
对企业IT架构感兴趣的中/高级软件工程师、架构师、产品经理、项目经理都可以通过本书较深刻地认识和理解业务中台架构。本书中介绍的中台相关工具有助于读者在项目中选择应用。
对于微服务开发人员可以学习和积累快速实现微服务的开发经验。
本书中介绍的业务中台前/后端完整demo可以帮助开发新手快速学习和全面掌握一个IT系统开发的全部流程、步骤,以及各类人员在项目开发中的角色和工作内容,完整还原一个敏捷迭代周期,阅读本部分内容需要有一定的编程经验。
本书也非常适合需求方管理人员和技术人员阅读,使其站在需求方考虑中台架构是否能解决企业遇到的IT问题。我个人认为企业实施业务中台失败的风险较大,所以本书更多是从需求方和业务人员的角度考虑问题,希望本书能对他们有一些启发。
首先要感谢人民邮电出版社赵轩在本书出版过程中的辛勤付出,使得本书能够顺利出版。
感谢西部机场集团有限公司的同事,感谢秦占欣、张宝利、夏瑾琪、李立明、时杰、杜瑾珺、卢宽、王星、李嘉宁、江浩等同事的帮助。
感谢研发团队的各位小伙伴,感谢韩晓煜、李飞、马锐锐、马倩茹、杜建琴、宇文巍、徐鹏程、赵震、魏萌、张亚辉等同学在本书写作过程中所做的贡献。
最后,感谢家人的照顾,让我能全身心投入本书的编写。
本书源码托管在码云gitee上,搜索“微服务中台架构开发入门与实战项目源码”即可下载部署,包括通用公共组件、旅客中心、行程中心、行李中心、行李查询应用、后台管理端Vue、前端小程序共7个项目的源码,以及相关安装软件和工具。
本书教学视频可在腾讯课堂里搜索“微服务中台架构开发入门与实战”进行观看学习。
读者如果在学习本书过程中遇到问题,可加入QQ群105423967获得帮助。