目录
篇章的开始
中台的由来
数据中台
技术中台
总结
篇章的开始
在IT界中这两年中台这个词成为了热搜。在细分领域,中台被分为技术中台与数据中台。所谓技术中台即软件的架构技术。数据中台即大数据处理时所用到。
在作者接触中台这个概念时间也不长,一年多左右。偶然在微信群里朋友提到数据中台的讨论而慢慢融入了我的世界中。
做IT的人大部分都怀着一份热血的心去学习、去认知新事物,就像一个新生的小孩,来的这个世界对周围的事物充满了好奇。当然这也包括我。
中台的由来
在所有的中台概念中,都是阿里巴巴这家大企业来的。据说马云去了一个x国(好像是意大利),学习他们的企业工作模式。这家企业是一家游戏企业,只有稀少的十几个人。而这家企业是全世界游戏领域中做的最好的企业。
令人们奇怪的是为何这家企业人这么少,而做游戏那么精妙?其一原因是他们每个人都可以有自己的想法,都可以做一款游戏出来。如果游戏反应不好马上下架弃用。
这种方式也需要很多人啊,开发游戏也需要时间,况且你要开发那么多的游戏!马云参观完这家企业后知道了奥秘,其实他们都是使用这同一个游戏‘后台服务器’,游戏的不同玩法自己再在游戏上面扩展玩法,这么些游戏玩法经过沉淀后,基本上都满足了现在的市场需要,很快能在现在的服务器的基础上搭建一套新的游戏。
而这让马云团队他们更确定地把这个想法带回了阿里巴巴,从而组建了中台团队。阿里巴巴是有淘宝团队、其它业务团队。而阿里巴巴从这些团队中抽取人组建新的中台团队,来负责中台的搭建。成就了现在的一淘、咸鱼、淘宝、天猫等。这些都是使用着同一个中台。
在我看来,为何阿里云领先于国内云那么多?无论从技术上,还是从应用体验上。正是阿里巴巴这种超前的技术概念,搭建出了中台,有了技术沉淀。那么阿里云也可以看做是多个大大小小的中台。这里不是鼓吹阿里巴巴,而是学习他们改造管理层、改造技术的这种‘果断’。
综上所述,中台的概念总结一下:为了达到提高软件交付的速度的目的,中间过程中会沉淀企业的业务、沉淀企业的技术,让技术成为企业的核心竞争力。
数据中台
这里简单介绍一下数据中台的由来。
介绍数据中台的文章不在少数。其目的是为了快速处理数据业务。因为处理数据有两群人,一群是做数据分析的人,偏向于市场分析、数据分析,开发甚少。一群是做数据开发的人(或者开发数据分析软件),有任务则开工。这两群人专注领域不同,沟通也不是很顺畅。即使沟通顺畅,也需要‘中间者’。即使上面解决了,最后导致的情况就是业务需求交付时间越来越长。
那么怎么解决呢?答案是数据中台。数据中台来担任这个‘中间者’。
技术中台
数据中台我们介绍那么多了,这篇文章的重点在于技术中台。
其实很多人或多或少接触过中台,只不过这个名字概念这几年才被摆上互联网世界中。
技术中台其一要点是大部分的项目必须都使用这些中台服务,而不是只针对一个项目(业务)。如果只针对一个,这是一个服务,不是中台。
中台的服务是面向大部分的业务的,这样的中台才可以得到业务的沉淀。如果你有一个用户服务,此用户服务只提供一个商城项目使用,那么这只是一个服务或者微服务,与中台挂不上勾。中台的目的是服务供所有业务类型使用。如下是不同的系统都会使用到用户服务。
正在搭建运行的技术中台系统
不要以为中台只能在大公司中才会使用。一般中台按照业务发展的速度与项目数量来决定的。如果公司的项目类型众多,每次接的项目都感觉‘差不多’,那么就需要考虑中台了。在中台前面有个畸形,就是公共的类库或服务。有了这个畸形后,技术层面搭建中台会顺心很多。
再举一个我们正在搭建运行的中台系统。因为随着公司的发展,业务销售的单子越来越多,我们公司接项目的单数自增越猛。目前的做法是与很多公司类似,都搭建好了一套基础商城框架。然后谈好项目需求后,在重新在这个基础商城框架上面做定制改造。改造完了就部署此应用到服务器。这个部署只是部署这个商城应用,而这个商城应用只是一个应用,不会依赖任何其它应用。
这样的做法很快就能上线应用,但面临的问题会很多。
一个是面对的并发量大时难应对。
二是业务得不到沉淀。
三是如果要做数据统计方面很难去‘合并’这些数据。
四是如果负责这个项目的人走了那么后续的人会很尴尬,以此类推,终有一天暴雷。
在这样的情况下,我觉得中台是很适合这种开发的。不仅解决了上述的四大问题,而且让技术人员接触新技术永远对他们来说是多么高兴的一件事情(笑得像小孩子)。向公司提出了中台的概念。
大概的一个架构如下。
中台架构详解
这个架构分三层,深蓝色的是界面应用层,粉色是高度变化的业务中台层,绿色的是基础服务中台层。
仔细观察就能发现,这些分层,是按照业务的变化速度来分的。在应用层是变化最多的,今天需要一个这样的界面显示,明天又是另外一个,辛苦了大前端的同学。
在后端开发,中台分两层。高度变化面向于界面层的业务中台,称为高度变化业务中台。这一层是对下面一层基础服务中台的组装。通过组装下层的服务,来满足不同的业务。
最下面的一层,是基础服务中台。包括一些基础服务。如用户服务、订单服务等。
总结
中台离我们那么近又那么远。近的是任何软件开发都能实现,远的是需要按照公司的项目体积、数量来决定。如果你的项目数量不多,而单体能满足的话,那么就往这方面发展,不要为了搞技术而中台,毕竟中台不是万能。
中台引发的血案还是很多的,例如基础服务挂了,很多项目都会出现问题。所以中台开发的各方面人员的技术能力要很高。而中台缺点是入门门槛高、维护高可用、需要服务器的体量一般较大。
中台,是每个公司发展到一定程度都会必不可少的一个产物。应用上了中台,公司的业务会得到沉淀,技术也会沉淀,技术不会永远都是成本部门。
可以关注本人的公众号,多年经验的原创文章共享给大家。