对软件系统来说架构是很重要的,因为它不仅定义了系统内部各个模块之间是如何整合和协调的,同时也对其整体表现起着非常重要的作用。而云,则是作为一个非常复杂的大型软件系统,其中包含着许许多多的模块和组件。
云架构可以分为服务和管理两大部分:
(1)在服务方面,主要包含三个层次,分别是:①Saas是Software as a Service,也就是软件即服务,它是将应用主要以基于Web的方式提供给客户。②Paas是Platform as a Service,也就是平台即服务,它是将一个应用的开发和部署平台作为服务提供给用户。③IaaS即Infrastructure as a Service,也就是基础设施即服务,它的作用是将各种底层的计算和存储等资源作为服务提供给用户。从用户角度来看,这三种服务是完全不同的,面向的用户也不同,但是从技术角度看,这三层有着很强的依赖关系。
(2)在管理方面,主要以云管理为主,它能够确保整个云计算中心能够安全、稳定的运行,并且能够被有效管理。
SaaS基本介绍:
(1)SaaS是最常见的也是最先出现的云计算服务,通过这种模式,用户只要接上网络,通过浏览器就能直接使用在云上运行的应用。SaaS云供应商负责维护和管理云中的软硬件设施,同时以免费或者按需使用的方式向用户收费,所以用户不需要考虑类似安装、升级或者防病毒等琐事,并且免去了初期高昂的硬件投入和软件许可费用的支出。
(2)SaaS的前身是ASP(Application Service Provider),其概念和思想与ASP相差不大。最早的ASP厂商有Salesforce.com和Netsuite,后面也有其他的企业,它们在创业时都专注于在线CRM应用,由于 那个时候的技术不成熟、缺少定制和集成等重要功能,网络环境欠佳,ASP并未受到市场的热烈欢迎,随后大批相关厂商破产。在2003年后,在Salesforce的带领下,残存的ASP企业都打出了SaaS这个口号,并且随着技术和商业上的成熟,很多企业都加入其中,国内的比如用友、金算盘、金蝶、阿里巴巴和八百客等等。
(3)由于SaaS产品起步较早,而且开发成本低,所以SaaS产品不论在数量上还是类别上都非常丰富。典型代表就是Google Apps、Salesforce CRM、Office Web Apps和Zoho。
(4)现有的SaaS服务在功能上还不如传统的桌面软件,但是它的优点有四个:①使用简单。只需要接上网络就可以访问这个SaaS服务,无需安装、升级和维护。②支持公开协议。比如html4、html5等等。③安全保障。SaaS供应商会提供一定的安全机制,不仅要确保云端的用户数据绝对的安全,还要 确保与用户之间通信的安全。
(5)目前比较成熟的五中技术是:html、JavaScript、css、flash、silverlight。
PaaS基本介绍:
(1)通过PaaS这种模式,用户可以在一个提供SDK(Software Development Kit,软件开发工具包)、文档、测试环境和部署环境等在内的开发平台上非常方便地编写和部署应用,而且不论是在部署还是在运行的时候,用户都无需为服务器、操作系统、网络和存储等资源的运维操心。
(2)业界的第一个PaaS平台诞生在2007年,是Salesforce的Force.com这个平台,我们不仅能使用Salesforce提供的完善的开发工具和框架来轻松地开发应用,还能够把应用直接部署到Salesforce的基础设施上,从而能利用强大的多租户系统。在2008年4月,Google也推出了Google App Engine,从而将PaaS所支持的范围从在线商业应用扩展到普通的web应用。
(3)PaaS的产品以少而精为主,比较著名的有:force.com 、google app engine、windows auzre platform和heroku。
(4)优势在于:①开发环境友好。可以进行远程部署。②服务丰富。PaaS平台会以API的形式将各种各样的服务提供给上层的应用。③管理和控制精细。PaaS能够提供应用层的管理和监控,从而更好地衡量应用的运行状态,还能够通过精确计量应用所消耗的资源来缴费。④伸缩性强。PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。⑤多租户机制。许多PaaS平台都自带多租户机制,不仅能够更经济地支撑庞大的用户规模,而且能够提供一定的可定制性来满足用户的特殊需求。⑥整合率高。比如Google
App Engine能够在一台服务器上承载成千上万个应用。
(5)PaaS支持的技术比较常见的五种:rest、多租户、并行处理、应用服务器、分布式缓存
IaaS基本介绍:
(1)类似IaaS的想法很早就有了,比如过去的IDC和VPS,直到2006年底,Amazon发布了EC2这个IaaS云服务,这类技术才广泛被业界认可和接受。
(2)比较具有代表性的IaaS产品有:Amazon EC2、IBM Blue Cloud、Cisco UCS和Joyent
(3)IaaS最明显的优势是:①免维护。用户不用操心维护工作。②经济。由于IaaS云大都采用虚拟化技术,所以应用和服务器的整合率普遍在10以上,也就是一台服务器运行10个应用。③开放标准。由于OVF等应用发布协议的诞生,应用也逐步可以在多个IaaS云上灵活地迁移。④支持的应用。因为IaaS主要是提供虚拟机,所以IaaS所支持应用的范围非常广泛。⑤伸缩性强。IaaS云只需要几分钟就能够给用户提供一个新的计算资源,而传统的企业数据中心往往需要几周的时间,并且计算资源可以根据用户需求来调整其资源的大小。
(4)IaaS采用的技术主要是四个:①虚拟化。也可以理解为基础设施层的多租户,也就是在一个物理服务器上生成多个虚拟机,成熟的虚拟化技术有VMware的ESX和开源的Xen。②分布式存储。主要是指分布式存储系统,比如Google的GFS。③关系型数据库。部署在云中的关系型数据库。④NoSQL,它是对海量数据的一种策略。