当前位置:文档之家› 云计算核心技术剖析(节选)

云计算核心技术剖析(节选)

2 IT,身为一个新兴行业,在其发展历程中向其他行业借鉴了一些先进的思想和理念,比如除了前面提到的从电力行业借鉴了公用事业这种商业模式和从丰田汽车流水线生产中总结出精益这套编程模式之外,还在软件设计方面引入了架构这个在建筑行业非常核心的概念。

架构,对软件系统而言是极为重要的。

因为它不仅定义了系统内部各个模块之间是如何整合和协调的,同时也对其整体表现起着非常关键的作用。

而云,作为一个非常复杂的大型软件系统,其中包含着许许多多的模块和组件,所以如果能够理出其架构的话,将会非常有益。

为了让大家对云计算有更深入的理解,本章将会对云的架构进行深入剖析。

除了云的架构之外,本章还将会对云计算最主要和最常见的4种模式进行深入介绍。

2.1云的架构在对云计算进行了三年多的研究之后,觉得云计算虽然涉及了很多产品与技术,表面上看起来的确有点纷繁复杂,但是云计算本身还是有迹可循和有理可依的,所以在个人理解的基础上,我总结出了一套云计算的架构,具体请看图2-1。

2.1 云的架构 17 2 6这个云架构共分为服务和管理这两大部分。

在服务方面,主要以提供用户基于云的各种服务为主,共包含3个层次。

其一是Software as a Service (软件即服务),简称SaaS ,这层的作用是将应用主要以基于Web 的方式提供给客户。

其二是Platform as a Service (平台即服务),简称PaaS ,这层的作用是将一个应用的开发和部署平台作为服务提供给用户。

其三是Infrastructure as a Service (基础设施即服务),简称IaaS ,这层的作用是将各种底层的计算(比如虚拟机)和存储等资源作为服务提供给用户。

从用户角度而言,这3层服务是独立的,因为它们提供的服务是完全不同的,而且面对的用户也不尽相同。

但从技术角度而言,云服务这三层是有一定依赖关系的。

比如一个SaaS 层的产品和服务不仅需要用到SaaS 层本身的技术,而且还依赖PaaS 层所提供的开发和部署平台或者直接部署于IaaS 层所提供的计算资源上,而PaaS 层的产品和服务也很有可能构建于IaaS 层服务之上。

Google AppsSalesforce CRM Office Web Apps Zoho HTML JavaScript CSS Flash Silverlight Google App Engine Windows Azure Platform Heroku REST 多租户 并行处理 应用服务器 分布式缓存 Amazon EC2 IBM Blue Cloud Cisco UCS Joyent 系统虚拟化 分布式存储 关系型数据库 NoSQL Software as a Service (软件即服务)用户管理 监控系统计费管理 安全管理 服务管理 资源管理 容灾支持 运维管理 客户支持Platform as a Service (平台即服务) Infrastructure as a Service (基础设施即服务)18第2章云计算的架构图2-1云计算的架构在管理方面,主要以云的管理层为主,它的功能是确保整个云计算中心能够安全、稳定地运行,并且能够被有效管理。

接下来,将给大家详细介绍每个层次,其中将不仅涉及它们的历史和相关产品,而且还将讨论它们的优势和采用的技术。

2.1.1SaaSSaaS是最常见的,也是最先出现的云计算服务。

通过SaaS这种模式,用户只要接上网络,通过浏览器就能直接使用在云上运行的应用。

SaaS云供应商负责维护和管理云中的软硬件设施,同时以免费或者按需使用的方式向用户收费,所以用户不需要顾虑类似安装、升级和防病毒等琐事,并且免去初期高昂的硬件投入和软件许可证费用的支出。

1. 历史SaaS的前身是ASP(Application Service Provider),其概念和思想与ASP相差不大。

最早的ASP厂商有和Netsuite,其后还有一批企业跟随进来。

这些厂商在创业时都主要专注于在线CRM(客户关系管理)应用,但由于那时正值互联网泡沫破裂的时候,而且当时ASP本身的技术也并不成熟,而且还缺少定制和集成等重要功能,再加上当时欠佳的网络环境,所以ASP没有受到市场的热烈欢迎,从而导致大批相关厂商破产。

但在2003年后,在Salesforce的带领下,惨存的ASP企业喊出了SaaS这个口号,并随着技术和商业这两方面不断成熟,Salesforce、WebEx和Zoho等国外SaaS企业得到了成功,而国内的企业(诸如用友、金2.1 云的架构 19 2 6算盘、金碟、阿里巴巴和八百客等)也加入到SaaS 的浪潮中。

2. 相关产品由于SaaS 产品起步较早,而且开发成本低,所以在现在的市场上,SaaS 产品不论是在数量还是在类别上都非常丰富。

同时,也出现了多款经典产品,其中最具代表性的莫过于Google Apps 、Salesforce CRM 、Office Web Apps 和Zoho 。

❑ Google Apps 。

中文名为“Google 企业应用套件”,它提供企业版Gmail 、Google 日历、Google 文档和Google 协作平台等多个在线办公工具,而且价格低廉,使用方便,并且已经有超过两百万家企业购买了Google Apps 服务。

❑ Salesforce CRM 。

它是一款在线客户管理工具,并在销售、市场营销、服务和合作伙伴这4个商业领域上提供完善的IT 支持,还提供强大的定制和扩展机制,来让用户的业务更好地运行在Salesforce 平台上。

这款产品常被业界视为SaaS 产品的“开山之作”。

❑ Office Web Apps 。

它是微软所开发的在线版Office ,提供基于Office 2010技术的简易版Word 、Excel 、PowerPoint 及OneNote 等功能。

它属于Windows Live 的一部分,并与微软的SkyDrive 云存储服务有深度的整合,而且兼容Firefox 、Safari 和Chrome 等非IE 系列浏览器。

和其他在线Office 相比,它的最大优势是,由于其本身属于Office 2010的一部分,所以在与Office 文档的兼容性方面远胜其他在线Office 服务。

❑ Zoho 。

Zoho 是AdventNet 公司开发的一款在线办公套件。

在功能方面,它绝对是现在20第2章云计算的架构业界最全面的,有邮件、CRM、项目管理、Wiki、在线会议、论坛和人力资源管理等几十个在线工具供用户选择。

同时包括美国通用电气在内的多家大中型企业已经开始在其内部引入Zoho的在线服务。

Zoho在国内的代理商为百会。

3. 优势虽然和传统桌面软件相比,现有的SaaS服务在功能方面还稍逊一筹,但是在其他方面还是具有一定的优势的,下面是其中的4个方面。

❑使用简单。

在任何时候或者任何地点,只要接上网络,用户就能访问这个SaaS服务,而且无需安装、升级和维护。

❑支持公开协议。

现有的SaaS服务在公开协议(比如HTML 4/HTML5)的支持方面都做得很好,用户只需一个浏览器就能使用和访问SaaS应用。

这对用户而言非常方便。

❑安全保障。

SaaS供应商需要提供一定的安全机制,不仅要使存储在云端的用户数据处于绝对安全的境地,而且也要通过一定的安全机制(比如HTTPS等)来确保与用户之间通信的安全。

❑初始成本低。

使用SaaS服务时,不仅无需在使用前购买昂贵的许可证,而且几乎所有的SaaS供应商都允许免费试用。

4. 技术由于SaaS层离普通用户非常接近,所以大家对SaaS层用到的大多数技术都耳熟能详。

下面列出了其中最主要的5种技术。

2.1 云的架构 21 26 ❑ HTML 。

它是标准的Web 页面技术,现在主要以HTML 4为主。

但是即将推出的HTML5会在很多方面推动Web 页面的发展,比如视频和本地存储等。

❑ JavaScript 。

一种用于Web 页面的动态语言,通过JavaScript ,能够极大地丰富Web 页面的功能。

最流行的JavaScript 框架有jQuery 和Prototype 。

❑ CSS 。

主要用于控制Web 页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。

❑ Flash 。

业界最常用的RIA (Rich Internet Applications ,富因特网应用)技术,能够在现阶段提供HTML 等技术所无法提供的基于Web 的富应用,而且在用户体验方面也非常不错。

❑ Silverlight 。

来自微软的RIA 技术。

虽然它现在的市场占有率稍逊于Flash ,但由于它可以使用C#来进行编程,所以对开发者非常友好。

由于通用性和较低的学习成本,大多数云计算产品都会倾向于HTML 、JavaScript 和CSS 这对黄金组合,但是在HTML5被大家广泛接受之前,RIA 技术在用户体验方面还是具有一定优势的,所以Flash 和Silverlight 也将会有一定的用武之地,比如VMware vCloud 就采用了基于Flash 的Flex 技术,而微软的云计算产品肯定会在今后大量使用Silverlight 技术。

2.1.2 PaaS 通过PaaS 这种模式,用户可以在一个提供SDK (Software Development Kit ,即软件开发22第2章云计算的架构工具包)、文档、测试环境和部署环境等在内的开发平台上非常方便地编写和部署应用,而且不论是在部署还是在运行的时候,用户都无需为服务器、操作系统、网络和存储等资源的运维操心。

PaaS在整合率上非常惊人,比如一台运行Google App Engine的服务器能够支撑成千上万个应用,也就是说,PaaS是非常经济的。

PaaS主要面对的用户是开发人员。

1. 历史PaaS是云服务这三层之中出现最晚的。

业界第一个PaaS平台诞生在2007年,是Salesforce 的,通过这个平台,不仅能使用Salesforce提供的完善的开发工具和框架来轻松地开发应用,而且能把应用直接部署到Salesforce的基础设施上,从而能利用其强大的多租户系统。

接着,在2008年4月,Google推出了Google App Engine,从而将PaaS所支持的范围从在线商业应用扩展到普通的Web应用,也使得越来越多的人开始熟悉和使用功能强大的PaaS 服务。

2. 相关产品和SaaS产品百花齐放相比,PaaS产品主要以少而精为主,其中比较著名的产品有:、Google App Engine、Windows Azure Platform和Heroku。

❑。

就像上面所说的那样是业界第一个PaaS平台,它主要通过提供完善的开发环境和强健的基础设施等来帮助企业和第三方供应商交付健壮的、可靠的和可伸缩的在线应用。

相关主题