绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
图解架构 | SaaS、PaaS、IaaS
2022-08-29 15:40:37

这是悟空的第 164 篇原创文章

官网:www.passjava.cn

你好,我是悟空哥。

上次聊到了架构图如何画,其中涉及到了云服务的架构图,里面提到了很重要的三个概念 PaaS、IaaS、SaaS,很有必要在这里总结一波。

架构图,so easy?

本文内容如下:

随着互联网行业的飞速发展,云服务也变得尤为重要,几乎每个企业都需要使用云计算服务,来管理大量敏感和机密数据,因此,在任何类型的企业中使用云服务都是不可避免的。

定义

这里我想到了一个比较通俗易懂的解释:

SaaS租的房子,只能住人和存放物品,不能修改房间的设施。

PaaS买的精装修房,可以布置一些家电(如电视机、空调等等)、墙上挂一些装饰等等,俗称软装。

IaaS买来的毛坯房,可以自己装修水电、安装柜子,家电等等,俗称硬装。

一般而言,企业有三种云计算服务模式可以选择.

  • 软件即服务(SaaS):这是一个完整的软件应用程序,具有用户界面;

  • 平台即服务(PaaS):开发人员可以在其中部署自己的应用程序的平台;

  • 基础设施即服务(IaaS):提供机器、存储和网络资源,开发人员可以通过安装自己的操作系统、应用程序和支持资源来管理。

IaaS

英文就是 Infrastructure-as-a-Service(基础设施即服务)。

IaaS 提供给消费者的服务是对所有计算基础设施的利用,包括处理 CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。

消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制。

PaaS

英文就是 Platform-as-a-Service(平台即服务)。

PaaS,某些时候也叫做中间件。就是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。

客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置。

SaaS

英文就是 Software-as-a-Service(软件即服务)

SaaS提供给客户的服务是运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。

消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等。

应用

IaaS

IaaS 会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。我们熟悉的IaaS服务是我们服务器托管业务,多数的IDC都提供这样的服务,用户自己不想要再采购价格昂贵的服务器和磁盘阵列了,所有的硬件都由 IaaS 提供,你还能获得品质更高的网络资源。

PaaS

PaaS 在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和特定的操作系统。底层的平台3/4帮你铺建好了,你只需要开发自己的上层应用。这即节省了你在硬件上的费用,也让各类应用的开发更加便捷,不同的工作互相打通也变得容易,因为在同一平台上遵循的是同样的编程语言、协议和底层代码。

很多网页应用,应用虚拟主机,存储,安全以及应用开发协作工具等。我们熟悉的 PaaS 平台就有百度 BAE、新浪 SAE、阿里 Ali、腾讯云等等。很多电商平台、视频网站等都可以通过PaaS实现快速部署。

SaaS

SaaS 与我们普通使用者联系可能是直接的,简单地说任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。

我们容易接触到的是挂在网页或微信上的各类小程序,比如H5的应用如火如荼,这些应用给了IT的门外汉实现自己愿望的机会。

国内的互联网巨头竭力推荐的 SaaS 应用想必大家已经耳熟能详了,比如阿里的钉钉,腾讯的企业微信,这些软件里面应用平台上的可供使用的各类SaaS小软件数不胜数,从OA,到ERP到CRM等等,涵盖了企业运行所需的几乎所用应用。

原理

软件即服务(SaaS)

软件即服务(也称为云应用程序服务)代表了云市场中企业常用的选项。SaaS 利用互联网向其用户提供应用程序,这些应用程序由第三方供应商管理。大多数 SaaS 应用程序直接通过 Web 浏览器运行,不需要在客户端进行任何下载或安装。

如下图所示,数据信息由租户自己管理,提供 SaaS 服务的企业会将应用软件、平台软件、基础设施都集成好,不需要租户关心底层这些架构。

SaaS 示意图

平台即服务(PaaS)

PaaS 的交付模式类似于 SaaS,除了通过互联网提供软件,PaaS 提供了一个软件创建平台。该平台通过 Web 提供,使开发人员可以自由地专注于创建软件,同时不必担心操作系统、软件更新,存储或基础架构。PaaS 允许企业使用特殊的软件组件设计和创建内置于 PaaS 中的应用程序。由于具有某些云特性,这些应用程序或中间件具有可扩展性和高可用性。

PaaS 示意图

基础设施即服务(IaaS)

IaaS 通过虚拟化技术为组织提供云计算基础架构,包括服务器、网络,操作系统和存储等。这些云服务器通常通过仪表盘或API提供给客户端,IaaS 客户端可以完全控制整个基础架构。IaaS 提供与传统数据中心相同的技术和功能,而无需对其进行物理上的维护或管理。IaaS 客户端仍然可以直接访问其服务器和存储,但它们都通过云中的“虚拟数据中心”。

与 SaaS 或 PaaS 相反,IaaS 客户端负责管理应用程序、运行时、操作系统,中间件和数据等方面。但是,IaaS 的提供商管理服务器、硬盘驱动器、网络,虚拟化和存储。一些提供商甚至在虚拟化层之外提供更多服务,例如数据库或消息队列。

IaaS 示意图

每种云服务(IaaS,PaaS 和 SaaS)都是针对其目标受众的业务需求量身定制的。从技术角度来看,IaaS 可以为你提供大的控制权,但需要广泛的专业知识来管理计算基础架构,而 SaaS 允许你使用基于云的应用程序而无需管理基础架构,而 PaaS 提供了用于开发,测试和管理应用程序的环境,因此,PaaS 是软件开发公司的理想选择。

综上所述,IaaS,PaaS 和 SaaS,哪种云服务适合你?

现在该选择所需的基于云的服务了,实际上,选择完全取决于业务目标,因此首先要考虑自身的需求。

- END -

分享好友

分享这个小栈给你的朋友们,一起进步吧。

架构相关随记
创建时间:2019-07-23 11:34:34
收集并记录一些架构相关的技术点。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • abc
    栈主

小栈成员

查看更多
  • gaokeke123
  • 栈栈
  • rikinglj
  • daxuesheng
戳我,来吐槽~