云计算服务类型都是什么?IaaS、PaaS、SaaS、BaaS、FaaS

基本概念

云计算主要分为 4 种类型:私有云、公共云、混合云和多云。
同时,云计算服务主要有 3 种:基础架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
最近Serverless的概念兴起,实际上主要是后端即服务(BaaS)和函数即服务(FaaS)的结合。

对比传统服务器和VPS

说到云,自然想到与传统服务器的对比。
传统服务器需要自己从硬件采购做起,然后需要搭网线,处理各种基础设施,安装服务器操作系统,然后才是开发软件,安装软件。
而人类社会的分工,自然是把专业的事情交给专业的人,然后专注自己所需要关心的事情。
因此就出现了VPS,也可以理解为云服务的萌芽,Virtual Private Server,虚拟专用服务器。也就是有人管理了这个机房,然后把机器按性能虚拟成不同的主机,租用给别人使用,主要是个基础硬件层面的事情。VPS和云服务的对比可以看此文

云服务将服务器需要做的事情做了更细的划分,并且提供了大量的多种多样的服务,可以按需使用。同时具有弹性扩容,数据备份恢复,分布式计算,服务器安全等特点。

IaaS(基础架构即服务)

Infrastructure as a Service,基础设施即服务。基本上一图就可以看懂IaaS。
IaaS就是由云服务提供商,提供底层/物理层基础设施资源(服务器,数据中心,环境控制,电源,服务器机房),客户自己部署和执行操作系统或应用程序等各种软件。
最常见的形式,就是在阿里云、腾讯云、AWS上购买购买ECS云服务器等。
在这里插入图片描述

PaaS(平台即服务)

Platform as a Service,平台即服务。
PaaS处于中间层,服务商提供基础设施底层服务,提供操作系统(Windows,Linux)、数据库服务器、Web服务器、域控制器和其他中间件,以及服务模型中的备份服务等中件层服务,例如IIS,.NET,Apache,MySQL等。客户自己控制上层的应用程序部署与应用托管的环境。
一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog,Mendix和Standing Cloud.
阿里云同样提供PaaS相关功能。可以查看文章:
企业云原生上云最佳实践
蚂蚁 PaaS 平台核心领域模型介绍
企业级分布式应用服务 EDAS
什么情况下适合PaaS
PaaS适用于哪些场景?让案例说话
为什么选择PaaS
简单说:非HTTP业务(如游戏服务端、数据分析服务)适合用IaaS,HTTP业务(网站、RESTfulAPI服务端)适合用PaaS;

SaaS(软件即服务)

Software as a Service,软件即服务。
服务商提供基于软件的解决方案,满足客户最终需求;如OA、CRM、MIS、ERP、HRM、CM、Office 365、iCloud、G Suite等应用,客户不需考虑任何形式的专业技术知识,获得完整的软件包,使他们的日常工作和生活变得更轻松。
SaaS实际上是提供了具体的软件服务,细化到了具体的分类,相比IaaS和PaaS面向程序员,SaaS是直接面向产品经理甚至用户的。

阿里云通过平台市场的方式提供SaaS服务:
阿里云SAAS加速器
应用软件(SaaS)类商品接入简介
一文看懂“阿里云自己不做SaaS,让大家来做更好的SaaS”

BaaS (后端即服务)

Backend as a Service,后端即服务。
服务商为客户(开发者)提供整合云后端的服务,如提供文件存储、数据存储、推送服务、身份验证服务等功能,以帮助开发者快速开发应用。

国外比较知名的BaaS服务提供商是StackMob和Parse。
在国内,Talking Data、友盟、Bmob、百度和新浪开发平台均有相关业务。

事实上google的Firebase也是一个BaaS。Firebase提供了广泛的功能列表,这些功能分为三个阶段,即开发,获取和成长。 开发阶段包括实时数据库,身份验证,云消息传递,存储,托管,测试实验室(用于在设备上测试应用程序)和崩溃报告。 作为商业提供商,它还集成了AdMob平台,可通过您的应用获利。 在发展之路上,您会发现诸如App Indexing,AdWords,Notifications等功能。

也可以理解为BaaS = IaaS + PaaS + APIs + SDKs,即服务提供商提供了大量的功能,使用方只需要接入sdk,然后使用其api即可。

相关文章:
BaaS云架构核心模式之Serverless架构 - 用服务代替服务器(Martin Fowler)

Blockchain as a Service

区块链即服务,巧了,这个是简称同名了,也是BaaS。别弄混了。在我看来,区块链服务只能算是后端服务的一种。
依然用阿里云举例: 区块链服务 BaaS
参考资料:互联网巨头们说的BaaS究竟是什么?

FaaS (函数即服务)

Function as a service,函数即服务,也叫功能即服务。
服务商提供一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础架构的复杂性。 按照此模型构建应用程序是实现“无服务器”体系结构的一种方式,通常在构建微服务应用程序时使用。

无服务器计算,当前使用最广泛的是AWS的Lambada
腾讯Serverless云函数:Serverless新手体验
阿里云:产品 函数计算
FaaS实例最佳实践

一般情况下,云平台的计算费用取决于调用次数,执行时长,内存消耗。所以如果这个函数的功能代码写得不好,调用次数非常多,执行时间特别长,或者消耗了大量的内存,那么价格就会很贵。
一般和BaaS结合,开发一些项目所需的特殊计算,只为实际计算量付费。
那么这种服务适合用于计算量偶尔比较高,但是一般情况没有计算量,或者计算量低的服务。

serverless相关框架

midwayjs一个面向未来的云端一体 Node.js 框架。
Midway 是一个适用于构建 Serverless 服务,传统应用、微服务,小程序后端的 Node.js 框架。
官网:https://www.midwayjs.org/
文档:Midway(v2)
相关资料:
知乎 EggJS 上层框架有福啦 - Midway 11 月月报
知乎 揭秘:让阿里前端提效 50% 是如何计算的 ?

推荐资料

redhat 云服务有哪些类型?盘点云计算的概念,分类和特点
cnblogs 云服务的类型
csdn IaaS, PaaS, SaaS, BaaS, Faas
简书 serverless
腾讯 开源PaaS方案
cnblogs BaaS后端即服务 - 概念篇
csdn 结合阿里云 FC 谈谈我对 FaaS 的理解

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐