专栏首页Java3y漫画:大厂总体SaaS化部署,到底什么是IaaS、PaaS和SaaS?

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

本文公众号来源:漫话编程

作者:漫话编程

本文已收录至我的GitHub

在之前的文章《如何给女朋友解释什么是云计算?中,我们介绍了云计算,在文章中我们提到虽然都是使用云计算服务,但是不同的用户需要的服务是不一样的,有些公司可能只需要租借服务器、有些公司可能需要整套服务,而有些个人客户可能希望直接可以通过付费得到一个网站等。

所以,根据服务类型的不同,云计算可以分为三类,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这3种云计算服务有时称为云计算堆栈,因为它们构建堆栈,它们位于彼此之上。

本文,就来分别介绍下到底什么是IaaS、PaaS和SaaS。

IaaS

IaaS(Infrastructure as a Service),即基础设施即服务。指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。

做一个简单的比喻,IaaS服务优点类似于共享厨房服务。

商家为用户提供了厨房、锅具、煤气灶、烤箱、电饭煲等等一系列厨房用品。用户需要自己购买米、面、蔬菜、调味品等,并进行加工制作。

有了IaaS服务,用户可以在云服务提供商提供的基础设施上部署和运行任何软件,包括操作系统和应用软件。

用户没有权限管理和访问底层的基础设施,如服务器、交换机、硬盘等,但是有权管理操作系统、存储内容,可以安装管理应用程序,甚至是有权管理网络组件。

简单的说用户使用IaaS,有权管理操作系统之上的一切功能。我们常见的IaaS服务有虚拟机、虚拟网络、以及存储。

PaaS

PaaS(Platform as a Service),是指平台即服务。是一种云计算服务,提供运算平台与解决方案服务。

还是使用共享厨房的例子来比喻。

餐厅除了提供厨房、厨具等,还提供了清洗干净切好的蔬菜、调好味道的肉、饺子皮和饺子馅等。用户要享受美食,首先需要炒菜、加热或者煮熟,但却不用做太多的前期多种复杂准备。

PaaS给用户提供的能力是使用由云服务提供商支持的编程语言、库、服务以及开发工具来创建、开发应用程序并部署在相关的基础设施上。

用户无需管理底层的基础设施,包括网络、服务器,操作系统或者存储。他们只能控制部署在基础设施中操作系统上的应用程序,配置应用程序所托管的环境的可配置参数。

SaaS

SaaS(Software-as-a-Service),意思为软件即服务,即通过网络提供软件服务。

SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。

和IaaS以及PaaS的共享厨房相比,SaaS更像外卖平台。

SaaS相当于餐厅直接为大家提供做好的菜肴,还提供外卖服务。用户只需要付费,就可以享受各种不同类型的美味佳肴,还可以在有外卖网点的地方直接点餐。

SaaS给用户提供的能力是使用在云基础架构上运行的云服务提供商的应用程序。可以通过轻量的客户端接口(诸如web浏览器(例如,基于web的电子邮件))或程序接口从各种客户端设备访问应用程序。

用户无需管理或控制底层云基础架构,包括网络,服务器,操作系统,存储甚至单独的应用程序功能,可能的例外是有限的用户特定应用程序配置设置。

根据SaaS应用是否具有可配置性,高性能,可伸缩性的特性,SaaS成熟度模型被分成四级。每一级都比前一级增加三种特性中的一种:

  • 多次开发
    • 这种模型下,软件服务提供商为每个客户定制一套软件,并为其部署。每个客户使用一个独立的数据库实例和应用服务器实例。数据库中的数据结构和应用的代码可能都根据客户需求做过定制化修改。
  • 一次开发多次部署
    • 通过不同的配置满足不同客户的需求,而不需要为每个客户进行特定定制,以降低定制开发的成本。
    • 但是,软件的部署架构没有太大的变化,依然为每个客户独立部署一个运行实例。只是每个运行实例运行的是同一份代码,通过配置的不同来满足不同客户的个性化需求。
    • 可配置性的比较通用的实现方式,就是通过MetaData(元数据)来实现。
  • 一次开发一次部署
    • 多租户单实例(Multi-Tenant)的应用架构才是通常真正意义上的SaaS应用架构,它可以有效降低SaaS应用的硬件及运行维护成本,最大化地发挥SaaS应用的规模效应。
  • 无需开发
    • 将第三级的Multi-Tenant SingleInstance系统扩展为Multi-Tenant MultiInstance。最终用户首先通过接入Tenant Load Balance层,再被分配到不同的Instance上。通过多个Instance来分担大量用户的访问,我们可以让应用实现近似无限的水平扩展。

总结

本文通过厨房最菜的例子介绍了云计算中的三种形式:IaaS、PaaS以及SaaS。

从IaaS到PaaS再到SaaS,服务商提供的服务及产品越来越多,而普通用户承担的工作量便越来越少。

从左到右,使用了对应的云服务后,用户承担的工作量(上图绿色部分)会越来越少,IaaS > PaaS > SaaS。

IaaS 是云服务的最底层,主要提供一些基础资源。常见的产品有Amazong EC2、阿里云等。

PaaS 提供软件部署平台,抽象掉了硬件和操作系统细节,可以无缝地扩展。开发者只需要关注自己的业务逻辑,不需要关注底层。常见的产品有Heroku等。

SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。常见的产品有Gmail、PayPal等。

本文分享自微信公众号 - Java3y(java3y)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-18

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么我玩游戏那么卡?

    周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。

    Java3y
  • Intellij IDEA神器居然还有这些小技巧

    Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专...

    Java3y
  • 【面试现场】为什么MySQL数据库要用B+树存储索引?

    小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司。

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

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

    BGBiao
  • 通俗了解IaaS,PaaS,SaaS

    【IT168 评论】云服务已经被大众所熟知,但对于刚接触云计算的朋友来说,仍然是云里雾里的绕着,今天小编就为你解读一下云计算的几种服务模式,IaaS,PaaS,...

    企鹅号小编
  • IaaS,PaaS,SaaS 的区别

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

    云加社区
  • 详述 IaaS、PaaS 和 SaaS 的含义及区别

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

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

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

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

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

    ruanyf
  • 云计算产生的背景

    1.经济方面 (1) 全球化经济一体化 (2)日益复杂的世界和不可确定性的黑天鹅现象 (3) 需求是云计算发展的动力。 2.社会层面 (1)数字一代的崛起 (2...

    cloudskyme

扫码关注云+社区

领取腾讯云代金券