你云我云•兄弟夜谈会 第三季 企业IT架构

你云我云•兄弟夜谈会 第二季 5G

你云我云•兄弟夜谈会 第一季 企业云

0. 概况

  • 时间:2019年2月23日 22:00~23:30
  • 主题:企业IT架构
  • 兄弟团:
    • 孙杰(主持人):中油瑞飞资深云计算专家、架构师和运维专家,《企业私有云建设指南》作者
    • 周健:业内资深云计算专家

    • 楼炜:云星数据副总裁,业内资深云计算专家

    • 山金孝:业内资深云计算专家,《OpenStack高可用架构》作者

    • 肖力:新钛云服技术负责人,《深度实践KVM》作者

    • 北极熊:云技术社区联合创始人

    • 刘世民:《世民谈云计算》博主

1. 一些跟企业IT架构相关的概念

1.1 微服务和SOA是什么关系?

SOA 是面向服务架构的缩写,它是一种架构理念。早期其主要形态是企业服务总线ESB(Enterprise Service Bus)。它主要是为了满足企业内多个异构业务系统之间的互联互通需求。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务级别上动态的互连互通,是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:

  • 面向服务的架构—分布式的应用由可重用的服务组成
  • 面向消息的架构—应用之间通过ESB发送和接受消息
  • 事件驱动的架构—应用之间异步地产生和接收消息

以ESB 在银行中的应用为例,

ESB的工作就是提供和调用集成系统的服务。使用了ESB,在大多情况下,每个系统和ESB之间,只需要定义一个访问方法,一个接口。

但是,在互联网架构下,ESB 出现了一些弊端,比如性能压力。因为ESB 本身也是单点,即使采用集群部署,也无法完全解决性能问题。这时候微服务出现了。

可以认为,微服务也是SOA理念的一种实现,它是一种新型面向服务的应用架构。它将一个应用分解为多个服务,每个服务是独立的,但服务之间又互相联系。其好处显而易见,它本身所具备的可扩展性、可升级性、易维护性、故障和资源的隔离性等诸多特性使得产品的生产研发效率大大提高。因此,它能解决互联网架构下高并发问题。

1.2. 为什么有 Kubernetes 还要有Service mesh?

Chris Richardson 曾指出:“微服务应用是分布式系统,由此会带来固有的复杂性。开发者需要在 RPC 或者消息传递之间选择并完成进程间通讯机制。此外,他们必须写代码来处理消息传递中速度过慢或者不可用等局部失效问题。”

在云原生模型里,一个应用可以由数百个服务组成,每个服务可能有数千个实例,而每个实例可能会持续地发生变化。这种情况下,服务间通信不仅异常复杂,而且也是运行时行为的基础。管理好服务间通信对于保证端到端的性能和可靠性来说是无疑是非常重要的。

以上种种复杂局面便催生了服务间通信层的出现,这个层既不会与应用程序的代码耦合,又能捕捉到底层环境高度动态的特点,让业务开发者只关注自己的业务代码,并将应用云化后带来的诸多问题以不侵入业务代码的方式提供给开发者。

这个服务间通信层就是 Service Mesh,它可以提供安全、快速、可靠的服务间通讯(service-to-service)。

因此,Service mesh 也是一种微服务架构理念,它把微服务的业务逻辑层和微服务通信层进行解耦。应用开发者专注于业务逻辑,而服务网格则来解决通信层问题。

Service mesh 所实现的基础设施层,往往分为控制平台(control plane)和数据平面(data plane)。控制平面用于控制基础设施,而数据平台用于实现网络通信能力。同时,有多种Servcie mesh 的实现方式,而边车(sidecar)是比较主流的一种。

Service mesh 并不是 Kubernetes 的特有产物,而是微服务架构自身的需求。Kubernetes 是一种运行微服务的平台,它使用容器运行微服务,主要提供容器编排能力。istio 是面向Kuberntes 的一种 Service mesh 实现,它采用边车(sidecar)方式。

1.3. PaaS 和 Serverless 之间是什么关系?

关于 Serverless 是什么,也就是它的定义,有很多的争论,有很多不同的说法。

(1)有人认为,serverless 是微服务架构之后的一种新IT架构形态,它把每个微服务再函数化。

 

从这个层面看,Serverless 是一种应用架构,而PaaS 只是这种架构的应用的一种运行平台。

(2)还有观点认为,Serverless 是一种云计算模型(execution model),其中,云供应商动态地为应用创建和管理服务器。一个 serverless 应用运行在无状态容器中,是事件驱动的,由云供应商完全托管。Serverless 根据执行的次数计费,而不是根据预先购买的计算容量计费。

从这个层面看,Serverless 是PaaS和SaaS之间的一个阶段。

(3)从各大云供应商提供的Serverless产品看,Serverless 目前的应用场景还比较有限,主要是一些事件驱动的运行时间较短的业务逻辑比较简单的一些场景。

1.4 总结

以上分类主要是从技术层面进行的:

  • 后一种架构的出现目的是为了解决前一种架构的缺点和局限性
  • 应用架构和底层平台之间具有联系,但两者也不是强耦合关系

2. 企业业务中台

普遍认为,企业中台可分为技术中台和业务中台。

2.1 企业业务中台是什么

随着阿里巴巴对其业务中台的广泛宣传,以及业界对它的研究越来越深入,这个问题的答案已经比较清晰了。企业业务中台就是把企业各个业务前台系统中的公共部分抽取出来,变成共享业务服务,形成服务中台,对前端的业务进行支撑。

2.2 企业业务中台的目的

关于企业上业务中台的主要目的,我们主要讨论了以下几点:

  • 集团对业务加强管控的要求。在没有企业业务中台的时候,每个事业部(BU)各自控制的整个业务。比如每个BU都有自己的用户中心、交易中心和评价中心等。但是,实际上,这些都是集团非常基础性和根本性的东西。以电商行业为例,用户几乎就是他们的命脉。因此,集团管理层要对整个集团的关键业务和数据进行管控。从这一点触发,将这些业务抽取出来,进行统一管理,就比较顺理成章了。可认为这是一种政治需求。
  • 新业务灵活性要求。在互联网时代,企业要快速满足用户需求,实现以用户为中心,就要求其能快速推出新的满足用户新需求的业务系统。有了企业中台提供的各种基础性服务,企业就有可能快速象搭积木一样构建出新的业务系统。这是一种业务需求。
  • 业务系统技术架构优化要求。从技术架构师的角度出发,把各个业务系统中公共的模块抽取出来,这本来就是一种常见的做法。这是技术需求。

2.3 企业业务中台是企业一把手工程

上面三个业务有明显的主次之分,那就是 集团管控要求 > 业务灵活性要求 > 技术架构要求。

也就是说,要上企业业务中台,光靠企业的IT部门的推动,或者靠一两个业务部门的推动,几乎是不可能实现的任务。原因是因为它涉及到众多业务部门的利益重新分配。以前BU 可以独立掌控其所有业务,而有了业务中台后,BU 的很大一块业务要被划给他人了。因此,推进的时候往往收到各个BU的强大阻力。

再结合第一个需求,企业业务中台只能由企业一把手来推动才有可能。

从阿里巴巴最新一次组织架构调整情况来看,『阿里云事业群升级为阿里云智能事业群,集团CTO张建锋将兼任阿里云智能事业群总裁,直接向张勇汇报』。可以看出张建锋兼任集团CTO(技术线)和阿里云智能事业群总裁(业务线)。阿里云将来发展的重点方向,将由技术(平台)转到业务(中台)。

3. 企业IT 架构

技术在不断往前发展,但是技术为业务服务的宗旨不会改变。企业业务状态决定其企业IT系统的架构状态。简单来说:

  • 传统型业务只需要传统架构的IT系统
  • 互联网业务需要互联网架构的IT系统

3.1 企业业务特性决定了企业IT架构特征

比如说,如果一个企业的互联网业务占比为10%,那么大致地,它所拥有的微服务IT系统的占比也为10%。

以银行为例,大部分银行的核心业务系统还是在小机上。

企业IT架构演进主要是由业务和成本驱动。如果现有IT系统能支持当前业务,那么改动的必要性就非常小。此时,稳定是第一需求。

3.2 不同企业架构的驱动角色是不同的

对基础云平台来说,其主要需求及其特征是:

  • 通过虚拟化降低成本

  • 通过集中管控降低成本

  • 对现状(用户、开发团队、应用系统、运维团队等)的影响都比较小。

对PaaS平台来说,其主要需求及其特征是:

  • 降低应用开发和运维成本

  • 对开发流程、应用架构、团队(项目团队、运维团队、开发团队)的技能要求等都有较大影响。

对业务中台来说,其主要需求及其特征是:

  • 集团对业务和数据的集中管控

  • 业务标准化、灵活性和快速上线要求

  • 业务系统架构优化

  • 对业务部门的利益和企业组织结构都直接影响

3.3 一些启发和要求

要给企业推广什么,一定要找到企业中能对它做决策的人。找错人了,事情就没戏了。

企业技术人员给企业领导写材料讲材料,要从业务而不是技术入手,否则老板没兴趣往下听。技术只有找到了业务需求点才有价值,否则就是技术人员的一厢情愿。

企业技术人员要学习了解企业业务,从业务着手理解需求,然后再去设计业务系统。

参考资料:

  • https://zato.io/docs/intro/esb-soa-cn.html
  • https://www.cnblogs.com/zdz8207/p/java-esb.html
  • https://www.infoq.cn/article/2017%2F12%2Fwhy-service-mesh
  • https://medium.com/@johncmckim/the-debate-over-what-is-serverless-d8e179449d1b

感谢您的阅读,欢迎关注我的微信公众号:

你云我云•兄弟夜谈会 第三季 企业IT架构的更多相关文章

  1. [转帖]你云我云•兄弟夜谈会 第三季 企业IT架构

    你云我云•兄弟夜谈会 第三季 企业IT架构 https://www.cnblogs.com/sammyliu/p/10425252.html 你云我云•兄弟夜谈会 第三季 企业IT架构 你云我云•兄弟 ...

  2. 你云我云•兄弟夜谈会 第二季 5G

    0. 概况 时间:2019年1月29日 21:30~23:15 兄弟团:金孝(主持人).肖力.楼炜.张亮.孙杰.熊.世民 主题:5G 1. 5G超简单科普 金孝首先对大家做了超简单5G科普.5G 是第 ...

  3. 轮值CEO胡厚崑:到2025年所有的企业都将用到云(云的2.0时代,会有几千朵云几万朵云升起来,这将产生不同的技术模式、商业模式、思维模式)

    2016年09月04日 07:38 中国经营报   李凡 在全国工商联“2016年中国民营企业500强”排行榜上夺得头把交椅的华为,向外界描绘了面向未来进一步做大做强的路径. 华为创始人任正非于201 ...

  4. 从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?

    作者 | 易立 阿里云资深技术专家 导读:从十余年前的各种分布式系统研发到现在的容器云,从支撑原有业务到孵化各个新业务,企业的发展离不开统一的.与时俱进的技术架构.本篇文章从企业分布式应用架构层面介绍 ...

  5. [转帖]从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?

    从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑? 2019-10-08 10:26:28 阿里云云栖社区 阅读数 54   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  6. 阿里云ecs云服务器安装wdcp控制面板教程

    以前就听说服务器非常的难,而且我也不懂代码,不懂英文,我怕自己学不会就买了一个月的.开始我都不知道啥样的服务器,还是我的一位哥们给我远程买的,他说这个镜像最稳定了. 服务器买好后我便开始研究,可是怎么 ...

  7. Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解

    Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...

  8. Azure IoT 技术研究系列3-设备到云、云到设备通信

    上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...

  9. 夜谈Java类的定义

    女孩:谈Java了,好耶? 男孩:夜谈一下,Java的类的定义~ 女孩:那谈Java的类的什么呢? 男孩:类的定义,对象的定义,类中的方法,构造方法,this关键字,方法的重载,Java中的类的访问权 ...

随机推荐

  1. vue启动报错

    在安装依赖后,启动时报错 修复方法:将项目node_modules文件夹删除掉,重新cnpm install即可

  2. WEB学习笔记7-样式与结构分离

    CSS样式应用于HTML总共4种样式: (1)在HTML页面中链接一个CSS文件 文件以link形式添加到<head>部分,在link中可以设置media属性来表明样式使用的场景.例如,m ...

  3. 使用Selenium进行浏览器自动化操作记录

    一位经验丰富的同事交给了我一个任务:将20个IP地址添加到公司系统对应的目录下. 这个任务之前做过,并且数量是远不止20个,当时就学习Selenium并且使用Python3.6写了一个脚本用来自动化地 ...

  4. 2019微软Power BI 每月功能更新系列——3月Power BI 新功能学习

    Power BI3月产品功能更新发布啦!本次新功能新增了热图和单选切片器:完善了新的DAX功能和对现有功能的改进(例如按钮和选择窗格):同时官方表示建模视图的全面改进也正在进行中~Woo~那么,本月更 ...

  5. 2018 ICPC南京网络赛 L Magical Girl Haze 题解

    大致题意: 给定一个n个点m条边的图,在可以把路径上至多k条边的权值变为0的情况下,求S到T的最短路. 数据规模: N≤100000,M≤200000,K≤10 建一个立体的图,有k层,每一层是一份原 ...

  6. Windows gitweb安装

    /******************************************************************************* * Windows gitweb安装 ...

  7. vba批量作图心得1

    1.1:连续有几个图的时候,如果需要设置某一个图的横坐标标签隐藏,要注意将坐标轴标签属性和坐标轴曲线粗细的属性区分开来 1.2:PlotArea里面有left和insideLeft属性,结合两个可以控 ...

  8. [ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参

    个人原创: 1. 形参:形式上的参数,一般多在函数声明.函数定义的参数上: 2. 实参:实体参数,有实际的值,在运算上被循环使用的值: 3. 按值传参:按值,就是把实际的值传给函数内部: 4. 指针传 ...

  9. 使用Docker搭建LNMP开发环境

    1.什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技 ...

  10. redis数据库可视化工具(RedisDesktopManager)

    RedisDesktopManager下载地址:https://redisdesktop.com/download 使用过程中可能会遇到的问题我在文后有所总结 我下载Windows版的: 我的redi ...