之前老大跟我说我们开发的是SaaS系统,我愣了一下,怎么跟非典一个名,总结一下,以下摘自网络。
云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。
“云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。
IaaS: Infrastructure-as-a-Service(基础设施即服务)
第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。
但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。
PaaS: Platform-as-a-Service(平台即服务)
第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。
PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud
SaaS: Software-as-a-Service(软件即服务)
第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。
你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。
一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。
解:
IaaS
IaaS全拼是Infrastructure as a Service,基础设置即服务,消费者通过Internet可以从完善的计算机基础设施获得服务。例如AWS、OpenStack,CloudStack提供的虚拟机计算服务。通过这种模式,用户可以从供应商那里获得他所需要的虚拟机或者存储资源来装载相关应用,同时这些基础设置的繁琐的管理工作将由IaaS供应商来处理。IaaS能通过它上面对虚拟机支持众多的应用。IaaS主要的用户是系统管理员。
产品
主要包括:Amazon EC2,Linode,Joyent,Rackspace,IBM Blue Cloud和Cisco UCS等。
功能
IaaS云有哪些功能呢?在《虚拟化和云计算》中列出了Iaas的七个基本功能:
资源抽象:使用资源抽象的方法,能更好的调度和管理物理资源。
负载管理:通过负载管理,不仅能使部署在基础上设施上的应用运能更好地应对突发情况,而且还能更好的利用系统资源。
数据管理:对云计算而言,数据的完整性,可靠性和可管理性是对Iaas的基本要求。
资源部署:也就是将整个资源从创建到使用的流程自动化。
安全管理:IaaS的安全管理的主要目标时保证基础设置和其提供资源被合法地访问和使用。
计费管理:通过细致的计费管理能使用户更灵活地使用资源。
SaaS
SaaS全拼是Software-as-a-service ,国内通常叫做软件运营服务模式,简称为软营模式,提供的是软件服务,例如office365等,通过互联网就直接能使用这个软件应用,不需要本地安装。
用户只需要接上网络,并通过浏览器,就能直接使用在云端上运行应用,而不需要考虑类似安装等琐事,并且免去初期高昂的软硬件投入。SaaS主要面对的是普通用户。
主要的产品
salesforce sales cloud,Google Apps,Zimbra,Zoho和IBM Lotus Live等,也包括像网页番茄类似的软件。
Saas的功能
要把你的产品做成SaaS服务给别人使用,需要完成那些功能?
随时随地访问:在任何时候,任何地点,只要接上网络,用户就能访问这个SaaS服务。
支持公开协议:通过支持公开协议(比如Html4/5),能够方便用户使用。
安全保障:SaaS供应商需要提供一定的安全机制,不仅要使存储在云端的用户数据处于绝对安全的境地,而且也也要在客户端实施一定的安全机制(比如Https)来保护用户。
多用户:(Multi-Tenant)机制,通过多用户机制,不仅能更经济地支持庞大的用户规模,而且能提供一定的可指定性以满足用户的特殊需求。
PaaS:
PaaS是Platform-as-a-Service的缩写,意识是平台即服务。通过Paas这种模式,用户可以在一个包括SDK,文档和测试环境等内的开发平台上非常方便的编写应用,而且不论是在部署,或者在运行无需为服务器,操作系统,网络和存储等资源管理操心,这些繁琐的工作都由PaaS供应商负责处理,而且PaaS在整合率上面是非常惊人,比如一台运行Google App Engine的服务器能够支撑成千上万的应用,也就是说,PaaS是非常经济的。PaaS主要的用户是开发人员。把服务器平台作为一种服务提供的商业模式。例如Sea,通过互联网就直接能使用的开发平台,不需要本地安装各类的开发环境。
产品
google App engine , force.com,heroku 和windows Azure Platform等。
作为PaaS的服务功能需求包括:
有好的开发环境:通过SDK和IDE等工具来让用户能在本地方便地进行应用的开发和测试。
丰富的服务:PaaS平台会以API的形式经各种各样的服务提供给上层应用。
自动的资源调度:也就是可伸缩特性,它不仅能优化系统资源,而且能自动调整资源来帮助运行于其上的应用更好地应对突发流量。
精细的管理和监控:通过PaaS能够提供应用层的管理和监控,比如,能够观察应用运行的情况和具体数值(比如吞吐量和反映时间)来更好地衡量应用的运行状态,还有能够通过精确计量应用使用所消耗的资源来更好的计费。
三者服务关系?
三者服务之间没有必然的联系,只是三种不同的服务模式,都是基于互联网,按需按时付费,就像水电、煤气一样,不能说有什么联系,又不能说完全没有联系。
但是在实际的商业模式中,Paas的发展确实促进了SaaS的发展,因为提供了开发平台后,SaaS的开发难度降低了。
从用户体验角度而言,他们之间的关系是独立的,因为他们面对的是不同的用户。
从技术角度而言,他们并不是简单的继承关系,因为SaaS可以是基于PaaS或者直接部署于IaaS之上,其次PaaS可以构建与IaaS之上,也可以直接构建在物理资源之上。
他们之间的关系如下图所示:
云计算的三种服务模式