云原生技术中台:从分布式到云平台设计
上QQ阅读APP看书,第一时间看更新

随着企业业务的不断扩大,传统的分布式架构已经不能满足日益增长的需求,企业技术架构转型被提上日程,大中台战略的概念逐渐被企业重视起来。在中台概念出现之前,信息系统被分为前台和后台两部分。前台通常是指用户直接使用的终端业务系统,是企业服务与用户的交互平台,如日常使用的邮箱、即时通信工具、购物软件、手机银行等应用软件。前台需要保持良好的用户响应能力,能够及时满足企业扩展生态链的需求,同时要求其更迭速度越快越好。

相比之下,后台通常指由企业各个后端管理系统组成的平台,主要分为两类系统:一类是用于管理企业核心资源的系统,如财务管理系统、仓库物流追溯系统、企业资源计划系统等;另一类是为前台应用提供算力和数据支撑(如通信并发管理、数据压缩能力等)的基础平台。这些系统往往庞大而复杂,甚至还受到法律、法规、审计等相关合规性的约束,要求其稳定至上,更迭速度自然是越慢越好。

随着企业业务的不断发展壮大,用户的业务需求也逐年增长。在保证后台稳定的前提下,大量的业务逻辑被强加至前台系统中,使得前台系统不断膨胀,这种“野蛮”发展导致前台系统的维护和开发效率越来越低,成本投入却越来越高。

为了提高用户响应效率,避免新业务不断重复“造轮子”,降低前台业务创新更迭的成本,衍生出中台概念。中台是将前台中稳定且通用的业务沉降到中台层,恢复前台的响应效率,以及将后台系统中需要频繁变化或前台直接使用的业务提取到中台层,提高这一部分业务的响应效率,降低后台维护更迭的成本,为前台提供高效、可靠的支撑服务。中台的产生解决了前台创新更迭速度快与后台稳定发展更迭速度缓慢之间的矛盾,最大限度地提升了前台和后台的协作效率。

国内首先尝试应用大中台战略的公司是阿里巴巴集团(简称阿里巴巴)。在2015年考察芬兰的游戏公司后,阿里巴巴提出“大中台,小前台”的战略,将集团相关的可复用业务“下沉”,形成中台业务中心,以灵活、迅速地响应前台需求。在享受到使用中台的“红利”后,阿里巴巴坚定地应用大中台战略。在2018年,阿里巴巴又提出“业务−数据”双中台策略。在2020年阿里云线上峰会上,阿里巴巴提出“做厚中台”的战略。此外,华为提出“大平台炮火支撑精兵作战”的发展战略,将中台规划为战略指挥平台,科学、高效地为前台“精兵”提供支撑物资和方案。

近年来,随着微服务技术和架构、容器集群管理技术和工具的不断发展,各大互联网公司纷纷效仿大中台战略,建设适应自家组织架构的“中台”,用以应对市场变化,灵活、快速地做出策略调整。随着中台模式的不断发展和演变,中台的建设初衷由快速响应用户需求,逐渐演变为为集团提供运营数据能力、技术能力、支撑能力、产品能力等。这时,企业大中台战略的应用不再只着力于建设平台即服务(platform as a service,PaaS)中台,还包括数据中台、算法中台、业务中台等的建设与应用。

PaaS中台作为软件开发和维护人员的工具与组件,可为其他业务提供基础设施的重用功能,帮助其他系统快速搭建、部署和上线。PaaS中台主要包括服务器基础设施和项目开发管理工具。为了满足各应用在各种操作环境中快速上线的需求,PaaS中台引入了Docker容器技术,实现了应用、操作系统、系统资源的有效隔离,保证各个应用互不干扰。此外,PaaS中台利用Kubernetes技术对PaaS中台中的容器进行编排、调度、治理,最终实现了诸如自动部署、自动重启、自动扩容、微服务治理等基础服务功能,实现了对服务资源的自动管理和调度,提升了前台业务应对大并发的能力,也提升了资源的利用效率。

PaaS中台还包括开发管理模块,该模块为开发、数据分析、算法、测试、维护、管理等人员提供了一系列集成工具,可实现代码发布、运维、系统监控、日志查询、流量监控、链路分析和追踪、告警等功能,方便技术人员使用,提升工作效率。

随着企业信息化建设的不断深入,要想实现多个业务线业务过程的规范化、便捷化管理,并同时满足不同部门的生产和管理需求,势必要引入公众号、小程序、移动App等适配于客户端、PC端的各类软件产品。传统的信息化建设忽略了业务数据的价值,每个业务系统自主发展。当企业高层需要实时关注生产数据及企业效能时,这些分散在不同网络环境、不同存储平台的数据,并不能及时响应,提供的数据会出现无效甚至相互矛盾的情况,不能满足企业管理要求。为了能够将这些分散的业务数据可靠地收集起来,转化为有价值且能够给企业高层提供辅助决策的数据,企业需要构建数据平台来实现信息系统由便捷化到智能化的转变。

数据中台的目的是让数据持续用起来,最终实现企业的智能化管理,通过数据中台提供的工具、方法、运行机制,把数据转变为一种服务能力,最终反馈给业务,引导业务朝着更高效、更规范的方向发展。数据中台不仅包括对业务数据的治理,还包括对不同业务数据进行汇聚、传输、建模/存储、统计分析/挖掘、可视化等。

数据汇聚是数据中台的核心工具,数据中台本身并不生产数据,必须通过数据库同步、埋点、消息队列等方式,将分散在各个系统中结构化或半结构化的数据收集到一起,这是数据治理及建模的基础。数据汇聚完成后,经过开发人员及算法建模人员对数据加工、建模后,就可以建设企业的数据体系。数据治理是指通过数据治理清理脏数据,保证所需数据的一致性、准确性、完整性。在完成数据治理后,系统将数据抽取或分发至计算平台,然后通过不同的分析手段根据业务板块、主题进行多维度分析、加工处理,得到有价值的数据并将其用于展现、辅助决策分析。

算法中台又称AI中台。算法中台提供算法能力,帮助业务提供更加个性化的服务。一方面,算法中台为业务部门提供通用功能,开发人员在设计通用功能时更加重视重复使用的场景,如日志数据挖掘分析、CPU内存的峰值预测、业务请求量和服务器吞吐量的统计、通用预警模型等;另一方面,算法中台为业务部门提供定制功能,定制功能有复用率低和业务价值大的特点,能提供更好的用户体验,如在线客服系统的智能机器人客服,这里的客服需要针对每个行业做单独的定制化处理。如果是保险行业,可能需要对保险种类以及理赔方式做特别的算法优化。千篇一律的售前模式和售后模式不可能适用每一个细分领域。

通常情况下,算法中台需要深度结合数据中台,因为算法模块开发完成后,需要数据中台提供数据进行模型训练。在企业中台构建初期,可以考虑将数据中台和算法中台合并为一个中台。但从长久的发展考虑,大数据技术和机器学习技术必然不是一个发展方向。

PaaS中台从项目基础设施的角度出发,数据中台从业务数据的角度出发,业务中台则从企业全局角度出发,从整体战略、业务支撑、连接用户、业务创新等方面进行统筹规划。

业务中台需要按当前企业所处的行业进行规划。以电商行业为例,可以将支付系统、会员系统、广告系统等比较通用的模块作为业务中台。这些通用的功能在由业务中台统一开发和管理后,前端就可以非常便捷地进行调整了。

例如,对于一个母婴垂直电商销售网站和一个体育用品电商销售网站,它们只是在页面上销售的商品不一样,以及少数展示的定制型网站页面不一样,而支付系统、会员系统以及广告系统通常是相同的。通过搭建业务中台,可以最大化地提高通用业务系统的复用性。