前言
中台架构一词最近在技术圈内比较火,波波基于自己的经验和视角,也来凑个热闹聊聊什么是中台架构。中台架构实际由若干个层次组成,其中微服务技术中台是构建中台架构的重要组成部分。SpringCloud和Kubernetes,是目前互联网企业构建微服务技术中台所采用的主流技术栈,波波也会分析和比对这两个方案。Kubernetes平台封装了构建微服务技术中台所需的关键基础服务,它是波波推荐的,构建微服务技术中台的一个比较完备的基础方案。
什么是中台架构?
中台这个概念其实在国内最早是由阿里巴巴提出[参考附录1],原来主要是个业务和组织的概念。2015年,阿里提出构建DT时代的更灵活创新的“大中台、小前台”的所谓中台战略,强调组织业务和技术能力的抽象沉淀、模块化和重用,从而对各前台业务形成强力支撑,使得前台一线业务能够更敏捷、更快速适应瞬息万变的市场。从具体架构上讲,阿里的中台架构可以简化分为四个抽象层次,如下图所示,从下到上依次为:
- 第一层(最底层)是基础设施服务层IaaS(Infrastructure as a Service),负责计算、网络、存储、监控、发布、机房和数据中心等基础设施。
- 第二层是技术平台服务层TPaaS(Technical Platform as a Service),负责中间件、大数据等基础服务和研发工具链等。第一二层在阿里体系中统称为技术中台。
- 第三层是共享业务服务层BPaaS层(Business Platform as a Service),是阿里多年研发运营沉淀下来的商业能力模块(包括用户,商品,店铺和营销等等),被抽象封装成公共服务,供上层调用和集成,阿里把该层也称为业务中台。
- 第四层(最上层)是业务前台层,按照不同业务线(淘宝、天猫和聚划算等)划分,再根据不同用户体验渠道(PC,无线和第三方接入等)构建不同的用户接口层。
所谓“大中台、小前台”,就是要强化技术和业务中台的建设,把中台打扎实,才能支持并且赋能前台业务线快速迭代和创新。换句话说,有平台才有生态,只有把中台的土壤夯实,才能让前台的生态变得更加茂盛。
当一家互联网公司发展出中台以后,它的商业规模化能力就会比较强大。比方说阿里,原来它有淘宝、天猫和1688等核心业务线,之后它再扩展出其它业务线(比如阿里妈妈、菜鸟物流和阿里去啊等)就很快,因为它可以重用底层的这些技术和业务中台能力。相反,对于一些没有发展出中台的公司,它的商业拓展能力就会比较弱,每次拓展新的业务线可能需要从零构建这些底层的技术和业务能力,明显缓慢而且很累。这个可以和航母平台化作战体系做一个类比,我们都知道目前美国拥有世界上最庞大的航母战斗群,所以它的作战投射能力非常强,今天把航母拉到中东波斯湾,明天又拉到他国领海,很快能形成战斗威慑力,这就是大规模平台化作战的优势。
中台架构不仅阿里有,其它一些大型互联网公司也有,比方说eBay,下图是eBay的中台架构[参考附录2]。我曾经在eBay中国研发中心工作过,最早看到这张eBay中台架构图是在2008年左右,也就是说,在2008年前,eBay就已经具备了比较完善的中台架构。eBay的中台架构和阿里的大致是类似,也是分为对应的四个层次,只是各层的具体称谓有些区别。
阿里或者eBay的中台架构,实际也不是一开始设计出来的,而是不断演进出来的。这些公司都经历过不断重复造轮子