最近在准备一些科普性的知识内容,发现大家对于一些基础性的知识概念还是有点模糊。今天先来简单介绍一下IaaS/PaaS/SaaS的区别~
其实还有一个On-Premises(本地部署)的概念,也可以一并介绍。
IaaS/PaaS/SaaS的区别
先来一个简单的例子,区分一下这几个概念吧。以我的午餐“煲仔饭”为例(例子是拾人牙慧,自己基于理解,再另外举了个例子):
不管是我自己来做煲仔饭也好,还是别人帮我做煲仔饭也好,我们都需要以下原材料:
米饭、配料、菜品(肉类、蔬菜等)、电磁炉、锅、电、餐桌、饮料(煲仔饭必备)
那么,根据做煲仔饭的人的情况可以分为以下几种情况:
On-Premises:自己负责全部的流程,包括原材料的购买、制作等;
IaaS:买成品(米饭、调料和菜品已经搭配好),带回家用自己的厨具来制作;
PaaS:直接点外卖,只需要自己拿出餐桌和饮料就行;
SaaS:直接去店里吃,所有的东西由店家提供。
IaaS/PaaS/SaaS的定义
我们回过头来,再来看这个几个词的定义(来自百科):
IaaS
Infrastructure as a Service,即基础设施即服务。指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。
PaaS
Platform as a Service,提供软件部署平台,抽象掉了硬件和操作系统细节,可以无缝地扩展。开发者只需要关注自己的业务逻辑,不需要关注底层。即PaaS 为生成、测试和部署软件应用程序提供一个环境。
SaaS
Software as a Service,软件即服务,即通过网络提供软件服务。
SaaS目前的瓶颈
因为云计算的发展,现在这几个概念都很深入人心。不同的企业出于不同的考虑,会采用不同的商业模式,而SaaS不仅适用于中小型企业,所有规模企业都可以从SaaS中获利。但是因为技术的限制以及市场成熟度的问题,SaaS会面临以下的困境:
技术方面:
目前SaaS软件个性化的定制技术尚未成熟。SaaS提供的服务,注定了它需要在通用的SaaS平台基础上满足客户定制化的需求。传统软件的定制服务是在软件开发阶段就完成的,所以就对定制化能力要求不高。但是SaaS需要在软件使用过程中针对需求的变化更新定制,而且在定制的时候不能影响其他用户的使用。还有就是,SaaS的操作必须简单,节省客户的学习成本。上面两点,使得SaaS的技术开发更加复杂。传统软件的经验在SaaS这块推不开。
市场制度方面
目前市场上对于SaaS方面的制度还是比较混乱的。当前SaaS市场上,SaaS服务商专注于为大型客户提供服务,而忽视了中小型客户。而且,因为SaaS的盈利模式,导致一些SaaS服务商虽然占有大量的优质客户,但是却没有加速SaaS的推广。其次就是SaaS在国内的需求一直不能落地。这个情况可以参考知乎的一个回答:中国的软件为什么没有国外的发达?
数据安全方面
另外,国内对于软件这块的制度,一直不够完善。云端的数据存储问题以及数据安全问题,也是客户对于SaaS服务一直心存疑虑的主要因素。因为SaaS服务的特性,使得数据的安全需要是一种动态安全不仅要保证数据不丢失,还需要保证用户在业务增减等原因导致的安全需求发生变化时能灵活调整。同时,由于平台被多租户共享,数据信息交互复杂,对数据权限的要求极高。对于网络安全而言,互联网的稳定性给SaaS的应用提出了巨大的挑战。企业内网和互联网连接的不确定性太高,无论何种因素引起的网络稳定性的波动都会影响软件的使用,甚至造成用户数据的丢失。
总结
云计算的发展是大趋势,出于SaaS本身技术优势、客户使用SaaS的资金投入少、维护和管理成低,SaaS的发展也是一种必然。之前的发展需要:
- 加大研发力度,解决个性化定制问题
- 多方协助,共同规范SaaS市场的竞争秩序
- 加强数据及网络安全防范