感谢支持ayqy个人订阅号,每周义务推送1篇(only unique one)原创精品博文,话题包括但不限于前端、Node、Android、数学(WebGL)、语文(课外书读后感)、英语(文档翻译) 如果觉得弱水三千,一瓢太少,可以去 http://blog.ayqy.net 看个痛快
10 年前(2009 年),UC Berkeley 在 2 月 10 日发布了一篇关于 Cloud Computing 的论文,在 10 年后的今天看来,仍颇具启发性
Cloud Computing is likely to have the same impact on software that foundries have had on the hardware industry.
云计算对软件的影响就像代工厂对硬件行业的影响
云计算(Cloud Computing)既指通过互联网提供服务的应用程序,所谓软件即服务(SaaS)中的服务,也指提供这些服务的数据中心的硬件和系统软件,所谓云(Cloud):
Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services.
云以面向公众的即用即付方式提供时就叫公共云(Public Cloud),提供效用计算(Utility Computing)服务。相应的,公众无法使用的企业/组织内部的数据中心称为私有云(Private Cloud)
P.S.效用计算是一种服务预配模型,服务提供商按需向客户提供计算资源和基础设施管理,并且按使用情况而不是按统一费率计费
对应到用户角色上,关系如下图:
P.S.当然,SaaS providers 同时也可以是 SaaS users
云计算的关键优势在于资源弹性调配(elasticity of resources),1000 台服务器用 1 小时的成本不超过 1 台服务器用 1000 小时,这种资源上的弹性是前所未有的:
Moreover, companies with large batch-oriented tasks can get results as quickly as their programs can scale, since using 1000 servers for one hour costs no more than using one server for 1000 hours. This elasticity of resources, without paying a premium for large scale, is unprecedented in the history of IT.
云计算还让应用程序提供者能够将其产品作为 SaaS 部署,而无需拥有自己的数据中心,就像半导体代工厂的出现让芯片公司有机会在没有晶圆厂的情况下设计和销售芯片一样:
Just as the emergence of semiconductor foundries gave chip companies the opportunity to design and sell chips without owning a fab, Cloud Computing allows deploying SaaS—and scaling on demand—without building or provisioning a datacenter.
正如 SaaS 允许用户将一部分问题抛给 SaaS 服务提供商,云计算允许 SaaS 服务提供商将一些问题丢给云计算供应商:
Analogously to how SaaS allows the user to offload some problems to the SaaS provider, the SaaS provider can now offload some of his problems to the Cloud Computing provider.
另一方面,从硬件角度来看,云计算带来的变化在于:
这样公司就能从很小的投入开始,在实际需要时才增加硬件资源,从而提高资源利用率,同时,按需取用/释放的方式也有利于节约资源
云计算的关键推动因素是在低成本的地区建设和运营大规模的商用计算机数据中心,这些地区的电力、网络带宽、运营、软件成本很低,从而形成规模经济:
We argue that the construction and operation of extremely large-scale, commodity-computer datacenters at lowcost locations was the key necessary enabler of Cloud Computing, for they uncovered the factors of 5 to 7 decrease in cost of electricity, network bandwidth, operations, software, and hardware available at these very large economies of scale.
实际上,自 2000 年初 Web 服务迅猛增长时起,到 2009 年一些巨头互联网企业已经拥有相当大规模的数据中心了,如 Amazon、eBay、Google、Microsoft 等:
Building, provisioning, and launching such a facility is a hundred-million-dollar undertaking. However, because of the phenomenal growth of Web services through the early 2000’s, many large Internet companies, including Amazon, eBay, Google, Microsoft and others, were already doing so.
同时,这些企业还必须建设可扩展的软件基础设施(如 MapReduce、Google File System、BigTable、Dynamo 等),以及专业的运营和安全防护机制
除了运营大型商用数据中心必要的软硬件基础设施之外,新的技术趋势和商业模式也是关键推力。另一方面,一旦云计算起步,就会发现新的应用机会和使用模型,同样能够促进云计算的发展
Web 2.0 的出现意味着从高接触(high-touch)、高利润(high-margin)、高承诺(high-commitment)服务转向低接触、低利润、低承诺的自助服务。例如:
P.S.高接触指的是服务过程需要更多的人员接触,而不是通过自动售货机、自助柜台等方式
技术方面,虚拟机的出现让客户可以自选软件资源栈,在共享硬件降低成本的同时还不会互相干扰
云计算对这几类应用而言是非常好的机会:
另外,对于一些受限于数据迁移成本、延迟等因素,暂时“上不了云”的应用(”Earthbound” applications),在广域数据传输成本和延迟降低之后或许也能享受到云弹性和并行性的好处
不同的效用计算产品可以根据提供给开发者的抽象层级和资源管理级别来区分:
Our view is that different utility computing offerings will be distinguished based on the level of abstraction presented to the programmer and the level of management of the resources.
例如,当时的几种云产品都对计算、存储和网络等资源进行了不同程度的虚拟化:
但从云供应商和云用户的角度来看,这几种效用计算产品只是在开发者易用性、灵活性和可移植性之间的权衡,各自有其不同的适用场景
云计算所带来的精细化经济模型让权衡决策更具流动性,尤其是云提供的弹性能够转移风险:
We argue that the finegrained economic models enabled by Cloud Computing make tradeoff decisions more fluid, and in particular the elasticity offered by clouds serves to transfer risk.
典型的,效用计算优于私有云的场景有两种:
第一种场景下,从成本与收益的角度来看应该是这样一个不等式:
UserHours of cloud × (revenue − Cost of cloud) ≥ UserHours of datacenter × (revenue − Cost of datacenter / Utilization)
即比较使用云计算的预期利润与使用数据中心考虑平均利用率时的预期利润:
用户小时数 * (小时收入 - 云服务成本) >= 用户小时数 * (小时收入 - 数据中心成本 / 利用率)
P.S.利用率是 100%的话,两边相等。即便可能,此时服务也不可用,因为数据中心的可用容量一般是 0.6 到 0.8
比如,一个服务白天需求高峰需要 500 台服务器,但晚上只需要 100 台机器,那么一天的平均用量是 300 台机器,使用时长为300 * 24 = 7200
小时。但为了应对需求高峰,需要付出500 * 24 = 12000
服务时长的成本,约为实际需要的 1.7 倍。那么,只要使用云服务 3 年(假设 3 年折旧)的成本低于购买服务器成本的 1.7 倍,就可以通过效用计算来节省资金
实际上,数据中心服务器的利用率一般只有 5%到 20%,因为需求峰值通常超过平均值 2 到 10 倍,而应对需求高峰的唯一方法就是提前预配资源。但并非所有的需求高峰都能提前预知,比如新闻事件引发的需求爆发,此时云计算所提供的资源弹性尤为重要
除成本因素外,风险转移能力也是云计算经济模型的一个重要价值。一旦需求高峰超出服务能力,就会造成经济损失,如下图:
peak load risk
不仅会损失一部分用户的潜在收入,还会导致一些用户因为体验问题而永远离开
另一些成本风险也能够通过云计算来规避,例如:
即用即付的短租模式能够减少云用户的使用成本,而购买力强大的云供应商也能够充分利用规模经济实现盈利。对云用户而言,能够迅速从价格上感受到资源成本的变化,比如立即享受到硬件成本降低所节省的开支
阻碍 | 机会 |
---|---|
服务可用性(Availability of Service) | 采用多个云供应商,利用弹性应对 DDOS |
数据锁定(Data Lock-In) | 标准化 API,兼容软件支持 Surge Computing |
数据机密性与可审核性(Data Confidentiality and Auditability) | 部署加密、VLAN、防火墙等,地理数据存储 |
数据传输瓶颈(Data Transfer Bottlenecks) | FedExing Disks、数据备份/归档、更大带宽的交换机 |
性能不可预测性(Performance Unpredictability) | 优化 VM 支持,闪存,并行调度虚拟机 |
可扩展存储(Scalable Storage) | 发明可扩展存储 |
大型分布式系统的错误(Bugs in Large Distributed Systems) | 发明适用于分布式虚拟机的调试器 |
快速扩展(Scaling Quickly) | 发明基于机器学习的自动扩展机制,并建立快照保护 |
声誉共享(Reputation Fate Sharing) | 提供像 email 这样的声誉保证 |
软件许可(Software Licensing) | 使用付费许可证,批量出售 |
P.S.前三个是采用云计算的技术阻碍,中间五个是云计算发展的技术阻碍,最后两个是采用云计算的政策和业务阻碍,右侧对应的机会是预期的解决方案
The long dreamed vision of computing as a utility is finally emerging.
云计算时代已经来临
期望云供应商能够以即用即付的模式销售所拥有的的计算资源,通过资源复用来获利。云用户能够节省建立自己数据中心的高额成本,同时从资源预配风险中解脱出来
同时,开发人员应该专注针对虚拟机的横向扩展,以支持部署到云环境中,具体地:
从资源角度来看,云计算带来的变革主要在于资源使用成本的降低和资源利用率的提升
得益于规模经济,集中管理的计算资源购买、运营成本更低廉,并且能够通过虚拟化技术共享复用硬件,进一步降低资源使用成本
资源利用率的提升则体现在 4 个层次上:
联系ayqy
如果在文章中发现了什么问题,请查看原文并留下评论,ayqy看到就会回复的(不建议直接回复公众号,看不到的啦)
特别要紧的问题,可以直接微信联系ayqywx