资讯中心
关于我们
欢迎光临格子云商城!
GE ZI CLOUD
数字化应用聚合平台
格子云
按钮文本
热门搜索:惠普  复印纸  中性笔
全部商品分类
技术社区

以业务为核心的云原生体系建设

来源: | 作者:创业观察 | 发布时间: 2021-02-04 | 6707 次浏览 | 分享到:
要做好整个企业的云原生体系建设,需要有个总体的视角,不谋全局者,不足以谋一域。我们将企业的架构进行全方面的梳理,并给出云原生体系建设总图,这个图当然不是一蹴而就就能建设完毕的,而是根据业务需求不断迭代演进出来的,但是我们要知道目标在哪里。1、企业架构的五个方面企业架构不仅仅是技术问题,还有流程问题和组织问题,总得来说分为五个方面,业务架构、技术架构、数据架构、研发流程和组织架构。 ...

要做好整个企业的云原生体系建设,需要有个总体的视角,不谋全局者,不足以谋一域。我们将企业的架构进行全方面的梳理,并给出云原生体系建设总图,这个图当然不是一蹴而就就能建设完毕的,而是根据业务需求不断迭代演进出来的,但是我们要知道目标在哪里。

一、企业架构的五个方面

企业架构不仅仅是技术问题,还有流程问题和组织问题,总得来说分为五个方面,业务架构、技术架构、数据架构、研发流程和组织架构。

 image.png

第一个是业务架构,里面承载了企业所从事的业务的核心逻辑。目前大部分企业因为系统多是外采的,或者因为原来对于IT投入不够重视,处于单体架构的阶段。也有部分比较先进的企业,为了应对市场的快速变化,而采用了服务化的架构,构建了中台体系。而互联网公司因为要应对高并发流量,已经将服务拆分得更加细,实现了微服务架构。

第二个是技术架构,为了支撑业务代码的运行而建设的IT基础实施。最初企业多会采购物理机的方式运行业务代码,因为资源使用效率和灵活度的问题,很多企业采用了虚拟化平台。从虚拟化平台到云平台的变化不在于技术,而在于使用模式,主要是三点,统一接口,抽象概念,租户自助,说白了就是让业务方不需要特别专业的底层技术能力,就能实现应用的部署,同时将运维人员从应对越来越多的业务方的噩梦中解放出来。这一点很多企业出现了问题,一些采购了公有云或者OpenStack,仍然将所有的操作权限都放在运维那里,把云当成了虚拟化软件在用。容器进一步让应用从代码到运行无缝的连接起来,并且可以实现跨云的迁移。Service Mesh将微服务的治理放到统一的平台上来做,进一步解放业务方。

第三个是数据架构,在业务运行的过程中,会积累很多的数据。最初企业的系统多只做数据记录的作用,并没有发挥太多的价值,数据是散落在各个系统的数据库之中的,如果想进行分析,查看当前业务的运行情况,需要一个分析师将数据导出来,做成表格和报告,给领导看,这样时效性就会很差。后来很多企业开始做数据的梳理,建设数据仓库,并且建设BI大屏,领导驾驶舱,支撑战略决策。当然这种方式没有办法和业务直接结合,于是才有的后来的数据运营驱动业务创新,我们在电商和社交APP上感受到的千人千面,智能推荐,都是例子。

第四个是研发流程,也即代码是如何发布上线的。最初企业的发布上线都是手工化的,后来随着服务数目增多,开始脚本化。脚本难以维护,容易出错,后来就有了统一的发布平台,和云平台相结合,进行自动化的发布流程管理。有了容器之后,发布模式有了一定的改变,强调开发和运维合作保障在线业务的SLA,而非仅仅运维保障,从而发布平台也要DevOps化。

第五个是组织架构,根据康威定律,组织架构和技术架构往往是相互影响的,如果仅仅调整技术架构,不调整组织架构,则不能发挥新技术的优势。最初企业往往是开发和运维完全隔离的,甚至是两个老大进行领导,因而不能融合,迭代速度慢,线上高可用无法保证。要改变这种方式,除了配备上面的技术平台之外,还需要成立中台组或者架构师组,来衔接开发和运维,最终实现开发和运维的融合,共同基于DevOps平台保障线上系统的可用性。

二、云原生体系建设总图

根据上面的梳理,我们会发现,云原生体系建设还是非常复杂的,最终会建成一个什么样呢?需要有一个目标的总体架构,只有有了目标,就可以根据业务的发展阶段,逐步向这个方向进行靠拢。

所以我这里画了一张云原生体系建设总图。

 image.png

这张图左面是组织架构的部分,右面是技术架构的部分。左面和右面相同颜色的部分,就是相应的团队负责相应的技术架构的部分。

我们先看右面技术架构的部分。

最底层是数据中心的物理网络,对于数据中心的基本原理,《趣谈网络协议》中有一节专门描述。但是这里的数据中心是云数据中心,所以其设计会要求更高,在这个课程会更加详细的描述。

在物理网络之上是虚拟网络,最好整个数据中心有一个统一的SDN控制器,可以方便不同的环境之间的网络打通,例如物理机,Vmware虚拟机,OpenStack虚拟机,容器网络,都可以被统一的管理。SDN可以是使用硬件的,也可以使用软件的。

接着是OpenStack云平台,可以纳管物理机,Vmware虚拟机,KVM虚拟机,向上提供统一的接口。当然也可以不基于OpenStack创建云平台,而用云管平台。OpenStack的好处就是接口统一,业内和他配合的工具链比较丰富,有很多的运维工具可以直接基于OpenStack接口创建虚拟机,因而持续集成平台和OpenStack对接会轻松很多,实现基于云接口的应用编排。无论是用OpenStack或者其他的云管平台,作为“云”,除了统一接口之外,还要有相应的租户管理体系,租户和用户要分层分权限,让平台管理员可以分配给业务方一定的权限,例如Quota,QoS等,可以让业务方对于应用部署有一定的自助能力。另外云还要提供一层对于底层技术的抽象,例如flavor作为CPU和内存的抽象,VPC作为网络的抽象,安全组作为防火墙的抽象等,这样业务不需要特别懂底层技术,就能有应用的部署能力。