这是我结合云计算概念和GigaSpaces的一篇阅读笔记。适合初学者。
一、什么是云计算?
根据NIST(National Institute of Standards and Technology)的定义,云计算[1]是:
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, stroage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.
五个核心特点是: On-demand self-service, Broad network access, Resource pooling, Rapid elasticity, Measured Service
三个服务模型是: Cloud Software as a Service (SaaS), Cloud Platform as a Service (PaaS), Cloud Infrastructure as a Service (IaaS)
四个部署模型是: Private cloud, Community cloud, Public cloud, Hybrid cloud
可以用图[2]来简单表示一下:
这里有两点要注意:
第一,Cloud computing is still an evolving paradigm. Its definitions, use cases, underlying technologies, issues, risks, and benefits will be refined and better understood with a spirited debate by the public and private sectors. This definition, its attributes, characteristics, and underlying rationale will evolve over time.
第二,The cloud computing industry represents a large ecosystem of many models, vendors, and market niches. This definition attempts to encompass all of the various cloud approaches.
二、云计算产业链
Gartner近日指出,2010年全球云服务收入预计将达到683亿美元,与2009年586亿美元的收入相比,增长16.6%。该行业预计到2014年的收入将达到1,488亿美元,呈现出强劲的增长势头。这个统计基本将所有基于网络提供服务的厂商都计入云计算市场。
云计算产业链生态系统可以参考下图,然后自下而上做简单解释[3]。
硬件与设备制造市场包括绝大部分传统的硬件制造商,因为它们都已经在某种形式上支持虚拟化和云计算,比如Intel、AMD、Cisco、SUN,IBM,HP,Dell,。
云计算解决方案供应商(Cloud technology enabler)是为客户建立公共和私有云等提供软件和方案,该市场在2008年末才开始形成,云计算解决方案主要以虚拟化管理软件为基础,该市场参与者多为以前虚拟化管理软件市场的参与者。主要有:IBM、HP、微软、思杰(Citrix)、SUN(Qlayer)、Redhat、Novell。
基础设施即服务(IaaS, Infrastructure as a Service),以按需使用按需付费的模式是向客户出售服务器、存储、网络设备、带宽等基础设施资源,该市场主要参与者目前有: Amazon AWS、Rackspace Cloud、Gogrid、Gridlayer、flexiscale、elastichosts、Terremark 、Newservers等。
平台即服务(PaaS, Platform as a Service),是利用一个完整的基础设施平台,包括应用设计、应用开发、应用测试和应用托管,这些都作为一种服务提供给客户,而不是用大量的预置型(on-premise)基础设施支持开发。该市场的参与者目前主要有:Google Appengine、Microsoft Azure 、GigaSpaces、Joyent、force.com等。
软件即服务(SaaS, Software as a Service)和一切即服务(XaaS, Everything is a Service)即是提供面向各种具体应用的服务,该市场直接面向最终的消费者,该市场参与者众多,包括salesforce.com、NetSuite、zoho、google等。
三、GigaSpaces XAP介绍[4]
GigaSpaces客户包括全球十大投资银行的其中六间、全球知名交易所、市场信息供应商、对冲基金及零售银行、五家全球最高排名网上游戏公司和著名互联网媒体机构。GigaSpaces成立于2000年,在美国、欧洲及亚洲设有办事处。有关GigaSpaces的更多资料,请浏览http://www.gigaspaces.com。 联科为GigaSpaces Technologies的总代理,为中国大陆、香港、澳门及台湾的客户提供eXtreme Application Platform (XAP)分销、部署、培训及支持服务。
GigaSpaces XAP是一种在虚拟化和分布式环境中可自动扩展的高端应用服务器, 可为事务型和分析型应用提供一个高性能、可扩展、高可靠性的运行平台。XAP平台的核心技术包括分布式内存网格, 消息网格和计算网格等技术。XAP提供了可控的扩展性,保证尖峰需求下性能的稳定。 XAP平台可以使应用无缝的运行于公有或私有云计算环境中, 实现弹性计算。 它受到世界财富前100强公司的信任,如:道琼斯和法国兴业银行就将XAP作为新型的战略解决方案,以其提高IT效率和组织的敏捷性。
下图描述了GigaSpaces XAP的整体技术架构。系统主要由4个层次组成,包括虚拟化层,内存集群层,中间件运行时层,和应用服务层。
其中的主要构成组件如下:
GigaSpaces XAP实现了基于Jini和JavaSpaces架构的商业化应用。平台的技术构成还包括以下部分:
GigaSpaces XAP主要应用在虚拟化和分布式环境中构建高性能、可扩展、高可靠性的企业级应用。 下面列出了一下典型的应用场景:
四、GigaSpaces XAP的优越性
传统技术需要依赖各种不同中间件产品实现不同的功能,比如同一个系统里的应用服务器和消息中间件是两个完全不同的产品,这影响了系统的性能、扩展性以及可靠性,增加了系统开发和集成的复杂度,并且增加了各种license整体开销以及系统维护的成本。
GigaSpacesXAP作为一个单一的中间件平台提供数据网格,消息处理,和分布式计算的功能。 使得分布式应用的开发、部署和维护变得异常简有效,从而降低了整个软件的拥有成本。统一应用平台优越性主要体现在:
传统技术使用的分层软件架构容易造成性能瓶颈,系统无法做到线性扩展,导致系统容量及响应速度难以达到理想需求。
GigaSpacesXAP根据基于空间的架构进行设计, 提供极限的吞吐量,快速的响应时间,和零延时交易。高性能优越性主要体现在:
传统技术使用的分层架构设计,系统瓶颈可能在不同情况下出现在不同的层次,导致系统自动按需扩展非常困难,即使耗费巨大进行系统的重构也不能做到线性的扩展。提高硬件的配置是一种暂时解决系统瓶颈的方式,但是很快新的性能瓶颈又会出现。 这些问题的根源是传统的软件架构设计不具备可扩展性,系统的组件相对集中,尤其是数据库,它会伴随应用负载的快速增长而迅速饱和。
GigaSpacesXAP涵盖了对企业应用端到端的完整支持,从前端的负载均衡器,到中间的消息和计算处理,再到后端的数据支持,整个应用都可以部署在基于内存的可扩展单元中。可以通过SLA的定义或者利用Admin API进行编码实现扩展策略,使系统自动按需扩展,真正做到“弹性计算”。 按需扩展优越性主要体现在:
传统技术通常需要人为干预和处理停机等意外事件,系统恢复过程比较常,可能导致数据损失和服务不可用的情况发生。
GigaSpacesXAP将数据存储在内存中,利用分布式高可用的拓扑结构,构成一个稳定可靠的数据库。 比如使用PrimaryBackup的拓扑结构, 如果Primary的模块意外宕机,系统会自动捕获的这个异常事件,进而自动从失败中恢复,仅需几秒钟时间。 自我恢复机制优越性主要体现在:
五、GigaSpaces XAP主要功能清单
1、内存网格 (In-Memory Data Grid) |
|
2、消息网格 (Messaging Grid) |
|
3、服务网格(Service Grid) |
|
4、远程执行(Executors) |
|
5、远程调用(Remoting) |
|
6、事务处理(Transaction) |
|
7、监控和管理 |
|
8、无缝集成第三方软件 |
|
9、支持Web应用 |
|
10、支持各种开发平台 |
|