构建的可伸缩性和达到的性能:一个虚拟座谈会
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
- Architecture, Java, .NET, Ruby,
作者 Dionysios Synodinos译者 韩锴 发布于 2008年5月4日 下午6时56分
一向倡导所谓的“硬件即服务(HaaS)”的Amazon的弹性计算云(Elastic Computer Cloud,EC2),如今在它的特性列表中加入了持久化存储的功能。Amazon的CTO Werner Vogels讲述了如何把存储卷挂接到EC2实例上,以及存储卷如何处理失败与数据一致性的问题;同时他也谈到了如何存储一个S3(Amazon的存储服务)中存储的快照作为备份。InfoQ中有几篇文章探讨了EC2服务背后的技术和好处:
Amazon的弹性计算云(EC2)基于剑桥大学的Xen虚拟化技术,它是一种计算服务,允许用户按照需要创建、运行和终止基于Linux的服务实例。每个虚拟机实例都是一个虚拟服务器,会在启动时通过DHCP获得一个IP地址。虚拟机的镜像(Amazon称其为Amazon机器镜像,AMI)可以被归档并传递,这一点很像VMware的虚拟appliance,因此,开发者可以设置一个必需软件的初始实例,然后将它快速地部署到大量虚拟服务器上。
使用EC2的主要障碍在于它缺少持久化存储的支持,Amazon已经意识到了这个问题,正如其CTO Werner Vogels在blog所描述的那样,Aamzon已经将持久化存储列为一项新特性了:
我要向你介绍Amazon EC2的最新特性:持久化本地存储。这项特性在EC2用户的请求列表中呼声很高。我相信,只要结合使用这个月早些时候发布的“可用区域(Availability Zone)”和“弹性IP地址(Elastic IP Address)”技术,EC2将成为构建具有高可扩展性和可用性的应用程序的理想环境。Amazon EC2的持久化存储将会以存储卷的形式提供,你可以把它当作一个原生的块存储设备,挂载到你的EC2实例。它看上去像一个没有格式化的硬盘。一旦你第一次挂载了存储卷,就能够将它格式化为你想要的任何文件系统,或者如果你的程序比如高端的数据库引擎有需要,也可以不格式化直接使用。
Werner提醒说,使用者可以为他们的存储拍摄快照,并存储到S3中:
...我们还加入了快照特性:你可以要求EC2为存储卷拍摄快照,并保存到Amazon S3中。你可以将它用于长期的备份,在回滚策略中使用它们,也可以用于(世界范围内的)卷的重建。
Thorsten提前试用过该特性,并且把他的经验记在了Blog上。Thorsten来自RightScale,这是一家提供云计算服务器平台的公司,他们的平台是利用Amazon Web Services(AWS)部署的。
有了存储卷以及拍摄快照这样很酷的功能,下面这个趋势已变得越来越明显了:相比那些仍然抱着自己的机器不放的人来说,采用云计算的人手上将握有更多的计算能力和灵活性。这就像敏捷软件开发一样:如果你想让自己的internet/web service得以生存的话,就必须参与到云计算,否则你的竞争对手就会更快地、更好地、更便宜地部署他们的服务,从而将你远远落下。
来自Amazon的Jeff Barr描述了持久化功能的更多技术细节,并且强调了存储能力可以根据需要随时获取:
周六,我花了些时间尝试了一下这些新特性。在短短的几分钟内,我就创建了一对512GB的卷,并把它们挂接到EC2实例上,然后用mkfs在上面创建文件系统,最后挂载它们。当我使用完成后,就将它们卸载、解除连接,最后删除它们。这一切都非常简单。我可能有些“王婆买瓜”的味道,但是这种可以按照需要获取大量存储的能力看上去的确是非常酷。
来自Amazon’s EC2团队的Matt也谈论了这一新特性:
你将能够创建从1GB到1TB不等的卷,并且可以将多个卷挂接到一个单独的实例上。这些卷可以以高吞吐量和低等待时间访问Amazon EC2,并且可以挂接到任何运行中的EC2实例上(这些卷看上去就是EC2实例内部的设备而已)。这一特性使得在Amazon EC2上运行关系数据库、分布式文件系统、Hadoop进程集群等等程序更为简单。一旦持久化存储投入使用后,Amazon EC2将会增加一些新的API来支持它。包括管理卷(CreateVolume和DeleteVolume)、挂载卷(AttachVolume和DetachVolume)和保存快照到Amazon S3(CreateSnapshot和DeleteSnapshot)。
Amzon宣称,这项新特性已经私下提供给少量的用户了,它将会在今年晚些时候正式公布。你可以在infoq.com/amazon获得更多信息。
查看英文原文:Amazon upgrades EC2 with Persistent Storage这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。
本文是Productive Java with Ruby系列文章的第二篇,通过上一篇的介绍,我想大家对如何利用Ruby进行单元测试有了一个基本的了解,从这里开始,我将和大家一起讨论一些利用Ruby进行单元测试时的高级话题。
《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。
2 条回复
回复