《云计算架构技术与实践》连载(2)(1.2|《云计算架构技术与实践》连载(2):1.2 云计算的发展趋势)
《云计算架构技术与实践》连载(2):1.2 云计算的发展趋势版权所有,未经华为书面许可,请勿转载或转发。
由于技术方面的限制,前面几年云计算的主要应用仍然仅仅局限在互联网领域以及规模有限的公有云的建设方面,而在私有云的建设方面,往往仅仅将建设聚焦在企业内部的生产云和测试云,以及外围办公桌面系统上。
随着云计算技术日新月异的发展,以及信息产业界不懈的“化云为雨”的努力,云计算迈入了一个新的阶段,云计算在企业信息化以及电信网络转型变革中进行了全面渗透与应用落地。
总体来说,新阶段云计算区别于以往的关键不同体现在以下几个方面。
差别1:从IT非关键应用走向电信网络应用和企业关键应用
站在云计算面向企业IT及电信网络的使用范围的视角来看:
云计算发展初期,虚拟化技术主要局限于非关键应用,比如办公桌面云,开发测试云等。该阶段的应用往往对底层虚拟化带来的性能开销并不敏感。人们更加关注于资源池规模化集中之后资源利用效率的提升以及业务部署效率的提升。然而随着云计算的持续深入普及,企业IT云化的范围已从周边软件应用,逐步走向更加关键的企业应用,甚至企业的核心生产IT系统。由此,如何确保云平台可以更为高效、更为可靠地支撑好时延敏感的企业关键应用,就变得至关重要。
对于企业IT基础设施的核心资产而言,除去实实在在的计算、存储、网络资源等有形物理资产之外,最有价值的莫过于企业数据这些无形资产。在云计算的计算虚拟化技术发展初期阶段,Guest OS与Host OS之间的前后端I/O队列在I/O吞吐上的开销较大,而传统的结构化数据由于对I/O性能吞吐和时延要求很高,这2个原因导致很多事务关键型结构化数据在云化的初期阶段并未被纳入虚拟化改造的范畴,从而使得相关结构化数据的基础设施仍处于虚拟化乃至云计算资源池的管理范围之外。然而随着虚拟化XEN/KVM引擎在I/O性能上的不断优化提升(如采用SR-IOV直通、多队列优化技术),使得处于企业核心应用的ERP等关系型关键数据库迁移到虚拟化平台上实现部署和运行已不是问题。
与此同时,云计算在最近2-3年内,已从概念发源地的互联网IT领域,渗透到电信运营商网络领域。互联网商业和技术模式的成功,启发电信运营商们通过引入云计算实现对现有电信网络和网元的重构来打破传统意义上电信厂家所采用的电信软件与电信硬件紧绑定的销售模式,同样享受到云计算为IT领域带来的红利,诸如:硬件TCO的降低、绿色节能、业务创新和部署效率的提升、对多国多子网的电信功能的快速软件定制化以及更强的对外能力开放。
差别2:从计算虚拟化走向存储虚拟化和网络虚拟化
从支撑云计算按需、弹性分配资源、与硬件解耦的虚拟化技术的角度来看:
云计算早期阶段主要聚焦在计算虚拟化领域。事实上,众所周知的计算虚拟化技术早在IBM 370时代就已经在其大型机操作系统上诞生了。技术原理是通过在OS与裸机硬件之间插入虚拟化层,来在裸机硬件指令系统之上仿真模拟出多个370大型机的”运行环境”,使得上层“误认为”自己运行在一个独占系统之上,实际上是由计算虚拟化引擎在多个虚拟机之间进行CPU分时调度,同时对内存、I/O、网络等访问也进行访问屏蔽。后来只不过当x86 平台演进成为在IT领域硬件平台的主流之后,VMware ESX、XEN、KVM等依托于单机OS的计算虚拟化技术才将IBM 370的虚拟化机制在x86服务器的硬件体系架构下实现并商品化了,并且在单机/单服务器虚拟化的基础上,引入了具备虚拟机动态迁移和HA调度能力的中小集群管理软件(如vCenter/vSphere、XEN Center、FusionSphere等),从而形成了当前的计算虚拟化主体。
随着数据和信息越来越成为企业IT中最为核心的资产,作为数据信息持久化载体的存储已经逐步从服务器计算中剥离出来成为了一个庞大的独立产业,与必不可少的CPU计算能力一样,在数据中心发挥着至关重要的作用。当企业对存储的需求发生变化时该如何快速满足新的需求以及如何利用好已经存在的多厂家的存储,这些问题都需要存储虚拟化技术来解决。
与此同时,现代企业数据中心的IT硬件的主体已经不再是封闭的、主从式架构的大小型机一统天下的时代。客户端与服务器之间南北方向通信、服务器与服务器之间东西方向协作通信以及从企业内部网络访问远程网络和公众网络的通信均已走入了基于对等、开放为主要特征的以太互联和广域网互联时代。因此,网络也成为计算、存储之后,数据中心IT基础设施中不可或缺的“三要素”之一。
就企业数据中心端到端基础设施解决方案而言,服务器计算虚拟化已经远远不能满足用户在企业数据中心内对按需分配资源、弹性分配资源、与硬件解耦的分配资源的能力需求,由此存储虚拟化和网络虚拟化技术应运而生。
除去云管理和调度所完成的管理控制面的API与信息模型归一化处理之外,虚拟化的重要特征是通过在指令访问的数据面上,对所有原始的访问命令字进行截获,并实时执行“欺骗”式仿真动作,使得被访问的资源呈现出与其真正的物理资源不同的(软件无需关注硬件)、“按需获取”的颗粒度。对于普通x86服务器来说,CPU和内存资源虚拟化后再将其(以虚拟机CPU/内存规格)按需供给给资源消费者(上层业务用户)。计算能力的快速发展,以及软件通过负载均衡机制进行水平扩展的能力提升,计算虚拟化中仅存在资源池的“大分小”的问题。然而对于存储来说,由于最基本的硬盘(SATA/SAS)容量有限,而客户、租户对数据容量的需求越来越大,因此必须考虑对数据中心内跨越多个松耦合的分布式服务器单元内的存储资源(服务器内的存储资源、外置SAN/NAS在内的存储资源),进行“小聚大”的整合,组成存储资源池。这个存储资源池,可能是某一厂家提供的存储软硬件组成的同构资源池,也可以是被存储虚拟化层整合成为跨多厂家异构存储的统一资源池。各种存储资源池均能以统一的块存储、对象存储或者文件的数据面格式进行访问。
对于数据中心网络来说,其实网络的需求并不是凭空而来的,而是来源于业务应用,与作为网络端节点的计算和存储资源有着无法切断的内在关联性。然而,传统的网络交换功能都是在物理交换机和路由器设备上完成的,网络功能对上层业务应用而言仅仅体现为一个一个被通信链路连接起来的孤立的“盒子”,无法动态感知来自上层业务的网络功能需求,完全需要人工配置的方式来实现对业务层网络组网与安全隔离策略的需要。在多租户虚拟化的环境下,不同租户对于边缘的路由及网关设备的配置管理需求也存在极大的差异化,而物理路由器和防火墙自身的多实例能力也无法满足云环境下租户数量的要求,采用与租户数量等量的路由器与防火墙物理设备,成本上又无法被多数客户所接受。于是人们思考是否可能将网络自身的功能从专用封闭平台迁移到服务器通用x86平台上来。这样至少网络端节点的实例就可以由云操作系统来直接自动化地创建和销毁,并通过一次性建立起来的物理网络连接矩阵,进行任意两个网络端节点之间的虚拟通讯链路建立,以及必要的安全隔离保障,从而里程碑式地实现了业务驱动的网络自动化管理配置的能力,大幅度降低数据中心网络管理的复杂度。从资源利用率的视角来看,任意两个虚拟网络节点之间的流量带宽,都需要通过物理网络来交换和承载,因此只要不超过物理网络的资源配额上限(缺省建议物理网络按照无阻塞的CLOS模式来设计实施),只要虚拟节点被释放,其所对应的网络带宽占用也将被同步释放,因此也就相当于实现对物理网络资源的最大限度的“网络资源动态共享”。换句话说,网络虚拟化让多个盒子式的网络实体第一次以一个统一整合的“网络资源池”的形态,出现在业务应用层面前,同时与计算和存储资源之间,也有了统一协同机制。
差别3:资源池从小规模的资源虚拟化整合走向更大规模的资源池构建,应用范围从企业内部走向多租户的基础设施服务乃至端到端IT服务
站在云计算提供像用水用电一样方便的服务能力的技术实现角度来看:
云计算发展早期,虚拟化技术(如VMware ESX, 微软Hyper-V,基于Linux的XEN、KVM)被普遍采用,被用来实现服务器为中心的虚拟化资源整合,在这个阶段,企业数据中心中的服务器只是部分孤岛式的虚拟化以及资源池整合,还没有明确的多租户以及服务自动化的理念。在该阶段,服务器资源池整合的服务对象是数据中心的基础设施硬件以及应用软件的管理人员。在实施虚拟化之前,物理的服务器及存储、网络硬件是数据中心管理人员的管理对象,在实施虚拟化之后,管理对象从物理机转变为虚拟机及其对应的存储卷,软件虚拟交换机,甚至软件防火墙功能。目标是实现多应用实例和操作系统软件在硬件上最大限度共享服务器硬件,通过多应用负载的消峰错谷达到资源利用率提升的目的,同时为应用软件进一步提供额外的HA/FT(High Availability/Fault Tolerance,高可用性/容错)可靠性保护,以及通过轻载合并、重载分离的动态调度,对空载服务器进行下电控制,实现PUE功耗效率的优化提升。
然而,这些虚拟化资源池的构建,仅仅是从数据中心管理员视角实现了资源利用率和能效比的提升,与真正的多租户云服务模式仍然相差甚远。因为在云计算进一步走向普及深入的新阶段,通过虚拟化整合之后的资源池的服务对象,不能再仅仅局限于数据中心管理员本身,而是需要扩展到每个云租户。因此云平台必须在基础设施资源运维监控管理Portal的基础上,进一步提供面向每个内部或者外部的云租户提供按需定制基础设施资源,订购与日常维护管理的Portal或者API界面,并将虚拟化或者物理的基础设施资源的增、删、改、查等权限按照分权分域的原则赋予每个云租户,每个云租户仅被授权访问其自己申请创建的计算、存储以及与相应资源附着绑定的OS和应用软件资源,最终使得这些云租户可以在无需购买任何硬件IT设备的前提下,实现按需快速资源获取,以及高度自动化部署的IT业务敏捷能力的支撑,从而将云资源池的规模经济效益,以及弹性按需的快速资源服务的价值充分发掘出来。
差别4:数据规模从小规模走向海量,数据形态从传统结构化走向非结构化和半结构化
站在云计算系统需要提供的处理能力角度看:
随着智能终端的普及、社区网络的火热、物联网的逐步兴起,IT网络中的数据形态已经由传统的结构化、小规模数据,迅速发展成为有大量文本、大量图片、大量视频的非结构化和半结构化数据,数据量也是以几何指数的方式增长。
对非结构化、半结构化大数据的处理而产生的数据计算和存储量的规模需求,已远远超出传统的Scale-Up硬件系统可以处理的,因此要求必须充分利用云计算提供的Scale-Out架构特征,按需获得大规模资源池来应对大数据的高效高容量分析处理的需求。
企业内日常事务交易过程中积累的大数据或者从关联客户社交网络以及网站服务中抓取的大数据,其加工处理往往并不需要实时处理,也不需要系统处于持续化的工作态,因此共享的海量存储平台,以及批量并行计算资源的动态申请与释放能力,将成为未来企业以最高效的方式支撑大数据资源需求的解决方案选择。
差别5:企业应用接入模式从传统接入走向BYOD接入
从云计算系统给终端用户提供的接入能力角度看:
云计算架构下,随同企业用户近端计算、存储资源向远端的数据中心的迁移和集中化部署,带来了企业用户如何通过企业内部局域网及外部固定、移动宽带广域网等多种不同途径,借助固定、移动等多种不同瘦终端或智能终端形态接入云端企业应用的问题。面对局域网及广域网连接在通信包转发与传输时延不稳定、丢包以及端到端QoS质量保障机制缺失等实际挑战,如何确保远程云接入的性能体验达到与本地计算相同的水平,成为企业云计算IT基础设施平台面临的又一大挑战。
为应对云接入管道上不同业务类型对业务体验的不同诉求,解决业界通用远程桌面协议(如RDP)在满足本地计算体验能力方面存在的缺陷与不足,需重点关注ALL IP多媒体音视频端到端QoS/QoE优化,尤其是在远程桌面接入协议中对不同业务类别进行动态识别并区别处理,使其满足如下场景需求。
l普通办公业务响应时延小于100ms,带宽占用小于150Kbps: 通过在服务器端截获GDI/DX/OpenGL绘图指令,结合对网络流量的实时监控和分析,从而选择最佳传输方式和压缩算法,将服务端绘图指令重定向到瘦客户端或软终端重放,从而实现时延与带宽占用的最小化。
l针对虚拟桌面环境下VoIP质量普遍不佳的情况,缺省的桌面协议TCP连接不适合作为VoIP承载协议的特点:采用RTP/UDP代替TCP,并选择G.729/AMR等成熟的VoIP Codec;瘦客户端可以支持VoIP/UC客户端的情况下,尽量引入VoIP虚拟机旁路方案,从而减少不必要的额外编解码处理带来的时延及话音质量上的开销。上述优化措施使得虚拟桌面环境下的话音业务MOS平均评估值从3.3提升到4.0。
l针对远程云接入的高清(1080p/720p)视频播放场景:在云端桌面的多虚拟机并发且支持媒体流重定向的场景下,针对普通瘦终端高清视频解码处理能力不足的问题,桌面接入协议客户端软件应具备通过专用API调用具备瘦终端芯片(ARM/ATOM)多媒体硬解码处理能力;部分应用如Flash以及直接读写显卡硬件的视频软件,必须依赖GPU或硬件DSP的并发编解码能力,基于通用CPU的软件编解码将导致画面停滞、体验无法接受,可选择由硬件GPU虚拟化或DSP加速卡来有效提升云端高清视频应用的访问体验,达到与本地视频播放相同的清晰与流畅度。桌面协议还能够智能识别并区分画面变化热度,仅对变化度高且绘图指令重定向无法覆盖部分才启动带宽消耗较高的显存数据压缩重定向。
l针对工程机械制图、硬件PCB制图、3D游戏、VR仿真,甚至Win7 Aero透明效果等云端图形计算密集型类应用:同样需要虚拟化GPU资源进行硬件辅助的渲染与压缩加速处理。
另一方面,正当全球消费者IT步入方兴未艾的Post-PC时代大门之时,iOS及Android智能终端同样正在悄悄取代企业用户办公位上的PC甚至便携电脑,企业用户希望通过智能终端不仅可以方便地访问传统Windows桌面应用,同样期待可以从统一的“桌面工作空间”访问公司内部的Web SaaS应用、第3方的外部SaaS应用,以及其他Linux桌面系统里的应用,而且希望一套企业的云端应用可以不必针对每类智能终端OS平台开发多套程序,就能够提供覆盖所有智能终端形态的统一业务体验,基于此考虑,企业云计算IT基础设施需要在面向传统Windows桌面应用云接入的自研桌面协议基础上,引入基于HTML5协议、支持跨多种桌面OS系统、支持统一认证及应用聚合、支持应用零安装升级维护,及异构智能终端多屏接入统一体验的云接入解决方案——Web Desktop。
差别6:云平台从闭源、封闭走向开源、开放
从云计算平台的接口兼容能力角度看,云计算早期阶段,闭源VMware vSphere/vCenter、微软SystemCenter/Hyper-V云平台软件由于其虚拟化成熟度遥遥领先于开源云平台软件的成熟度,因此导致闭源的私有云平台成为业界主流的选择。然而,随着XEN/KVM虚拟化开源,以及OpenStack、CloudStack、Eucalyptus等云操作系统OS开源软件系统的崛起和快速进步,开源力量迅速发展壮大起来,迎头赶上并逐步成长为可以左右行业发展格局的重要决定性力量。仅以OpenStack为例,目前IBM、HP、Suse、Redhat、Ubuntu等领先的软硬件公司都已成为OpenStack白金会员,从2010年诞生第一个版本开始,平均每半年发布一个新版本,所有会员均积极投身到开源贡献中来,到目前为止已推出了第8个版本(A/B/C/D/E/F/G/H/I),功能不断完善。2014年上半年,OpenStack的成熟度与vCloud/vSphere 5.0版本的水平相当,满足基本规模商用和部署要求。从目前的发展态势来看,OpenStack开源大有成为云计算领域的Linux开源之势。回想2001年前后当Linux OS仍相当弱小、UNIX操作系统大行其道、占据企业IT系统主要生产平台的阶段,多数人不会想象到仅10年时间,Linux已取代UNIX,成为主导企业IT服务端的缺省OS选择,开源Linux正在配合Intel x86来取代小型机、大型机。
【《云计算架构技术与实践》连载(2)(1.2|《云计算架构技术与实践》连载(2):1.2 云计算的发展趋势)】本书下面的内容将重点围绕云计算出现的这些新变化来讲述云计算的架构技术。
推荐阅读
- 极客日报|孟晚舟升任华为轮值董事长;腾讯云多媒体实验室复原张国荣《热·情》演唱会;世界首款Lightning接口安卓手机|极客头条
- 搬砖工逆袭Java架构师|从《Java核心技术》纵览Java全貌
- 电波授时小程序
- 数据结构|《数据结构初阶》用队列实现栈&&用栈实现队列的细致解析
- c语言|《数据结构初阶》实现顺序循环队列和链式队列
- c语言|《伏C录》凝丹篇-函数栈帧理解手册
- 数据结构|《数据结构》十道链表经典面试题多种方法深度解析
- c语言|《伏C录》凝气篇-初战动态内存管理四兄弟
- c语言|《伏C录》破劫篇-零基础无境界限制极速领悟指针与数组
- c语言|《伏C录》神兵百解篇-重铸struct关键字之心