书城计算机网络云计算和现代远程教育
48566000000019

第19章 云计算中的云存储(2)

(5)简单。构建高度可伸缩、可靠、快速和廉价的存储器是困难的,使之容易地供任何位置的任何应用程序使用更困难。Amazon S3必须同时做到这两点。

设计的强制因素是单个Amazon S3分布式系统必须同时支持内部Amazon应用程序和任何应用程序的外部开发人员的需求。这意味着它必须足够快速和可靠,用来运行Amazon .com的Web站点,同时还足够灵活,使得任何开发人员都可以把它用于任何数据存储需求。

6.2.1.2设计原则

Amazon使用下列分布式系统设计的原则来满足AmazonS3的需求:

(1)分散化。它使用完全分散化的技术来消除伸缩瓶颈和单点失效。

(2)自主。系统被设计成使得单个组件可以基于本地信息做出决定。

(3)本地职责。各个组件负责实现其一致性,永远不会给其对应组件造成负担。

(4)受控的并发性。操作被设计成无需或者只需有限的并发性控制。

(5)故障容忍。系统把组件故障视为操作的正常模式并且会继续执行操作,而不会产生中断或者只会产生最低限度的中断。

(6)受控的并行性。系统中使用的抽象具有如此细的粒度,以至于可以使用并行性来改进恢复的性能和健壮性或者新节点的引入。

(7)较小的、可以被很好理解的构件。不要尝试提供可以为任何人做任何事情的单个服务,而要代之以构建较小的组件,它们可以用做其他服务的构件。

(8)对称性。系统中的节点在功能方面是完全相同的,并且不需要针对功能的特定于节点的配置,或者只需要这方面的最低限度的配置。

(9)简单性。系统应该被构建得尽可能简单,而不是更简单。

6.2.1.3S3的工作方式

S3的设计旨在以较低的成本提供可伸缩性、高可用性和较短的等待时间。S3可以存储最多5GB的任意对象,并且能为每个对象存储最多2KB的元数据。对象是按桶(bucket)组织的。每个桶由一个AWS账户所拥有,并且通过唯一的、用户分配的键来标识桶。使用REST风格或SOAP接口创建、列出和检索桶以及对象。也可以使用HTTP GET接口或者通过BitTorrent检索对象。访问控制列表限制了谁可以访问每个桶中的数据。桶的名称和键是按规定表示的,可以使用HTTP访问它们。Amazon AWS Authentication工具允许桶的所有者创建一个经过验证的URL,它带有一个设定的时间长度,该URL将在这段时间内有效。例如,可以创建一个指向云上的数据的链接,把该链接提供给别的人,他们就可以在你预先设定的时间内访问你的数据,它可以是10分钟或10小时。也可以通过BitTorrent馈送访问桶项目,从而使S3可以充当客户的种子。也可以把桶设置成使HTTP登录信息保存到另一个桶中,以后可以把该信息用于数据挖掘。

6.2.2Nirvanix

6.2.2.1SDN的特性

SDN(Nirvanix Storage Delivery Network)把标准的IU服务器转变成可被流行应用程序访问的无限容量的网络附加存储(NAS)文件,并且直接集成进系统现有的存档和备份流程中。

Nirvanix构建了一个全球性的存储节点集群,并将其统称为SDN(Nirvanix Storage Delivery Network),由IMFS(Nirvanix Internet Media File System)提供动力。SDN可以在最佳的网络位置存储、递送和处理存储请求,在市场中提供最佳的用户体验。借助在多个地理节点中存储多份文件副本的能力,SDN能为开发人员、业务和企业提供无与伦比的数据可用性。Nirvanix CloudNAS for Linux把Nirvanix Storage Delivery Network挂接为可以通过NFS、CIFS或FTP访问的虚拟驱动器。在安装后,存储管理员可以申请标准的文件、目录或访问权限,然后网络上的用户可以从他们现有的应用程序或存储流程访问Nirvanix映射的驱动器。此外,存储管理员还可以访问Nirvanix SDN功能,如自主的基于策略的文件复制、规模达到PB的单一全球命名空间,以及位于一个或多个Nirvanix的全球集群式存储节点上的安全、加密的数据存储。

6.2.2.2CloudNAS的好处

云网络附加存储(CloudNAS)的好处包括:

(1)相比管理传统的存储解决方案要节省80%~90%的成本。

(2)消除了大量的资本支出,同时允许100%的存储利用率。

(3)对集成进现有存档和备份流程中的站外存储进行加密。

(4)内置有数据灾难恢复,并且自动把数据复制到地理上分散的最多三个存储节点上,可以100%地满足SLA。

(5)使数据在几秒钟内可用,这与站外磁带上的数据在几小时或几天内才可用形成了鲜明的对比。Nirvanix CloudNAS针对的是维护有存档、备份或者需要长期、安全存储的非结构化数据的存储库的公司,或者使用自动化过程把文件传输给映射的驱动器的系统。示范用例包括:利用既有备份/存档解决方案的数据的长期存档、使用集中共享数据存储库的部门、用于数据存档的磁盘——磁盘——云替换磁带,以及部门内所有计算机的简单备份。

6.2.3 MobileMe

MobileMe是Apple的解决方案,用于在云中把来自MobileMe服务的推送式电子邮件、推送式联系人和推送式日历递送给iPhone、iPod touch、Mac和PC上的原始应用程序。MobileMe还提供了一套清除广告的Web应用程序,它们可以通过任何现代浏览器提供类似于桌面的体验。MobileMe应用程序包括Mail、Contacts和Calendar,以及用于查看和共享照片的Gallery、用于在线存储和交换文档的iDisk。

6.2.3.1MobileMe的特性

利用MobileMe电子邮件账户,所有的文件夹、消息和状态指示器看起来完全相同,而不管是在iPhone、iPod touch、Mac上还是在PC上检查电子邮件。新的电子邮件消息通过蜂窝网络或Wi-Fi即时推送到iPhone,从而消除了手动检查电子邮件并等待下载的需要。推送还使联系人和日历持续保持最新,使得在一个设备上所做的更改将会自动向上推送到云并向下推送到其他设备。推送服务与iPhone和iPod touch上的原始应用程序、用于PC的Microsoft Outlook、Mac OS X应用程序(Mail.Address Book和iCal)以及MobileMe Web应用程序套件协同工作。

MobileMe Web应用程序提供了类似于桌面的体验,允许用户拖动并释放、单击并拖动,甚至使用键盘快捷键。MobileMe允许在任何位置访问Mail、 Contacts和Calendar,它都具有一个统一的界面,允许用户通过单击一次在应用程序之间切换,并且Gallery使得很容易以极佳的质量在Web上共享照片。Gallery用户可以从任何浏览器上传、重新排列、旋转照片,以及给他们加标题,允许访问者下载打印高质量的图像,并把照片放入相册中。MobileMe iDisk可以让用户利用拖放方式在线存储和管理文件,并通过自动发送一封具有下载文件链接的电子邮件,而使其很容易共享由于太大而不能通过电子邮件发送的文档。MobileMe包括20 GB的在线存储空间,可用于电子邮件、联系人、日历、照片、电影和文档。

6.2.3.2需求

通过MobileMe使用iPhone或iPod touch需要iPhone 2.0软件和iTunes 7.7或更高版本。为了用于Mac,MobileMe需要Mac OS X Tiger 10.4.11或者Mac OS X Leopard的最新版本。对于PC,MobileMe需要Windows Vista或者Windows XP Home或Professional(SP2),并且建议使用Microsoft Outlook 2003或更高版本。在Web上可以通过Safari 3、Internet Explorer 7和Firefox 2或更高版本访问MobileMe。

6.2.4Live Mesh

Live Mesh是Microsoft的“软件加服务”平台和体验,使PC及其他设备能够通过Internet彼此熟知,从而使个人和系统能够在Web上以及跨设备世界无缝地管理、访问和共享他们的文件和应用程序。

Live Mesh具有以下4种组件:

(1)一个平台,用于在设备、数据、应用程序和人员中定义和建模用户的数据关系,使之可以通过开放的数据模型和协议供开发人员使用。

(2)一种云服务,提供Microsoft数据中心里托管平台的实现。

(3)软件,它是平台的客户实现,使本地应用程序能够脱机运行并与云之间无缝地交互。

(4)一种平台体验,它的关键点是将用户的设备、文件、应用程序与社群图景(Social Graph)以及跨所有这些的新闻馈送集中展现。

Microsoft承诺提供一种开放的数据模型,使开发人员能够通过开发额外的应用程序和服务来帮助Live Mesh成长。同样重要的是,Microsoft计划使Live Mesh与多种不同的系统兼容。

Live Mesh软件(名为Mesh Operating Environment,MOE)。可用于:Windows XP、Windows Vista、Windows Mobile、Mac OS X。

该软件用于创建和管理设备与数据之间的同步关系。Live Mesh还纳入了一种云组件,名为Live Desktop。这是一种在线存储服务,允许通过Web站点访问同步的文件夹。它还包括一个名为Live Mesh Remote Desktop的远程桌面软件,它能远程地连接和管理同步关系中的任何设备。Live Mesh Remote Desktop允许你从Live Mesh以及任何连接到Internet的其他PC控制你的设备。

6.2.5Live Framework

有一个由协议和API组成的开发组件,称为Live Framework。是一种基于REST的API,用于通过HTTP访问Live Mesh服务。Live Framework不同于MOE,这是由于MOE仅仅使文件夹可以被共享,而Live Framework API能在识别数据的设备之间共享任何数据项。该APl把数据封装进Mesh Object中,它是Live Mesh的同步单元,然后将它用于跟踪变化和同步。Mesh Object包含数据馈送,可以用Atom、RSS、JSON或XML表示它。MOE软件也会为每个Live Mesh文件夹创建Mesh Object,使得可以对它们进行同步。

像云计算自身一样,云存储作为一个流行的术语使用得相当多。如果这个术语使用得过于频繁,它就可能指代Internet可访问的任何类型的存储。我们应该把云计算视为可伸缩的IT能力,并使用Web将其提供给外部顾客。