Advertisement

Berkeley 云计算白皮书读书笔记

阅读量:

Reading notes of
"Above the Clouds: A Berkeley View of Cloud Computing"

全文见:http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf

云计算如今已成为一项日益受欢迎的技术,在整个IT行业中已经不可忽视。无论是大型企业还是通信运营商等领域的相关机构同样不甘人后。对于规模较大的IT企业而言,在不将云计算纳入其战略规划,则会显得力不从心。而通信运营商等领域的相关机构同样不甘人后。这表明各方对于云计算的理解存在显著分歧。该观点在学术界得到了广泛的认可与讨论。 Oracle公司的Larry Page则将云计算视为一种"流行词"。 Richard Stallman对此则持否定态度。

由于目前状况如此混乱,在此关键时刻学术界出面给出定义实属必要。

既然具有论文性质,在文章开头梳理了相关术语:将Cloud划分为公共云和私有云两种类型。其中公共云特指面向公众提供的资源(pay-as-you-go模式),并进一步细分为软件即服务(SaaS)和平板即服务(PaaS)。软件即服务是指将软件作为服务提供给最终用户(如Web服务),而平板即服务则是提供计算资源的服务提供商。值得注意的是:某些应用可能同时具备这两种属性(如基于公有云的应用),因此这些概念的理解对于知识体系构建非常重要。目前在阅读其他资料时发现这些术语已为行业广泛接受,在一定程度上这也体现了本文的价值所在:通过梳理现有知识构建了一个较为完整的理论框架

关于之前介绍的Cloud Provider(云服务),文章对比分析了几种典型的解决方案。

现在比较大的几个云计算提供商最初的目标并不是以提供这样的平台作为其核心业务。发展云计算最初也是出于各公司自身业务的需求。例如像Google这类公司由于拥有海量的数据进行处理而启动了云计算项目;同样地,在Amazon的情况中也是如此。而现在这些公司同时也成为了自己云计算服务的主要客户。有人估计,在亚马逊运营中的云服务中约有20%左右的能力被亚马逊保留用于其 own 业务。

文章中很核心的两个部分是
1. 云计算无疑将成为趋势,并且它的优势体现在哪里?其推动作用体现在哪里?
2. 面临的主要挑战是什么?文中列出了所谓的top ten roadblocks.
关于这两个核心问题,请大家自行查阅原文了解更多信息。

下面是一些文中前后都提到的技术趋势。

  1. 云计算的普及将显著推动硬件技术的进步。
    中央处理器(CPU)通常每2至4年性能提升一倍。
    存储介质的升级可能意味着以闪存取代硬盘、或介于内存与硬盘之间增加一层辅助存储。
    在网络架构方面,则可能出现由廉价模块化设备构建的集中式管理方案。
    此外,在数据传输领域:
    网络设备可能会采用由低成本组件组装而成的新架构,
    并减少传统层级式的物理连接,
    转而采用基于统一控制中心的数据转发机制。
    10G以太网成本预计大幅下降,并将在云网络环境中提供更高的带宽效率。

针对云计算设计的软件平台应在虚拟化环境中稳定运行,并具备继承计费系统的功能模块

对于云计算中的应用软件而言:
基于云架构的设计模式下 Client 和 Cloud 部分需要实现灵活的扩展与收缩(scale up and scale down)。
即使在断线的情况下(disconnected state),客户端仍需执行必要的操作以完成其功能需求。
这一模式与微软所阐述的软件加服务(Software+Service)架构不谋而合。(见第14章《如何在微软测试软件中应用软件加服务架构》)
这一观点虽受到质疑,在谷歌看来(Google),只需配备一个浏览器即可(preferably Chrome)。

以下是一个个人的看法,默认仅供参考

另一个预测是性能将成为越来越受关注的焦点。这一关注不仅限于公共云服务提供商或其他云服务提供商(如私有云或主机服务提供者),还包括同一用户群体中的所有云服务提供商都能从中获益。具体而言,在云计算环境下进行大量计算任务时所产生的一系列成本(包括硬件开销、能耗等)往往与任务规模呈现高度相关性——例如,在这种环境中完成同一任务所需的时间越长,则总计算成本就会越高。基于此分析可知,在当前技术条件下实现高质量的设计架构、优秀代码质量以及科学测试与优化工作能够带来更为显著的好处

虽然几乎所有的技术都有关,除了分布式的计算和存储,这里还是想列出几个。
1. 虚拟化技术
到目前为止,虚拟化技术已经在Private Cloud站稳了脚跟。在Public Cloud,它也是不可或缺的技术,没有VM,Cloud的核心优势按需分配、动态调整(scale up and down),以及自动化的管理就很难实现。
关 于虚拟化技术,现在是三足鼎立,VMware,MS的Hyper-V和Xen。VMWare目前硬件是企业商业化应用部署得最多的,新出的vSphere 也是很强大,还有Lab Manager等产品。Hyper-V因为是MS的,所以谁也不敢小视,这几年也是进步神速。Xen在open source的解决方案中也越来越重要,Xen+CentOS+libvirt的组合已经成了很多cloud的底层解决方案。网上有很多的关于三家产品的 口水文章,大家不妨找来看看,也可以快速的了解各自的优缺点。不过如果真的准备采用或者购买的话,最好先试用一下,比如我之前就遇到类似的问 题,Hyper-V据称可以支持其他的Linux,但是发现redhat在上面跑起来不稳定,而且性能很差,那么这就不能说是支持,因为在 production环境没有意义。当然,这个是针对一两年前产品的评估结果,现在也许会不一样,要重新来看。

随着计算主机数量与复杂度不断增加时, 这个问题变得愈发突出, 包括对计算节点进行管理和监控. 在这方面, 很多开源项目致力于实现上述目标, 例如, 在监控领域较为知名的开源项目包括Ganglia和Nagios.

3. 云计算的测试技术
既然咱是做测试的,就不能不提到测试技术的,这方面现在发展也是很快。
因为可用性,稳定性 和性能是大规模应用的核心问题,那么对应的测试技术也会变得越来越重要。几家提供互联网测试设备的厂商显然已经看到了商机,都开始在各自的网站,或者 technical blog上鼓吹自己的针对云计算的测试方案,包括Spirent, IXIA,还有新崛起的BreakingPoint。据说IXIA收购了Aligent的一些测试产品线,没有仔细去看。主要的卖点包括:
a. 更高的并发
这一点不用多说,被测的系统越来越大,越来越强,那么测试设备也要越来越强,比如对于10G的正对,并发连接数上面,单测试仪表已经可以做到500万左 右,还有应用流量的带宽等等。除此之外,还需要cascading 的方案,毕竟测试cloub的时候,以一挡万还是不够的。
b. 对更多的协议的模拟和支持
因为网上跑得应用越来越多,不管是private还是public的cloud,那么同时产生这些流量就会使测试更加的真实可信。
c. L2-3和L4-7的融合
可以测到网络设备,也可以测到应用层,并且是在一个console中来实现的。以前可能是通过分立的工具来实现,现在BreakingPint等在极力鼓动要融合在一起。起码对购买的人是好事,一套设备可以做两种事情,省了投资。
d. 集成安全测试
传统的测试设备主要focus在性能上面,现在安全测试也成了不可或缺的部分。主要的理由有两点,一是现实中攻击流量和正常流量是混合在一起的,而且有攻 击流量的时候会对处理能力影响很大,所以混合在一起更真实。二是如果放在同一个设备中,集中控制会很方便,比如流量的比例,报告也自然是和在一起的,更容 易分析和解读,在有攻击的时候的应用流量的情况。
这里所谓的安全测试通常包括,DOS后者DDOS, 已经漏洞或者攻击类型测试,这对协议的Fuzzing(模式)测试。相关的厂家有BreakingPoint,它们因为是后来者,所以比较激进一些,直接 把这些全做到了他们的性能测试设备中,称为BreakingPoint Elite。Spirent以前的安全测试是通过独立的ThreatEX设备来做的,但是现在也在考虑合并到Avalanche 2900里面,因为本来就是基于同样的硬件来开发的。MuDynamics(以前叫MuSecurity)更是专注于security测试。这个近几年在 硅谷发展起来的小公司获得了很多的风投,发展也很快。
关于这一部分,我们后面会有相应的比较或者评测和大家分享,上面提到的,基本上都有机会接触到。

到这里为止吧。IT的一大乐事就是不断涌现新的内容。如果没有这样的热闹场景就不是IT了呢!哦哦。有空的话还是看一下原文吧信息量大大增加也更加生动呢!

by Ricky, 2009-10-24

全部评论 (0)

还没有任何评论哟~