什么是云计算:
云计算是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,它作为一种新的互联网应用模式,核心部分依然是数据中心,应用虚拟化、SOA、WEB2.0等一系列技术形成的云计算平台。
云计算平台:
云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
云计算主要平台及特性:
1、Amazon的的的的云计算平台(Elastic Compute Cloud)
2006年Amazon提出了Elastic Compute Cloud服务,作为互联网上最大的在线零售商,每天负担着大量的网络交易,同时Amazon也为独立软件开发人员以及开发商提供云计算服务平台。Amazon将他们的云计算平台称为弹性计算云(elastic compute cloud,简称EC2),是最早提供远程云计算平台服务的公司 。Amazon将自己的弹性计算云建立在公司内部的大规模集群计算的平台上,而用户可以通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(instance)。用户使用实例的付费方式由用户的使用状况决定,即用户只需为自己所使用的计算平台实例付费,运行结束后计费也随之结束。这里所说的实例即是由用户控制的完整的虚拟机运行实例。通过这种方式,用户不必自己去建立云计算平台。节省了设备与维护费用。 弹性计算云平台为用户或者开发人员提供了一个虚拟的集群环境,在用户具有充分灵活性的同时,也减轻了云计算平台拥有者(Amazon公司)的管理负担。弹性计算云中的每一个实例代表一个运行中的虚拟机。用户对自己的虚拟机具有完整的访问权限,包括针对此虚拟机操作系统的管理员权限虚拟机的收费也是根据虚拟机的能力进行费用计算的,实际上,用户租用的是虚拟的计算能力。 总而言之,Amazon通过提供弹性计算云,满足了小规模软件开发人员对集群系统的需求,减小了维护负担。其收费方式相对简单明了:用户使用多少资源,只需为这一部分资源付费即可。
2、Google的云计算平台(Google App Engine)
2008 年 4 月Google发布了Google App Engine第一个 beta 版本, Google App Engine 是一个开发、托管网络应用程序的平台,使用 Google 管理的数据中心,这个平台先是为Google最重要的搜索应用提供服务,现在已经扩展到其他应用程序。Google App Engine 使用了云计算技术。它跨越多个服务器和数据中心来虚拟化应用程序。 Google的硬件条件优势,大型的数据中心、搜索引擎的支柱应用,促进Google云计算迅速发展。Google的云计算主要由MapReduce、Google文件系统(GFS)、BigTable组成。它们是Google内部云计算基础平台的3个主要部分。Google 还构建其他云计算组件,包括一个领域描述语言以及分布式锁服务机制等。Sawzall是一种建立在MapReduce基础上的领域语言,专门用于大规模的信息处理。Chubby是一个高可用、分布式数据锁服务,当有机器失效时,Chubby使用Paxos算法来保证备份。 当前,Google App Engine 支持的编程语言是 Python 和 Java (通过扩展,可以支持其他 JVM 语言,诸如 Groovy、JRuby、Scala 和 Clojure),支持 Django、WebOb、PyYAML 的有限版本。Google 说它准备在未来支持更多的语言,Google App Engine 也将会独立于某种语言。任何支持 WSGI 的使用 CGI 的 Python 框架可以被使用。 Google App Engine 在用户使用一定的资源时是免费的。支付额外的费用可以获得应用程序所需的更多的存储空间、带宽或是 CPU 负载。
3、微软的云计算平台(Azure Services Platform)
2008年10月微软推出了Azure Services Platform,它是一个寄宿于微软数据中心的英特网级别的云计算和服务平台。它提供一系列功能构建包括消费网站到企业应用场景在内的应用程序,它包括一个云计算操作系统和一个为开发者提供的服务集。通过支持目前的工业标准和Web协议如REST和SOAP等可以实现完全的互操作,你能够单独的使用每个Azure service,也可以一块使用他们,以进行组合应用,或构建新的应用程序来扩展现有的应用程序。 Windows Azure使设计用来帮助开发者在英特网上快速和简单的创建、部署、管理、和发布web服务及应用程序,Windows Azure是一个云服务操作系统,用来为The Azure Services Platform提供一个开发、服务寄宿和服务管理环境。Windows Azure通过微软数据中心为开发者提供了按需计算能力和存储能力以寄宿、扩展和管理英特网上的应用程序。 Azure Services Platform不但可以对微软WCF等技术的支持外,而且还可以对第三方通信技术强有力的支持,从而扩大了微软云计算技术在企业中的普及与应用。Hprose(High Performance Remote Object Service Engine)既是一种新型的通信技术,它是一款第三方高性能跨语言跨平台的远程对象服务引擎,并支持众多语言和平台,包括主流的.NET、Java、PHP、Python、Ruby、JavaScript、ActionScript、Delphi、FreePascal、Objective-C、ASP、Perl、C++等。在这些支持的语言之间可以实现方便且高效的互通,能够有效的取代WebService实现跨语言跨平台高几倍效率的分布式电信级的解决方案。
4、IBM的云计算平台(蓝云)
“蓝云”解决方案是由IBM云计算中心开发的企业级云计算解决方案。该解决方案可以对企业现有的基础架构进行整合,通过虚拟化技术和自动化技术,构建企业自己拥有的云计算中心,实现企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,打破应用对资源的独占,从而帮助企业实现云计算理念。
IBM 的“蓝云”计算平台是一套软、硬件平台,将Internet上使用的技术扩展到企业平台上,使得数据中心使用类似于互联网的计算环境。“蓝云”大量使用了IBM先进的大规模计算技术,结合了IBM自身的软、硬件系统以及服务技术,支持开放标准与开放源代码软件。
“蓝云”基于IBM Almaden研究中心的云基础架构,采用了Xen和PowerVM虚拟化软件,Linux操作系统映像以及Hadoop软件(Google File System以及MapReduce的开源实现)。IBM已经正式推出了基于x86芯片服务器系统的“蓝云”产品。
“蓝云”平台的一个重要特点是虚拟化技术的使用。虚拟化的方式在“蓝云”中有两个级别,一个是在硬件级别上实现虚拟化,另一个是通过开源软件实现虚拟化。硬件级别的虚拟化可以使用IBM p系列的服务器,获得硬件的逻辑分区LPAR(logic partition)。逻辑分区的CPU资源能够通过IBM Enterprise Workload Manager来管理。通过这样的方式加上在实际使用过程中的资源分配策略,能够使相应的资源合理地分配到各个逻辑分区。p系列系统的逻辑分区最小粒度是1/10颗CPU。Xen则是软件级别上的虚拟化,能够在Linux基础上运行另外一个操作系统。
云计算平台的特性:
1、按需自助服务。消费者无需同服务提供商交互就可以自动地得到自助的计算资源能力,如服务器的时间、网络存储等(资源的自助服务)。
2、无所不在的网络访问。借助于不同的客户端来通过标准的应用对网络访问的可用能力。
3、划分独立资源池。根据消费者的需求来动态地划分或释放不同的物理和虚拟资源,这些池化的供应商计算资源以多租户的模式来提供服务。用户经常并不控制或了解这些资源池的准确划分,但可以知道这些资源池在那个行政区域或数据中心。例如包括存储、计算处理、内存、网络带宽以及虚拟机个数等。
4、快速弹性。一种对资源快速和弹性提供和同样对资源快速和弹性释放的能力。对消费者来讲,所提供的这种能力是无限的(随需的、大规模的计算机资源),并且在任何时间以任何量化方式可购买的。
5、服务可计量。云系统对服务类型通过计量的方法来自动控制和优化资源使用。(例如存储、处理、带宽以及活动用户数)。资源的使用可被监测、控制以及对供应商和用户提供透明的报告(即付即用的模式)。
6、云软件可充分借助于云计算的范式优势来面向服务,聚焦于无状态的、松耦合、模块化以及语义解释的能力。