4

谈谈你对IaaS、PaaS、SaaS的理解

 2 years ago
source link: https://www.51cto.com/article/719012.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

谈谈你对IaaS、PaaS、SaaS的理解

作者:Tom弹架构 2022-09-19 07:57:59
要理解这三者的关系,我们先了解云服务。所谓云服务,是指利用互联网提供动态易扩展的虚拟化资源整合服务。云服务的主体架构,主要有基础设施服务、平台服务、软件服务。

有位工作6年的小伙伴,去面试架构师岗位,被问到这样一道题,说谈你对IaaS、PaaS、SaaS的理解。今天,我给大家分享一下我的理解。

1、云服务和XaaS

要理解这三者的关系,我们先了解云服务。所谓云服务,是指利用互联网提供动态易扩展的虚拟化资源整合服务。云服务的主体架构,主要有基础设施服务、平台服务、软件服务。

图片

通过抽象和分层,在云服务领域创造了一个词,叫做“一切即服务”的概念,也就是X as a Service。

图片

我们通常所说的:

IaaS全称为Infrastructure as a Service,也就是基础设施即服务的简称;

PaaS的全称为Platform as a Service,也就是平台即服务的简称;

SaaS的全称为Software as a Service,也就是软件即服务的简称。

除了这些以外,还衍生出了很多类似的概念,比如 DaaS(数据即服务)、OaaS(运维即服务)等等。在云服务架构中,IaaS、PaaS 和 SaaS三种架构是为最核心的架构。

2、三者对比

图片

首先是,IaaS基础设施即服务(Infrastructure as a Service),它是面向企业或者开发者,提供基础资源支持,包括:计算、存储、网络等等。

图片

有了IaaS以后,企业在开发APP时,只需在公有云平台上注册一个账号,花点钱,配置各种云服务器,各种大小的存储,各种带宽的网络,都配齐,不用操心诸如机房选址、设备采购、实体服务器、存储、网络等问题,只要一个账号,便解决了。

而作为程序员,只需在服务器上安装各类程序,中间件,数据库等等,包括前端与后台,测试,上线,迭代,更新的操作都要以IaaS为基础,否则,前期的工作就都需要自己来完成。

图片

然后,就是PaaS平台即服务(Platform as a Service)它面向开发者,提供软件运行的平台环境。或者以API、SDK的形式开放给客户调用,包括:数据分析、人工智能、Docker;推送、通信、语音识别、图像识别、统计、广告等等。

图片

PaaS是在IaaS的基础之上,解决了操作系统、数据库、运行时环境、中间件、各种框架的搭建操作问题,有了PaaS,程序员只需要专心的开发自己的APP就行了。

做PaaS需要的技术能力和资源比做SaaS要求更高,因为SaaS服务商的强项在于业务和应用,而不是平台技术和服务能力。

图片

最后,就是SaaS 软件即服务(Software as a Service),是面向企业或个人终端用户,通过网络租用的形式提供软件,包括:管理类应用、业务类应用、行业类应用等等。SaaS可以调用PaaS层的能力,也可以使用IaaS层的资源独立开发。

图片

SaaS就相当于是现成的了,根本用不着开发,用户只需要专注在自己的业务上就行,比如写代码、维护等各种定制化的工作,都交给SaaS厂商。用户只需要一个续费账号就能解决所有问题。

不论是 IaaS、PaaS 和 SaaS 三者都有非常庞大的产品群体和用户服务群体,三者之间的架构关系,如图所示。

图片

从Iaas到SaaS的过程,企业需要付出的开发成本越来越小,云服务化的程度也越来越高,如图所示:

图片

好了,以上就是我对SaaS、PaaS、IaaS的理解。

责任编辑:武晓燕 来源: Tom弹架构

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK