要说saas、paas、laas,首先需要知道云计算是什么:
将我们传统的IT工作转为以网络为依托的云平台运行,NIST给出了云计算模式所具备的5个基本特征(按需自助服务、广泛的网络访问、资源共享、快速的可伸缩性和可度量的服务)、3种服务模式(SaaS(软件即服务)、PaaS(平台即服务)和IaaS(基础设施即服务))和4种部署方式(私有云、社区云、公有云和混合云)。
当你想看报纸的时候,你不用跑去报刊亭,只要打开头条新闻,新闻唾手可得;当你想看书的时候,你不用跑去书城,只需要打开阅读软件,找到这样的一本书,在手机上阅读;云计算像在每个不同地区开设不同的自来水公司,没有地域限制,优秀的云软件服务商,向世界每个角落提供软件服务——就像天空上的云一样,不论你身处何方,只要你抬头,就能看见!
LaaS:基础设施即服务
把计算基础(服务器、网络技术、存储和数据中心空间)作为一项服务提供给客户。它也包括提供操作系统和虚拟化技术、来管理资源。消费者通过Internet可以从完善的计算机基础设施获得服务。
PaaS:平台即服务
PaaS实际上是指将软件研发的平台作为一种服务,供应商提供超过基础设施的服务,一个作为软件开发和运行环境的整套解决方案,即以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。
SaaS:软件即服务
SaaS是一种交付模式,其中应用作为一项服务托管,通过Internet提供给用户,帮助客户更好地管理它们的IT项目和服务、确保它们IT应用的质量和性能,监控它们的在线业务。
上面的概念还是有点晦涩难懂,接下来会形象说明。不过在说明前我们需要了解一些常识。
我们传统开发一个软件,需要9个东西:
作为使用软件的人,左边的【应用】和【数据】,是离我们最近的部分。比如最常见的:我们在某软件里提交了报销申请,其实我们就是上传了自己的报销数据到应用中。
最右边的【虚拟化】、【服务器】、【存储】、【网络】是制作一个软件的基础条件,除了虚拟化技术其他都是硬件,所以在云计算领域中,这块被称为基础设施。它们在机房都能看到。
而中间的这些,就是利用最右边的基础设施搭建出的平台,从而承载最左边的【应用】和【数据】。
所以说,从左到右就是一个硬件逐渐软化(软件开发)的过程,IT技术在这个过程中扮演了必要角色:
但不是所有企业都具有独立开发一个软件的资本(钱、人、力缺哪个都不行),所以云服务产生了。
大大小小企业,财力不同、问题不同,因此对于软件的开发,总有形形色色的需求。
经过演变,云服务逐渐分为三类:
第一种,云服务提供基础设施,我们可能听过某某说“租了哪里的服务器,准备自己搞个软件……”,其实就是Iaas。
第二种,云服务提供一个平台,企业自己设计应用,数据也由自己保管。这就是Paas。
第三种,云服务提供现成的软件,数据也全部上云。这就是SaaS。
如图:
从Iaas到SaaS的过程,企业需要付出的成本越来越小,云化的程度也越来越高,内部IT所需要做的事越来越少。
请设想你是一个餐饮业者,打算做披萨生意。你可以从头到尾,自己生产披萨,但是这样比较麻烦,需要准备的东西多,因此你决定外包一部分工作,采用他人的服务。你有三个方案。
方案一(IaaS):他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。
方案二(PaaS):除了基础设施,他人还提供披萨饼皮。你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的味道(海鲜披萨或者鸡肉披萨),他人提供平台服务,让你把自己的设计实现。
方案三(SaaS):他人直接做好了披萨,不用你的介入,到手的就是一个成品。你要做的就是把它卖出去,最多再包装一下,印上你自己的 Logo。
LaaS:就是台服务器。
PaaS:就是Tomcat加MySQL。
SaaS:就是几千块一套的加个Logo就能开业的电商网站。也可以是软件租用服务,比如以前买了office你就要安装到本地,然后运行,这就是传统的软件交付。saas呢?可能是个很轻量的客户端,也可能是浏览器,反正这个不要钱,打开就是office的操作界面,你可以编辑文档什么的,而付费标准是按照你用一次多少钱,或者写了几个ppt,或者用多久多少钱,类似的意思,就是你可以按需使用,就相当于为了住房体验,住宾馆和买房子的区别。
ipaas和apaas的产生,是因为企业在使用软件过程中,又遇到了难以解决的问题:
1、对于很多企业来说,SaaS都是固定功能的软件,对于自己需要个性化的需求难以满足,虽然软件开发能灵活满足自己的需求,但是无论是自研还是托管,开发和运维费用都极其高昂
3、一个软件解决不了所有问题,那就多堆几个软件,导致一个企业可能用了五六个软件,但都互相独立,无论是功能还是数据,都不能连起来
堵死一大批企业的,其实就是软件开发的门槛过高。要找到懂开发又懂业务的IT太难了,业务人员为了开发去学编程也不是朝夕就能实现。
怎么才能提供一种框架,让业务人员不需要学代码就能自己设计出一个管理软件呢?这种模式就是apaas,从应用和数据层面入手,设计搭建工具与逻辑,实现零代码开发。
举个典型的apaas设计逻辑——通过【表单】上传数据并实现堆叠搭建,利用【流程工具】将业务点串联起来,借助【仪表盘】进行数据展现与分析。如图
由于企业堆叠的各种SaaS软件,用着不同的主机和数据库,怎么将这些软件集成起来?这就需要一种技术,也就是iPaaS。
它从虚拟主机和数据库层面入手,创建一个中心生态系统来查看、管理和修改所有数据、基础设施和操作。从而轻松打通各个系统的数据与功能。
发展到apaas这一需求,就会出现一个问题:如果按照apaas去搭建企业自身的云平台,供应商只是提供软件,那企业的数据就要存储在供应商的后台数据存储服务器,互联网公司应该对数据都很敏感,这样就不科学。
所以这就引出了API。日常生活中,我们有很多类似API的场景,比如:电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来,电脑和手机上连接数据线的接口就相当于“API接口”。
也就是说,企业可以自己存储数据,如果需要用到软件功能,就通过API,将需要处理/展示的数据对接到软件中。