当前位置:首页 > 云计算公共服务平台可行性研究报告
亚马逊的云计算产品总称为Amazon Web Service(亚马逊网络服务),主要由4部分组成,包括S3(Simple Storage Service,简单的存储服务)、EC2(Elastic Compute Cloud,可伸缩计算云)、SQS(Simple Queuing Service,简单信息队列服务)以及SimpleDB。也就是说,亚马逊目前为开发者提供了存储、计算、中间件和数据库管理系统服务。作为 Infrastructure as a Service (IaaS) 在实际应用中的一个例子,The NewYorkTimes 使用成百上千台 Amazon EC2 实例在 36 小时内处理 TB 级的文档数据。如果没有 EC2,TheNewYork Times 处理这些数据将要花费数天或者数月的时间。
另一个示例是Joyent,其主要产品是一系列虚拟化服务器,这些服务器提供运行网站的高度可扩展的随需应变基础设施,包括用ruby on rails 、 PHP 、 Python 和 JAVA编写的丰富的web应用程序。
3.4 云计算的部署模式
不管利用了哪种服务模型(SaaS、 PaaS、或 IaaS),存在四种云服务部署模型,以及用以解决某些特殊需求而在它们之上的演化变形。
(1)私有云。在这种模式下,云计算基础设施由单个组织经营,可由该组织或第三方管理。可以是场内服务(on-premises),也可以是场外服务(off-premises)。
(2)社区云。在这种模式下,云计算基础设施由数个组织共享,并为一个有共同关注点的团体提供支持,可由团体组织或第三方管理。云基础设施由若干个组织分享,以支持某个特定的社区。社区是指有共同诉求
17
和追求的团体(例如使命、安全要求、政策或合规性考虑等)。可以是该组织或某个第三方负责管理,可以是场内服务(on-premises),也可以是场外服务(off-premises)。
(3)公共云。在这种模式下,云计算基础设施由一家销售云计算服务的组织所拥有,该组织将云计算服务销售给公众或大型工业团体。
(4)混合云。在这种模式下,云计算基础设施由两种或两种以上的云(私有、团体或公共)组成,每种模式的云都保持独立,但通过标准或专有技术被组合成一体,具有数据和应用程序的可移植性。如Amazon Web Server等既为企业内部又为外部用户提供云计算服务。这些技术促成数据和应用的可移植性(例如用以云之间负载分担的cloud bursting技术)。
3.5云计算关键技术
云计算是一种新型的超级计算方式,以数据位中心,是一种数据密集型的超级计算。在数据存储、数据管理和编程模型等方面具有自身独特的技术。
3.5.1数据存储技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。另外,云计算系统需要同时满足大量用户的需求,并行的为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐量和高传输速率的特点。
18
云计算的数据存储技术主要有谷歌的非开源的GFS和Hadoop开发团队开发的GFS的开源实现HDFS。大部分IT厂商,包括yahoo、Intel的云计划采用的都是HDFS的数据存储技术。
未来的发展集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高IO速率等方面。
3.5.2数据管理技术
云计算系统对大数据集进行处理、分析想用户提供高效的服务。因此,数据管理技术必须能够高效的管理大数据集。其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。
云计算的特点是对海量数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。因此,云系统的数据管理往往采用数据库领域中列存储的数据管理模式。将表按列划分后存储。
云计算的数据管理技术最著名的是谷歌的BigTable数据管理技术,同时Hadoop开发团队正在开发类似BigTable的开源数据管理模块。
由于采用列存储的方式管理数据,如何提高数据的更新频率以及进一步提高随机读取速率是未来数据管理必须解决的问题。
3.5.3编程模式
为了使用户能更轻松的享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简
19
单,必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。
云计算采用MapReduce的编程模型。现在所有IT厂商提出的云计划中采用的编程模型,都是基于MapReduce的思想开发的变成工具。MapReduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。MapReduce这种编程模型不仅适用于云计算,在多核和多处理器、cell processor以及异构机群上同样具有良好的性能。
该编程模型仅适用于编写任务内部松耦合、能够高度并行化的程序。如何改进编程模式,是程序员能够轻松的编写紧耦合的程序,运行时能高效调度和执行任务是MapReduce编程模型未来的发展方向。
3.6云计算与其他概念
3.6.1云计算与网格计算
从根本上来说,从应对Internet应用的特征特点来说,他们是一致的,为了完成在Internet情况下支持应用,解决异构性、资源共享等等问题。
云计算可看做是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。
20
共分享92篇相关文档