云计算的概念
云计算是基于分布式计算、并行计算以及网格计算的开展。
云计算的理想 是:用户只需要一个终端设备,无论是PC、手机、PDA还是平板电脑,通过互联网,用户就可以享受到云计算所提供的效劳,并且用户自身不需要装置体积庞大的客户端、不需要担忧用户设备的计算才干、不需要考虑用户设备的存储才干、也不用担忧软件 的晋级维护等等一系列问题。
与传统软件不同的是,通过“云”,用户可以享受到各种硬、软件的效劳,“云”甚至将计算机的计算才干作为一种商品通过互联网停止出卖。通过云计算,用户的一切软、硬件环境都可以通过“云”端来获取,甚至于操作系统都可以基于“云”技术来实现,像Google的cHR ome OS、惠普的web OS,这些都是“云”端操作系统的实例。
有了“云”操作系统,用户只需要装置一个阅读器(例如chrome),就可以充沛享受“云”所带来的所有效劳,而用户的个人终端上甚至连根本的存储才干都可以省略,用户的所有数据都可以存储在“云”端。无论用户走到哪里、使用什么样的终端,只要用户登录自己的账户,就可以随时随地获取用户的所有数据。
云计算的效劳形式
Iaas(Infrastructure as a Service:根底设备即效劳)
根底设备即效劳,用户通过互联网获得对所有设备的利用,包括了处置数据、存储数据、网络访问以及其他根本的计算才干,用户可以在其上装置和运行任意的软件,如:操作系统、office等等应用程序。IaaS所提供的效劳就像是一台虚拟的计算机,用户通过互联网就可以登录自己的计算机,它的携带本钱降到了零,完全就是一台“云”端个人计算机,用户可以像操作个人电脑一样操作它。例如OpenStack,它是由美国国家航空航天局(NASA)和Rackspace合作研发的,并且是一个面向任何人的开放源码项目;
PaaS(Platform as a Service:平台即效劳)
平台即效劳,是一种用户通过互联网就可以获取效劳器平台的效劳。该效劳器平台为用户提供了软件研发工具和部署环境,用户开发的应用程序可以运行和部署在其上。其实PaaS也是SaaS的一种应用,只不过PaaS提供的软件效劳比较特殊一点而已。PaaS的呈现,加快了SaaS的开展,目前Google的GAE(Google App Engine)、新浪的SAE(Sina App Engine)以及百度的BAE(Baidu App Engine)都具有相当规模的使用者,大大促进了云计算的开展;
SaaS(Software as a Service:软件即效劳)
软件即效劳,是一种通过互联网提供软件效劳的形式,用户无需购置和部署软件,而是向效劳提供商租赁软件效劳,大大减轻了用户的购置、部署、维护本钱,实现按需租赁、按需付费。
从上可以看出,客户所要管理负责由多到少,本钱也越来越低。
三种模型的主要区别表现为客户和供给商所需要管理的模块的不同,主要为如下:
1.Infrastructure as s Service(根底设备即效劳)
客户管理
Applications(应用)Data(数据)Runtime(运行环境)Middleware(中间件)O/S(操作系统)
供给商管理
Virtualization(虚拟化)Servers(效劳)Storage(存储)Compute(计算机)
2.Platform as a Service(平台即效劳)
客户管理
供给商管理
Runtime(运行环境)Middleware(中间件)O/S(操作系统)Virtualization(虚拟化)Servers(效劳)Storage(存储)Compute(计算机)
3.Software as s Service(软件即效劳)
供给商管理
Applications(应用)Data(数据)Runtime(运行环境)Middleware(中间件)O/S(操作系统)Virtualization(虚拟化)Servers(效劳)Storage(存储)Compute(计算机)
SaaS概念及特点
早在1999年,Keith Bennett等人的论文Service-Based Software:The Future for Flexible Software中第一次提出了SaaS的说法。文中对SaaS软件提出了几点要求:可以满足用户的某些需求、用户可以对软件功能停止定制、软件具有一定的自适应才干、软件应当模块化、软件具有一定的易用性和透明性。
SaaS具有以下几点特性:
通过网络访问,SaaS提供商是通过Internet来提供效劳的,SaaS的一切都是基于网络,没有互联网,SaaS无所适从。当前互联网的快速开展,正是为SaaS的开展铺垫了良好的根底。租赁的特性,用户是通过租赁的方式来获取SaaS效劳的,并且一套SaaS效劳可以被成千上万个用户所共同租用,用户可以个性化定制自己所需要的功能模块。按需付费,SaaS是将软件作为效劳来停止提供的,用户不再像传统的使用习惯一样购置整个软件,而是依照租用效劳的模块数量、时间、用户数量等来停止付费,很大水平上节省了用户的花费。简单特性,客户不需要购置、部署、维护软硬件环境,使用SaaS效劳只需要简单的注册、装置即可,降低了用户的门槛。灵敏特性,用户可以在不需要SaaS效劳的时候,很便利的停用效劳,并且亦可在需要的时候再度启用。
SaaS的分级
SaaS软件从成熟度角度可分为四级。
第一级称为定制级别,这其实就是ASP(Application Service Provider:应用效劳供给商)的形式。使用这种级别的SaaS形式,软件效劳提供商为每个客户都定制了一套特定的软件,并且单独发布及部署,数据库的实例也是单独的,可以为某一客户任意的修改功能模块,每个客户的软件之间从物理上完全分别。这种级别的SaaS,从根本上来说,其实只是为客户提供了软件部署的效劳器,传统的B/S或C/S软件只要通过简单的修改就可以满足条件。级别如此低的SaaS形式,必定具有很大的优势,在这种形式下,效劳提供商需要为每个客户单独按需修改、发布软件,这样带来的本钱也必将随之升高,客户的支出也肯定水涨船高,因而很难形成规模化。
第二级别的SaaS形式是在第一级别的根底上有了一定的改进,效劳提供商不需要对代码停止修改就可以为客户提供定制化的软件效劳。提供商在软件的开发阶段充沛考虑了多客户需求之间的差别,通过灵敏可配置的方式来处置这些问题。这种形式下,每个客户仍然在软件和数据库上互相独立分别,但是每个客户的软件实例都是相同的,只不过通过不同的配置文件来满足客户不同的个性化定制。这种级别的SaaS软件开发本钱相对于第一级别有所降低,但是软件的发布、部署以及晋级维护都是独立的,因而也很难形成规模化。
第三级别是符合MultiTenant(多用户租赁)的,也就是说效劳提供商只需开发一套软件、提供一个数据库实例就可以为多个用户提供效劳。但是从用户的角度来看,并不会觉察到软件效劳是与多个用户之间共享的。在这种形式下,效劳提供商不再需要为不同客户的不同软件、数据库实例提供大量的存储空间了,这样就直接降低了开发本钱,但是由于大量用户的访问,对于处置器的性能也将形成一定水平的挑战,但是假设用户的数量并不是大到一定水平,该级别的SaaS效劳完全可以胜任挑战。
第四级别是针对第三级别的遗留问题停止了改进,通过参与一个负载平衡层,来为不同的客户提供基于效劳器集群的效劳。每个效劳器上的实例其实都是相同的,用户与某个效劳器之间的连接通过负载平衡层来自动分配,同样多个数据库实例也是运行在一个机群之上,软件实例和数据库实例之间通过配置文件来互联关联。在这种形式下,SaaS效劳可以无限的停止扩展,以满足客户的增长,这也是SaaS成熟度的最高级别。