伯克利的云计算报告(下)

7.云计算的10大障碍


云计算被公众接受有三大技术障碍;被接受后,云计算的增长又面临五大技术障碍;最后两个障碍是政策和商业障碍。云计算提供商在长期探索过程中会逐渐克服这些障碍。

7.1服务的可用性


用户最大的担心是云计算是否有足够的可用性,2008年Amazon EC2、GAE和Gmail都出现过服务中断的事故,持续数小时。只使用一家公司的云计算服务,会遇到单点故障的问题。即使这家公司非常大,有多个不同地理位置的数据中心,它们使用的仍然是同一套软件设施,甚至这家公司倒闭了怎么办。一些大企业会因为担忧这个问题而不愿意使用云计算。对于这个问题,唯一可行的解决办法是使用多家云计算提供商。

另一个可用性问题是DDoS(Distributed Denial of Service)攻击,攻击者用大量的僵尸计算机访问服务,导致合法用户无法使用服务。效用计算可以通过快速扩展计算能力来抵御DDoS。

7.2数据锁定


云计算欠标准化,各个云计算提供商的API都是不一样的,因此用户很难在不同云计算提供商之间迁移。将用户锁定对云计算提供商是有利的,但是对用户不利,这也阻碍了部分用户接受云计算。

最直接的解决办法是推动云计算的标准化,用户可以轻松地在不同云计算服务之间迁移。

7.3数据保密


总可以听到这样的声音:“我永远不会将敏感的企业数据放到云端。“现在的云服务都是用广域网传输数据,很容易受到攻击。我们认为云计算的安全不存在本质的障碍,现有的安全技术已经足够成熟,比如数据加密,ssl安全传输,虚拟局域网,防火墙等。

7.4数据传输瓶颈


应用正变得越来越数据密集。因为带宽资源的降价要比计算和存储慢多了,所以当应用部署到云端,数据传输成本将成为严重的问题。

有一个看起来离奇的办法。Jim Gray发现传输大量数据最便宜的办法是直接快递磁盘甚至整台计算机。虽然没有硬件厂商能保证这种方法的可靠性,但是Jim Gray的实验表明每400次才会失败1次,而且可以组织成“raid”来提高可靠性。

最彻底的办法是快速降低带宽的成本,研究表明高端路由器占了WAN带宽成本的2/3,光纤只占了1/3。研究人员正在寻找用普通商用组件替代高端路由器的方法。

7.5性能不可预知


多个虚拟机之间可以很好地共享CPU和内存,但是IO共享仍然存在问题。一个办法是改进体系结构和操作系统,更有效地支持中断虚拟化和IO虚拟化。另一个办法是使用flash存储介质,减少IO冲突。另一个不可预知的问题是运行某些批处理程序时多个虚拟机之间的调度问题,这在高性能计算领域尤其明显。

7.6可扩展存储


云计算最大的吸引力是短期租用、无预先投资、无限资源。这对于计算的意义是显而易见的,但是对于存储则不太明显。我的理解是计算是可复用的,但是持久化存储不能复用。

针对这个问题已经有不少尝试,从提供丰富的查询和存储API,提供性能保证,到存储系统直接支持复杂数据结构。现在的机遇是创造一种存储系统,不仅能满足上述需要,而且具有按需任意伸缩的优点,同时在资源管理的可扩展性、数据持久性和高可用性方面满足程序员的需求,这仍然是个开放的研究课题。

7.7大型分布式系统的bug


在大型分布式系统中排除bug,是一件很大的挑战。这些bug在小规模应用时可能不能重现,因此必须在真实环境debug。云计算依赖虚拟机可能是个好消息,程序员可能获得在传统分布式系统难以获得的一些信息。

7.8快速伸缩


pay-as-you-go应用到存储和带宽很自然,都使用字节计费。但是计算有点不同,这取决于虚拟化的层次。GAE根据负载自动扩展,按照CPU周期收费;Amazon EC2则按照用户占用实例的时间收费,即使这段时间用户啥都没干。

这里的机遇是根据负载自动伸缩计算规模,在不影响服务级别的情况下节约成本。自动伸缩的另一个好处是节约资源,数据中心对环境的影响已经越来越受到关注。

7.9声誉共享


资源可以虚拟化,但是声誉却很难虚拟化。一个顾客的行为可以影响到整个云的声誉。创建类似信任邮箱的声誉保护服务可能是一个机遇。另一个问题是法律责任的转移,云计算提供商希望客户承担自己的法律责任,而不是转嫁给他。

7.10软件许可


现在的软件许可限制了运行软件的计算机,用户购买软件并支付年度维修费用。很多云计算提供商使用开源软件,一部分原因就是商业软件的许可证模式不适合云计算。对于开源软件,主要的机遇是继续流行下去;对于商业软件,主要的机遇是改变许可证模式更好地适应云计算。

8.云计算的影响


云计算会对IT产业产生巨大的影响,开发人员应该要知道如何设计能部署到云计算的下一代系统。通常,重点是系统的横向扩展问题,这对软硬件设计具有特别的暗示:

    • 未来的应用一部分在客户端,一部分在云端。云端的部分具有可迅速伸缩的特点,而客户端应该在离线状态也能使用。

    • 未来的基础软件应该能感知自己是跑在虚拟机而不是物理裸机之上。基础软件应该在一开始就建立自己的计费系统。

    • 未来的硬件应该被设计成按容器(至少12个机架)扩展,而不是按单个机架扩展,因为容器将是购买硬件的最小单位。在内存、磁盘和网络闲置的时候,应该能够进入节能状态。flash应该添加到新的存储体系结构里,位于内存和磁盘之间。最后,数据中心交换机和WAN路由器的成本和带宽需要改进。

posted on 2013-09-10 16:22  OpenNaive  阅读(233)  评论(0编辑  收藏  举报

导航