SaaS(软件即服务) PaaS(平台即服务) IaaS(基础架构即服务) BaaS(区块链即服务)
从小型企业到全球企业,云都是一个非常热门的话题,它是一个非常广泛的概念,涵盖了很多在线领域。 无论是应用程序还是基础架构部署,当您开始考虑将业务转移到云时,了解各种云服务的差异和优势比以往任何时候都更加重要。
通常有三种云服务模型:SaaS(软件即服务),PaaS(平台即服务)和IaaS(基础架构即服务)。 每个都有自己的好处和差异。为了您的组织能作出最佳选择,您有必要了解SaaS,PaaS和IaaS之间的差异。
下图总结了三种模型的主要差别:
SaaS:软件即服务
软件即服务(也称为云应用程序服务)代表了云市场中企业最常用的选项。 SaaS利用互联网向其用户提供应用程序,这些应用程序由第三方供应商管理。 大多数SaaS应用程序直接通过Web浏览器运行,不需要在客户端进行任何下载或安装。
SaaS交付
由于其网络传输模式,SaaS无需在每台计算机上下载和安装应用程序,而在每台计算机上下载和安装应用程序正是IT员工的噩梦。 通过SaaS,供应商可以管理所有潜在的技术问题,例如数据、中间件,服务器和存储,因此企业可以简化其维护和支持。
SaaS的优势
SaaS通过大大减少安装,管理和升级软件等繁琐任务所花费的时间和金钱,为员工和公司提供了许多好处。 这让技术人员可以花更多时间来处理组织内更紧迫的事情和问题。
SaaS的特点
这些方面可以帮助您确定何时使用SaaS:
- 在统一的地方管理
- 托管在远程服务器上
- 可通过互联网访问
- 用户不负责硬件或软件更新
何时使用SaaS
SaaS在许多场景情中是最有利的,包括:
- 如果您是一家初创公司或小公司,需要快速启动电子商务,没有时间处理服务器问题或软件
- 适用于需要协作的短期项目
- 如果您需要不常用的应用程序,例如税务软件
- 适用于需要通过Web和移动访问的应用程序
SaaS的例子
Google Apps、Dropbox、Salesforce、Cisco WebEx、Concur和GoToMeeting等
PaaS:平台即服务
云平台服务或平台即服务(PaaS)为某些软件提供云组件,这些组件主要用于应用程序。 PaaS为开发人员提供了一个框架,使他们可以基于它创建自定义应用程序。所有服务器,存储和网络都可以由企业或第三方提供商进行管理,而开发人员可以负责应用程序的管理。
PaaS的交付
PaaS的交付模式类似于SaaS,除了通过互联网提供软件,PaaS提供了一个软件创建平台。该平台通过Web提供,使开发人员可以自由地专注于创建软件,同时不必担心操作系统、软件更新,存储或基础架构。
PaaS允许企业使用特殊的软件组件设计和创建内置于PaaS中的应用程序。由于具有某些云特性,这些应用程序或中间件具有可扩展性和高可用性。
PaaS优势
无论您的公司规模如何,使用PaaS都有很多优势:
- 使应用程序的开发和部署变得简单且经济高效
- 可扩展
- 高度可用
- 使开发人员能够创建自定义应用程序,而无需维护软件
- 大大减少了编码量
- 自动化业务策略
- 允许轻松迁移到混合模型
PaaS的特点
PaaS具有许多将其定义为云服务的特征,包括:
- 它基于虚拟化技术,这意味着随着业务的变化,资源可以轻松扩展或缩小
- 提供各种服务以协助开发,测试和部署应用程序
- 许多用户可以访问相同的开发应用程序
- Web服务和数据库是集成的
何时使用PaaS
在许多情况下,使用PaaS是有益的甚至是必要的。 如果有多个开发人员在同一个开发项目上工作,或者必须包含其他供应商,PaaS可以为整个过程提供极大的速度和灵活性。 如果您希望能够创建自己的自定义应用程序,PaaS也是有益的。 云服务还可以大大降低成本,并且可以简化您在快速开发或部署应用程序时出现的一些挑战。
PaaS的例子
AWS Elastic Beanstalk、Windows Azure、Heroku、Force.com、Google App Engine,Apache Stratos,OpenShift。
IaaS:基础架构即服务
云基础架构服务称为基础架构即服务(IaaS),由高度可扩展和自动化的计算资源组成。 IaaS是完全自助服务,用于访问和监控计算、网络,存储和其他服务等内容,它允许企业按需求和需要购买资源,而不必购买全部硬件。
IaaS交付
IaaS通过虚拟化技术为组织提供云计算基础架构,包括服务器、网络,操作系统和存储等。这些云服务器通常通过仪表盘或API提供给客户端,IaaS客户端可以完全控制整个基础架构。 IaaS提供与传统数据中心相同的技术和功能,而无需对其进行物理上的维护或管理。 IaaS客户端仍然可以直接访问其服务器和存储,但它们都通过云中的“虚拟数据中心”。
与SaaS或PaaS相反,IaaS客户端负责管理应用程序、运行时、操作系统,中间件和数据等方面。但是,IaaS的提供商管理服务器、硬盘驱动器、网络,虚拟化和存储。一些提供商甚至在虚拟化层之外提供更多服务,例如数据库或消息队列。
IaaS的优势
选择IaaS有很多好处,例如:
- 是最灵活的云计算模型
- 轻松实现存储、网络,服务器和处理能力的自动部署
- 可以根据消耗量购买硬件
- 使客户能够完全控制其基础架构
- 可以根据需要购买资源
- 高度可扩展
IaaS的特点
在考虑IaaS时要考虑的一些特征是:
- 资源可作为服务提供
- 费用因消费而异
- 服务高度可扩展
- 通常在单个硬件上包括多个用户
- 为组织提供对基础架构的完全控制
- 动态灵活
何时使用IaaS
与SaaS和PaaS一样,有些特定场景使用IaaS是最好的。如果您是初创公司或小公司,IaaS是一个很好的选择,因此您不必花费时间或金钱来创建硬件和软件。 有些大型组织希望完全控制其应用程序和基础架构,同时又想仅购买实际消耗或需要的硬,IaaS对他们也是有益的。对于快速发展的公司而言,IaaS可能是一个不错的选择,因为您不必在需求变化和发展时承诺使用特定的硬件或软件。如果您不确定新应用程序需要什么,这也会有所帮助,因为根据需要可以根据需要进行扩展或缩小。
IaaS的例子
DigitalOcean,Linode,Rackspace,AWS,Cisco Metapod,Microsoft Azure,Google Compute Engine(GCE)
SaaS vs PaaS vs IaaS
总体而言,每种云模型都提供了自己的特定功能和特性,因此您的解组织了解这些差异至关重要。 无论您是在寻找云存储软件,还是一个能创建定自定义应用程序的平滑平台,,或者希望完全控制整个基础架构而无需对其进行物理维护,您可以使用云服务。 无论您选择哪个选项,迁移到云都是业务和技术的未来,并且很必要让大家正确的了解这一点。
BaaS:区块链即服务
最近BaaS这个词汇比较火,最初看到这个词汇是微软区块链服务(baas),2016年8月,基于Azure云平台的微软区块链服务正式开放,作为一个“沙盒”服务,简单高效的搭建区块链虚拟化开发测试环境,该平台支持26种不同形势的区块链实现(该数据是2016年底,目前暂时没有找到具体支持的数据)//blogs.msdn.microsoft.com/uk_faculty_connection/2016/08/01/getting-started-with-blockchain-as-a-service-using-microsoft-azure-dev-test-labs/所谓BAAS(blockchain as a service)链接是微软区块链服务说明文档,有兴趣可以看看。
现在区块链不光是各个IT巨头,金融机构,咨询公司等也都参与其中,创业型区块链公司也存在不少,随着技术的不断发展,竞争也相当激烈。Hyperledger之前也发布了fabric1.0正式版,改进了架构更适合应用落地。区块链是一个分布式的应用,去中心化多节点,即使有spv认证模式,还是要求有一部分节点下载完整的数据记录,以比特币为例,目前几百G的数据,随着数据量的不断增长,对本地计算资源和存储资源都是一种挑战,之前有人这样说过:本地资源永远是有限的,只有云资源可以不断扩展,理解云资源可以不断扩展。先不论这种说法的正确性,区块链结合云计算存储平台必然是一种发展趋势。云平台目前最为广泛的就是iaas、paas、saas,那么区块链结合云平台我们称为BaaS,理解区块链即服务。
那么区块链切入云平台,根据这个BaaS中的“B”,blockchain,应该怎么理解。或者应该区分BaaS和btaas,BaaS和btaas根据网络上一些说法baas是指区块链即服务btaas是指区块链技术即服务。各种观念的提出都有自己的理论基础,这里不做定义,只是对两个理解做一个笔者自己的简单理解,如有不对希望及时指正。
上图很好的说明的这两种概念定义。
区块链服务:广义理解,把区块链的应用,比如比特币、以太坊等这类型公链,节点直接部署在云平台,节点提供查询,交易、区块生成等操作,底层使用云计算资源和云存储空间,这种简单理解为区块链服务,当然上图也说到了公链的延伸应用-存证型-Factom,数字身份型-uPort等,云平台的容错、网络的多链路负载、计算资源的动态调整,其实针对区块链中的节点能够更好的实现他的服务,从一定角度来讲也节省了节点的运行成本,提高了整个系统之间交互的效率。当然从区块链服务这个词汇来理解就是云平台上搭建区块应用,业务直接访问在云平台之上的区块链应用平台,结合图上,区块链浏览器、数字货币交易平台以及一些现有的区块链系统提供开放的服务。
区块链技术服务:区块链技术,这个词汇包含的东西比较多,通俗来说区块链技术就是:加密技术、共识机制、P2P的网络、分布式系统等一些技术的结合,那么在云平台的区块链技术多指这些技术的结合后区块链架构框架或者区块链操作系统,主要是HyperLedger,multichain,以太坊私有链等多个框架,使用这些框架去结合应用业务需求,开发出适合业务的应用,甚至这些应用要求优于现有的互联网技术,这种方式称为区块链技术服务。
在网上查资料的时候看到有位大神对这两个区块链服务/技术服务概念提出了一个很好的比喻:www. 8btc.com/talk-about-baas(有兴趣看看,笔者也是看了这个想到这概念的)。阿里云提供云服务,他提供的是云资源的实例,阿里不会告诉你如何去搭建云,他提供是云的服务,付费即可享受服务。上面讨论的BaaS可以认为是提供公链的实例服务,btaas提供的是区块链架构框架,你需要开发部署你的区块链应用服务。
【参考链接】:
https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/