专栏首页维C果糖详述 IaaS、PaaS 和 SaaS 的含义及区别

详述 IaaS、PaaS 和 SaaS 的含义及区别

博主说:常识性概念,对 IaaS、PaaS 和 SaaS 还有些迷糊的童鞋,可以通过此文掌握之。

正文

越来越多的软件,开始采用云服务。

云服务只是一个统称,可以分成三大类。

  • IaaS:基础设施服务,Infrastructure-as-a-service
  • PaaS:平台服务,Platform-as-a-service
  • SaaS:软件服务,Software-as-a-service

它们有什么区别呢?

IBM 的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释这个问题。David Ng 进一步引申,让它变得更准确易懂。

请设想你是一个餐饮业者,打算做披萨生意。

你可以从头到尾,自己生产披萨,但是这样比较麻烦,需要准备的东西多,因此你决定外包一部分工作,采用他人的服务。你有三个方案:

方案一:IaaS

  • 他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。

方案二:PaaS

  • 除了基础设施,他人还提供披萨饼皮。你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的味道(海鲜披萨或者鸡肉披萨),他人提供平台服务,让你把自己的设计实现。

方案三:SaaS

  • 他人直接做好了披萨,不用你的介入,到手的就是一个成品。你要做的就是把它卖出去,最多再包装一下,印上你自己的 Logo。

以上三种方案,可以总结成下面这张图:

从左到右,自己承担的工作量(上图蓝色部分)越来越少,IaaS > PaaS > SaaS。对应软件开发,则是下面这张图:

SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS,下面是一些例子:

  • 客户管理服务 Salesforce
  • 团队协同服务 Google Apps
  • 储存服务 Box
  • 储存服务 Dropbox
  • 社交服务 Facebook / Twitter / Instagram

PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。下面这些都属于 PaaS:

  • Heroku
  • Google App Engine
  • OpenShift

IaaS 是云服务的最底层,主要提供一些基础资源。它与 PaaS 的区别是,用户需要自己控制底层,实现基础设施的使用逻辑。下面这些都属于 IaaS:

  • Amazon EC2
  • Digital Ocean
  • RackSpace Cloud

转载声明:本文转自「阮一峰的网络日志」,IaaS,PaaS,SaaS 的区别

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 详述 JedisCommands 接口中的方法说明

    在 JedisCommands 接口中,其提供了操作 Redis 的全部方法,分别对应着 Redis 的各种操作命令,但遗憾的是,该接口中并没有给出详细的注释。

    CG国斌
  • 手把手教你设置 IntelliJ IDEA 的彩色代码主题

    在选完我们中意的主题之后,需要大家到「intellij-idea-tutorial」中下载相应的主题。以「SublimeMonoKai」主题为例:

    CG国斌
  • 详述 IntelliJ IDEA 遇到 JavaLaunchHelper 多种实现的解决方法

    该问题主要出现于 Mac 版本的 IntelliJ IDEA 之中,而引起该问题的原因,则是 Mac 中 JDK 的一个 BUG,它是由启动应用程序时 IDE ...

    CG国斌
  • IaaS、PaaS、SaaS到底是什么鬼?

    IBM 的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释这个问题。David Ng 进一步,让它变得更准确易懂。

    黄泽杰
  • IaaS,PaaS,SaaS 的区别

    越来越多的软件,开始采用云服务。 云服务只是一个统称,可以分成三大类。 ? IaaS:基础设施服务,Infrastructure-as-a-service ...

    ruanyf
  • IaaS,PaaS,SaaS 的区别

    越来越多的软件,开始采用云服务。云服务只是一个统称,可以分成三大类。本文主要介绍了IaaS,PaaS,SaaS 的区别。

    云加社区
  • 云计算的三种服务模式(IaaS/PaaS/SaaS)

    定义 云计算主要分为三种服务模式,而且这个三层的分法重要是从用户体验的角度出发的: SaaS:Software as a Service,软件即服务,这层的作用...

    BGBiao
  • 漫画:大厂总体SaaS化部署,到底什么是IaaS、PaaS和SaaS?

    在之前的文章《如何给女朋友解释什么是云计算?》中,我们介绍了云计算,在文章中我们提到虽然都是使用云计算服务,但是不同的用户需要的服务是不一样的,有些公司可能只需...

    Java3y
  • 缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别

      以前写asp.net时用HttpContext.Current.Cache存缓存很好用,今天写了一个windows服务程序,HttpContext.Curr...

    Java中文社群_老王
  • Memcached使用实例

    package com.memcached.util; import java.io.BufferedWriter; import java.io.FileW...

    用户1220053

扫码关注云+社区

领取腾讯云代金券