且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《云计算揭秘企业实施云计算的核心问题》——1.3节导致云计算的IT演变

更新时间:2021-11-20 16:52:11

1.3 导致云计算的IT演变
2005年,云计算还没有完全从以太技术(ether technology)中脱胎换骨。它的技术基础发展大约有40多年了。这个技术历程是渐变的,横跨几个不同的领域。但是,这些进步汇聚在一起,则代表了改变未来IT走向的革命性巨变。
Gillett和Kapor于1996年在一篇MIT论文(http://ccs.mit.edu/papers/CCSWP197/CCSWP197.html)里有史以来第一次提到了云计算。今天对云计算的普遍认识依然保留着原意。仅仅十年后,随着亚马逊将其潜在的电子商务资源赋予新的含义,进入提供云服务的业务领域,云出现在了现实世界之中。从那时起,经过几个月的时间,该术语就得到了我们这些普罗大众的广泛认可,图1.3所示的Google搜索请求统计表明了这一点。(现在不还是老样子吗?)
1.3.1 “云”隐喻的起源
人们常提的一个问题是,“云一词究竟来自何处?”答案是,十几年来,每当人们绘制涉及互联网的应用架构图时,他们就必然用云来表示互联网,如图1.4所示。
图1.4中的云专指匿名用户通过浏览器访问互联网,他们的浏览器以某种方式访问站点,并开始访问站点的基础设施和应用。这些来自“外部某处”的访问者有可能成为购买你产品和服务的用户。不像那些你给他们提供IT应用和服务的内部消费者,这种客源存在于“其他某处”,在你的防火墙之外,顺理成章也在你的控制领域之外。云图仅仅代表来自互联网的潜在有庞大基数的匿名用户。


《云计算揭秘企业实施云计算的核心问题》——1.3节导致云计算的IT演变

用户必须从PC登录来访问互联网。从技术上讲,每个人都需要一个互联网服务提供商(Internet Service Provider,ISP),它可能是电信公司、他们的雇主或专业的互联网接入公司(如AOL)。每个ISP都需要大量机器,人们先访问这些机器,进而通过它们访问互联网。
简而言之,云最早的概念指的是能够访问互联网的大型计算机群集,人们通过浏览器来访问这些机器。这一概念依旧令人惊奇地符合其早期构想,虽然已经通过几种重要的方式演变和成熟。我们将在本书中细致地探究这些方式。
1.3.2 主要计算范式的变迁:从大型主机到客户机-服务器再到Web
20世纪60年代,首批商业大型主机得到发展。一开始还是单用户系统,但到了20世纪70年代,它们演变成了分时(time-shared)系统。在这个模型中,大型计算资源被虚拟化(virtualized),虚拟机(virtual machine)被分配给共享使用该系统的各个用户(在每个人看来,他似乎独占整台机器)。
虚拟实例通过绿屏(green-screen)终端在一种瘦客户端(thin-client)模型中访问。这种访问模式可被视为云中虚拟化实例的直接类似概念,尽管此时把单台机器分给多个用户。在云中,潜在有成千上万台机器。过去,计算资源的稀缺推动了它们的虚拟化,使之可共享;而现在,推动云虚拟化的则是期望物理计算资源得到充分利用。
随着计算范式演变进入客户机-服务器时代,大型主机不再占据计算世界的首要地位。由于计算能力增强,工作逐渐从集中的计算资源转移到不断增强的分布式系统(distributed system)。在基于PC的桌面应用时代,这种转变几近完成:大量日常计算任务的计算资源转移到了桌面,成为胖客户端(thick client)应用(如微软的Microsoft Office)。大型主机只是在公司或部门级的应用方面依旧保有优势,它的职责也仅限于此。
网络技术的标准化简化了系统互联的能力,TCP/IP于20世纪80年代迅速成长为互联网协议。20世纪90年代晚期,由于Web和HTTP的崛起,钟摆又摇晃回了瘦客户端模型占统治地位的世界。这个世界如今已经摆出要进入云计算的架势。IT演变的最大几个阶段在图1.5中以自上而下时间递增的方式表现出来。
我们目前身处其中的计算演变拥有很多个阶段。像大型主机到客户机-服务器,然后由客户机-服务器到Web的这种平台变迁只是演变的一个维度。一个不太明显但具有深远影响的是数据中心的演变,以及物理计算资源是如何布置、供电、维护和升级的。


《云计算揭秘企业实施云计算的核心问题》——1.3节导致云计算的IT演变

1.3.3 物理计算资源的布置:数据中心的演变
在过去40多年里,硬件能力(hardware capability)有了巨大变化,尤其是计算能力(computing power)和存储。能够在便宜、大量生产的廉价服务器(commodity server)上飞快处理数量惊人的数据,意味着一些便宜的服务器机架就能处理在20世纪90年代早期需要花费NSA(国家安全局)级别的预算才能解决的问题。
度量计算能力提高的一个指标是每秒浮点运算(Floating Pointing Operations Per Second,FLOPS)的成本。FLOPS指的是单台计算机在一次操作中执行的简单数学运算,如加、乘和除。比较两台计算机在一秒内可以执行的运算数量可以粗略估算出它们的计算强度(computational strength)。1976年,当时最先进的Cray-1能够实现大约1.5亿FLOPS(megaFLOPS),造价大约为500万美元,换句话说,每MegaFLOPS超过33 000美元。如今,价格不到1000美元的四核处理器PC可以执行50 GigaFLOPS(10亿FLOPS),结果大约是0.02美元/MegaFLOPS。
类似地,存储成本在过去几十年内也在急速降低,存储数据的能力与产生以高清HD视频和高分辨率图片形式存在、上TB数字内容的能力齐头并进。20世纪80年代早期,磁盘空间成本超过200美元/MB;如今,该成本已经降至每MB不到0.01美元。
网络技术同样得到了发展,拿现代的带宽来说,如今在数据中心内,速率在100 ~ 1000 Gbps范围内是家常便饭。至于WAN,在千禧年之交,可以看到大量新增的暗光纤(暗光纤指的是已经铺设但是没有投入使用的光缆。—译者注),它们将高速宽带带到了大部分市区。更多农村区域已经有卫星覆盖,便捷、高速的无线网络意味着几乎无处不在的宽带互联形成了网格。
为了支持云,已经启动巨型数据中心的建设工程。Google、Microsoft、Yahoo!、Expedia、亚马逊等公司正在部署超大型数据中心。这些是给云提供动力的机房,它们现在的用电量超过全美用电总量的1.2%(包括了制冷及辅助设置),从2000年到2005年,这个百分比实现了翻番。我们将在第2章给出规模经济和这些巨型数据中心成型的更多细节。
1.3.4 软件组件化和远程访问:SOA、虚拟化和SaaS
就云演变的软件方面来讲,有3条重要的发展线索:虚拟化、SOA和SaaS。前两个是与技术相关的,第三个跟业务模型有关。
第一个重要线索是虚拟化。如前面讨论的,虚拟化不是新概念,在大型主机环境中,它就存在了。20世纪90年代晚期的新革新把这一思想扩展到了廉价硬件上。由VMware等公司开拓的虚拟化利用了现代多核CPU的能力,使得分区和分时操作在廉价服务器上成为可能。基于这些廉价服务器的大型服务器农场就针对大量用户群的使用进行了分区。
SOA是云计算的第二个不可或缺的软件概念。我们将SOA视为应用于机器间相互通信的基于浏览器的标准化逻辑扩展。人们当初借助浏览器与Web服务器交互完成的事情,如今通过机器自动完成,使用的是同样基于Web的标准协议,这就称为SOA。SOA使组件化成为现实,并将服务组装成应用,因此可以作为构建运行于多个虚拟实例上的复合应用的架构模型。
我们认为最后一个软件演变跟云计算的关系最为密切,它就是SaaS。但它不是技术革新,而是业务模型革新。长久以来,永久许可证模型在企业软件销售中占统治地位。在这个模型中,用户以一个固定价格(大多数情况下价格都很高)购买长久使用某软件应用的权力。在随后的岁月,他们还需支付支持和维护费用,价格一般约为最初价格的18%。这让消费者有权升级软件,在遇到困难时可寻求帮助。在SaaS模型中,你并不购买软件,而是租借。费用规模通常跟使用量相关,因此从软件衍生出的价值跟它的使用量成正比。用户购买某时间段的软件使用权,可能是几天、几周、几月或几年,而且可以在不再需要该SaaS产品的时候选择停止付费。云计算服务提供商已经采取了这种“随用随付”或“按需使用”的模型。
这随之提出了我们接下来需要考虑的重要观点。SaaS是云类型栈中的一种风格或一个层面。在目前云的早期阶段,人们经常犯的一个错误是在不同类型的云之间做“苹果和橘子”的比较。为了避免这一点,下一节将澄清云栈中不同的层级,以及它们的相似点和不同点。