热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我对Pass、SaaS、IaaS的理解

总能听到云计算服务的3种模型:IaaS:Infrastructure-as-a-Service(基础设施及服务)PaaS&#

总能听到云计算服务的 3 种模型:

  • IaaS:Infrastructure-as-a-Service(基础设施及服务)

  • PaaS:Platform-as-a-Service(平台及服务)

  • SaaS:Software-as-a-Service(软件及服务)


      还能看到各种类比:吃披萨、吃汉堡、吃烧烤、涮火锅、盖房子、装修、写文档、养猪、发电、开车、生孩子??、泡妞???……众说纷纭,那么有没有办法能去伪存真,彻底搞明白这些术语呢?

一、云计算

(1) 定义:云计算是一种模型。让可配置的计算资源(如网络、服务器、存储、应用程序和服务)能够通过网络随取随用,只需要很少的管理工作或者与服务供应商简单交互就能快速控制这些资源的供应和释放;

 这种云模型由 5 个基本特征、3 个服务模型和 4 个部署模型组成:(其中,三个服务模型就是所谓的*aaS)

(2)五个基本特征


  • 按需自助服务(On-demend self-service):使用者可以根据需要单方面的自动预配计算能力,比如服务时间和网络存储,而不用和每个服务提供商进行人工交互服务;
  • 广泛的网络访问(Broad network access):功能通过网络提供,并通过标准机制来访问,这些机制能够促进各种客户端平台(比如移动电话,平板电脑,笔记本电脑,工作站)的使用;
  • 资源集中(Resource pooling):供应商的计算资源通过多租户模型集中用于为多个使用者提供服务,不同的物理的虚拟资源会根据使用者需求,动态调配,有种位置独立的感觉,因为客户通常无法控制或不知道所提供资源的具体位置,但能在跟高的抽象级别(如国家/地区、州或数据中心)指定位置。资源包括存储、处理、内存和网络带宽。
  • 快速弹性(Rapid elasticity):在某种情况下,可以自动弹性的配置和释放功能,以便根据需求迅速的向外或向内扩展,对于使用者来说,可用于预配的功能通常看起来是无限的,并且可以随时以任何数量进行配置。
  • 可计量服务(Measured service):云系统通过在适合服务类型的某层抽象(例如存储、处理、带宽和活动用户帐户)上利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用情况,从而为所使用的服务的提供者和消费者提供透明性

(3)三个服务模型


  • 基础设施即服务(Infrastructure as a Service (IaaS)):提供给使用者的功能是预配处理、存储、网络和其它基础计算资源,使用者能够在上面部署和运行任意软件,包括操作系统和应用程序。使用者不管理或控制底层云基础设施,但可以控制操作系统、存储和已部署的应用程序,并且还能受限地控制所选的网络组件(例如主机防火墙)
  • 平台即服务(Platform as a Service (PaaS)):提供给使用者的功能是将使用者通过供应商支持的编程语言、类库、服务和工具来实现,或创建的应用程序部署到云基础设施上。使用者不管理或控制底层包括网络、服务器、操作系统或存储在内的云基础设施,但可以控制已部署的应用程序和配置应用程序托管环境的设置选项
  • 软件即服务(Software as a Service (SaaS)):提供给使用者的功能是用于在云基础设施上运行的供应商应用程序,应用程序可通过瘦客户端界面(如 Web 浏览器(例如基于 Web 的电子邮件)或程序接口从各种客户端设备访问。使用者不管理或控制底层包括网络、服务器、操作系统、存储、甚至单个应用程序功能在内的云基础设施,但一些用户特定应用程序配置可能要额外设置

注意:差异主要体现在使用者对资源的控制程度上:


控制程度IaaSPaaSSaaS

    控制

(需要维护的)

操作系统
应用程序
处理
存储
网络
其它基础计算资源
已部署的应用程序
应用程序托管环境的设置选项
一些用户特定应用程序配置
     托管
(无需关心的)
网络组件网络
服务器
操作系统
存储
一些应用程序功能
网络
服务器
操作系统
存储

从基础设施到平台到软件,资源供应形式的抽象程度越来越高,使用者需要关注的底层设施越来越少,如下图    

             

(4) 4个部署模型


  • 私有云(Private cloud):云基础设施由多个使用者(例如,业务部门)组成的单个组织专用。它可能由组织、第三方或它们的某种组合所拥有、管理和运营,并且可能在内部部署(on-premises)也可能在外部(off-premises)
  • 社区云(Community cloud):云基础设施由具有相同关注点(例如任务、安全性要求、策略和合规性考虑因素)的组织的特定消费者社区专用。它可以由社区中的一个或多个组织、第三方或它们的某些组合所拥有、管理和运营,并且可能在内部部署(on-premises)也可能在外部(off-premises)
  • 公共云(Public cloud):云基础设施供公众开放使用,它可以由商业、学术、政府组织或它们的某些组合所拥有、管理和运营,由云供应商内部部署(on-premises)
  • 混合云(Hybrid cloud):云基础设施由两个或多个不同的云基础设施(私有、社区或公共)组成,这些基础设施仍然是独特的实体,但通过标准化或专有技术绑定在一起,从而实现数据和应用程序的可移植性(例如云爆发,用来实现云负载均衡)

PS.云爆发(cloud bursting)是一种建立在私有云和公共云之间的配置,用来应对 IT 需求高峰。如果使用私有云的组织达到其资源容量的 100%,溢出的流量会定向到公共云,而不会中断服务;


推荐阅读
  • 本文详细解析 Skynet 的启动流程,包括配置文件的读取、环境变量的设置、主要线程的启动(如 timer、socket、monitor 和 worker 线程),以及消息队列的实现机制。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文探讨了Java中有效停止线程的多种方法,包括使用标志位、中断机制及处理阻塞I/O操作等,旨在帮助开发者避免使用已废弃的危险方法,确保线程安全和程序稳定性。 ... [详细]
  • 最新进展:作为最接近官方声明的信息源,本文吸引了大量关注。若需获取最新动态,请访问:lkhill.com/ccie-version-5-update ... [详细]
  • 本文探讨了如何在Sitecore 9环境中通过Postman使用API密钥发送请求,包括解决常见错误的方法。 ... [详细]
  • 利用Cookie实现用户登录状态的持久化
    本文探讨了如何使用Cookie技术在Web应用中实现用户登录状态的持久化,包括Cookie的基本概念、优势及主要操作方法,并通过一个简单的Java Web项目示例展示了具体实现过程。 ... [详细]
  • Python Selenium WebDriver 浏览器驱动详解与实践
    本文详细介绍了如何使用Python结合Selenium和unittest构建自动化测试框架,重点解析了WebDriver浏览器驱动的配置与使用方法,涵盖Chrome、Firefox、IE/Edge等主流浏览器。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
  • 本文详细介绍了几种有效的方法来解决Windows 10系统中常见的内存不足问题,包括手动终止不必要的进程、增加虚拟内存以及使用第三方软件进行系统优化。 ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
author-avatar
蘇靖雯jingwensu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有