[转帖]你云我云•兄弟夜谈会 第三季 企业IT架构
你云我云•兄弟夜谈会 第三季 企业IT架构
https://www.cnblogs.com/sammyliu/p/10425252.html
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架构的更多相关文章
- 你云我云•兄弟夜谈会 第三季 企业IT架构
你云我云•兄弟夜谈会 第三季 企业IT架构 你云我云•兄弟夜谈会 第二季 5G 你云我云•兄弟夜谈会 第一季 企业云 0. 概况 时间:2019年2月23日 22:00~23:30 主题:企业IT架构 ...
- 【转帖】IBM发布全新闪存解决方案,助企业存储架构做减法
IBM发布全新闪存解决方案,助企业存储架构做减法 http://stor-age.zhiding.cn/stor-age/2020/0227/3124851.shtml 感觉 配图弄错了 FlashS ...
- 你云我云•兄弟夜谈会 第二季 5G
0. 概况 时间:2019年1月29日 21:30~23:15 兄弟团:金孝(主持人).肖力.楼炜.张亮.孙杰.熊.世民 主题:5G 1. 5G超简单科普 金孝首先对大家做了超简单5G科普.5G 是第 ...
- [转帖]从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?
从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑? 2019-10-08 10:26:28 阿里云云栖社区 阅读数 54 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...
- 阿里云ecs云服务器安装wdcp控制面板教程
以前就听说服务器非常的难,而且我也不懂代码,不懂英文,我怕自己学不会就买了一个月的.开始我都不知道啥样的服务器,还是我的一位哥们给我远程买的,他说这个镜像最稳定了. 服务器买好后我便开始研究,可是怎么 ...
- Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解
Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...
- 轮值CEO胡厚崑:到2025年所有的企业都将用到云(云的2.0时代,会有几千朵云几万朵云升起来,这将产生不同的技术模式、商业模式、思维模式)
2016年09月04日 07:38 中国经营报 李凡 在全国工商联“2016年中国民营企业500强”排行榜上夺得头把交椅的华为,向外界描绘了面向未来进一步做大做强的路径. 华为创始人任正非于201 ...
- Azure IoT 技术研究系列3-设备到云、云到设备通信
上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...
- 阿里云的云虚拟主机安装dede提示数据库连接失败的解决办法
问题描述 阿里云的云虚拟主机安装dede提示数据库连接失败 问题分析 连接数据库失败,可能数据库密码不对或数据库服务器出错! 解决方案 1.通过ftp软件查看htdocs/data/common.in ...
随机推荐
- Mariadb Redis 的配置使用
Mariadb Mysql 的配置使用 CentOS 7 Mariadb 的学习 在linux上安装软件的方式 yum安装 在线搜索rpm格式的软件包,进行自动的依赖关系处理,下载,安装 (阿里云 ...
- 设计模式のCompositePattern(组合模式)----结构模式
一.产生背景 又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式,它创建了对象组的树形结构. 这种模 ...
- BZOJ3577:玩手机(最大流,二维ST表)
Description 现在有一堆手机放在坐标网格里面(坐标从1开始),坐标(i,j)的格子有s_(i,j)个手机. 玩手机当然需要有信号,不过这里的手机与基站与我们不太一样.基站分为两种:发送站和接 ...
- 转://linux下hugepages理解
就Linux应用程序而言,使用的都是虚拟地址,当应用程序读写一个指定的虚拟地址时,内存管理单元会自动进行虚拟地址到物理地址的转换.一个虚拟地址可以映射到多个物理地址,但当前映射到哪一个物理地址取决于当 ...
- day03-课堂笔记-大纲
字典: # 字典循环: dic.keys() | dic.values() | dic.items()for k, v in dic.items(): print(k, v) # ...
- arduino json 解析
#include <ArduinoJson.h> void setup() { Serial.begin(9600); DynamicJsonDocument jsonBuffer(200 ...
- [03] 线程同步 synchronized
1.线程同步概述 线程之间有可能共享一些资源,比如内存.文件.数据库等.多个线程同时读写同一份共享资源时,就可能引起冲突,所以引入了线程的"同步"机制. 所谓同步,就是说线程要有先 ...
- Asp.net MVC 利用(aspose+pdfobject.js) 实现在线预览word、excel、ppt、pdf文件
在线预览word.excel.ppt利用aspose动态生成html 主要代码 private bool OfficeDocumentToHtml(string sourceDoc, string s ...
- Spark官方调优文档翻译(转载)
Spark调优 由于大部分Spark计算都是在内存中完成的,所以Spark程序的瓶颈可能由集群中任意一种资源导致,如:CPU.网络带宽.或者内存等.最常见的情况是,数据能装进内存,而瓶颈是网络带宽:当 ...
- <<.NET B/S 架构实践>> 几种概念区别 - 算法、设计模式、企业应用架构模式、架构模式
算法:相信大家对算法肯定不陌生(但其实绝大多数开发人员对这个非常陌生且抗拒),因为从学校没毕业开始就已经被算法折磨了,哈哈 设计模式:爱学习的开发人员对这个也不会陌生,是些到了一定工作阶段必须学的思想 ...