继续抢占企业服务级市场,软件即服务( 三 )


云计算的服务类型有哪些?

继续抢占企业服务级市场,软件即服务


云计算服务的三种类型(SaaS、PaaS、IaaS)1、SaaS(软件即服务)SaaS(软件即服务),是指用户获取软件服务的一种新形式 。它不需要用户将软件产品安装在自己的电脑或服务器上,而是按某种服务水平协议(SLA)直接通过网络向专门的提供商获取自己所需要的、带有相应软件功能的服务 。本质上而言,软件即服务就是软件服务提供商为满足用户某种特定需求而提供其消费的软件的计算能力 。
SaaS有各种典型的应用,如在线邮件服务、网络会议、网络传真、在线杀毒等各种工具型服务,还有在线CRM、在线HR、在线进销存、在线项目管理等各种管理型服务 。SaaS在人力资源软件应用中也比较普遍,甚至它已经开始向ERP领域拓展,如Workday 。2、PaaS(平台即服务)PaaS(平台即服务),是指将一个完整的计算机平台,包括应用设计、应用开发、应用测试和应用托管,都作为一种服务提供给客户 。
在这种服务模式中,客户不需要购买硬件和软件,只需要利用PaaS平台,就能够创建、测试和部署应用和服务,与基于数据中心的平台进行软件开发相比,费用要低得多,这是PaaS的最大价值所在 。PaaS自身不仅拥有很好的市场应用前景,而且能够推进SaaS,并与其共同发展 。对于想进入SaaS领域的提供商而言,PaaS关键是降低了他们开发和提供SaaS服务的门槛,而对于已经在提供SaaS服务的提供商而言,PaaS可以帮助部分提供商进行产品多元化和产品定制化服务,让更多的ISV成为其平台的客户,从而开发出基于平台的多种SaaS应用,使其成为多元化软件服务供货商 。
相对于传统的软件,SaaS解决方案有明显的优势,包括较低的前期成本,便于维护,快速展开使用等 。3、IaaS(基础设施即服务)IaaS(基础设施即服务),是指企业或个人可以使用云计算技术来远程访问计算资源,这包括计算、存储以及应用虚拟化技术所提供的相关功能 。无论是最终用户、SaaS提供商还是PaaS提供商都可以从基础设施服务中获得应用所需的计算能力,但却无需对支持这一计算能力的基础IT软硬件付出相应的原始投资成本 。
为什么越来越多的系统在做服务化?服务化有什么好处?
首先要表明一个观点:脱离业务实际情况的架构都是耍流氓,所以不是所有系统都必须服务化,也不要为了服务化而服务化 。在了解服务化的好处之前,让我们先看看传统的系统架构是什么样的,当了解传统架构的缺点之后,再去看看为什么要做服务化,就容易理解了 。在单体服务的时代,我们是一台应用服务器,后面挂一台数据库 。当访问量增多的时候,会引入负载均衡、数据库读写分离、分库分表等技术,系统的一个整体的架构大概是这个样子的:这种架构,会有什么样的痛点呢?我总结了一下,系统在不断发展的过程中,可能会遇到下面几种情况:数据到处都有:举个最简单的例子,如果一个公司对外的系统很多,每个系统都提供用户注册的功能,注册后用户信息保存到自己的系统,当公司内这样的系统越来越多,问题就会凸显;代码到处拷贝:如果数据库统一了,用户信息都存储到一个数据库中,开放给各个业务系统操作(事实上几乎没有公司会这样做),这样带来的一个问题就是,相同逻辑的代码,会分布在多个系统中;更严重的是,代码与数据库的耦合度太高,不易于扩展 。
代码质量无法保障,系统之间相互影响:假如A系统写了SQL导致全表扫描,数据库的CPU飙到100%或造成锁表,那么影响的不只是一个系统 。这时候会考虑在代码这个级别,对用户数据的操作,进行服务化;服务化后的架构大概是这个样子(这里先不讨论是直接调用,还是服务注册、发现):这个服务化的过程其实也非常简单,在例子中,说白了就是把用户相关的功能单独做一个系统,并且把对用户信息的操作通过接口的方式暴露出来,那么服务化有什么好处,到底解决了哪些问题呢?我总结有这么几点:数据统一存储,业务逻辑集中;调用方很方便,一个功能,只需要调用一个接口;如果是RPC的方式实现,就像调用本地的一个方法一样;具体业务逻辑是如何实现的,调用方不需要关心;屏蔽了底层复杂度:用不用缓存,数据库是否需要分库分表,对调用方来说,都是黑盒;业务逻辑集中,意味着代码只有这么一份,那么效率和稳定性才有可能得到保证;当数据被集中在了一起,才能做下一步的处理、分析、预测,才能发挥出数据的价值;当然,服务化有好处也有坏处,就比如..如果用户中心挂了,那么会影响到所有依赖于用户中心的系统(高可能的要求非常高) 。

推荐阅读