当前位置: 首页 > news >正文

理解IaaS, PaaS, SaaS等云模型 (Cloud Models)

参考:SaaS vs PaaS vs IaaS: What’s The Difference and How To Choose
参考:怎么理解 IaaS、SaaS 和 PaaS 的区别?知乎

如何快速记忆区分这几个名字?
秘诀:只要记住几个首字母即可:包括I,P,S. 其中I-Infrastructure; P-Platform; S-Service.
后面的话都是统一的aaS,即"as a service"。后面这个不重要,换成"as a product", "as a f__", "business"什么的,都无所谓。

为什么要提到记忆问题?因为如果不先在脑子里区分这几个单词,那么即使看过类各自代表的意义,第二天也会忘的一干二净。

记住了名字后,我们先要知道这几个东西是在说什么。

IaaS, PaaS, Saas, 都是Cloud Models,即云端项目的模型。
如果你要组成一个在线运行的云项目,必须具备很多组件,如硬件的CPU、硬盘,软件的OS系统,HTTP服务器,数据,应用程序等等。根据app需求,它们的搭配运作肯定是你指定的,也就是“固定”的。

但问题是,各个组件谁来提供?谁来管理?
根据各个组件的提供和管理者的不同,就划分出了不同的Cloud Models

image

简单来说:

  • On Premises: 全部自己管。自己买电脑主机,集群,自己装系统装软件,自己更新运维所有Bug。
  • IaaS: 我们就称它为硬件服务。商家负责所有硬件部分,你负责所有软件部分。你只需要按期给钱,剩下硬件问题如硬盘坏了风扇不转了,都不需要你管。
  • PaaS: 我们就称它为平台服务。商家负责绝大部分,你只需要写app的代码和管理自己的数据库。其它比如OS系统漏洞补丁,网线断了,主机散热什么的,都不需要你管。你只需要按月给钱就行了。
  • SaaS: 我们就称它为全套服务。这下好了,连代码都不需要自己写,数据也不用自己找,商家全给足了!你只需要配置下名字,改个Logo,选自己喜欢的功能就够了。其它软件硬件维护更新找Bug,全都不是自己事。比如在线财务报表软件,比如Wordpress博客。

这些很好理解。真正用起来,就针对不同的项目不同的细节了,这里不多说。下面就说说各自的特点。

各个云模型特点

IaaS (硬件服务)

相当于让你租硬件。

优点:

  • 轻松扩容
  • 用户可以完全控制和定制硬件设施

案例:
一般是VPS云服务器提供商。
DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)

PaaS (平台服务)

相当于让你租硬件和系统级软件。

优点:

  • 高可用,
  • 轻松扩容
  • 轻松移植
  • 大量减少代码量
  • 用户可以专心构建自己的业务应用,不用被杂事干扰

案例:
一般是具体的云服务提供商。
AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift

SaaS (全套服务)

相当于让你租软件硬件全团队服务,你只是个给钱的土豪甲方。

优点:

  • 自己什么都不用管理维护
  • 全网可以访问
  • 可以集中管理

案例:
一般是完整的云应用。
Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting

相关文章:

  • 男子半年两次癫痫病发 救他的居然是同一个民警
  • 腾讯广点通这三年
  • 一个精简的React+Ant Design后台管理系统模版
  • Go 子测试使用说明
  • BZOJ3236:[AHOI2013]作业(莫队,分块)
  • HTML5新特性总结
  • 数据结构学习之队列
  • prometheus jmx exporter原理
  • Python 3 字符串转MD5形式
  • Vue常见指令
  • 寒假作业三——抓老鼠啊~亏了还是赚了?
  • 【剑指offer】让抽象问题具体化
  • 读书笔记1--力哥说理财:手把手教你玩转基金
  • [学习笔记]二叉树的遍历
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • JAVA多线程机制解析-volatilesynchronized
  • JS笔记四:作用域、变量(函数)提升
  • Median of Two Sorted Arrays
  • Node项目之评分系统(二)- 数据库设计
  • React的组件模式
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • TypeScript实现数据结构(一)栈,队列,链表
  • 构建工具 - 收藏集 - 掘金
  • 关于springcloud Gateway中的限流
  • 讲清楚之javascript作用域
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 日剧·日综资源集合(建议收藏)
  • 事件委托的小应用
  • 突破自己的技术思维
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 最近的计划
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • 我们雇佣了一只大猴子...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #WEB前端(HTML属性)
  • #Z2294. 打印树的直径
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转)一些感悟
  • . Flume面试题
  • .NET 8.0 发布到 IIS
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .Net环境下的缓存技术介绍
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [C语言]——函数递归
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [jquery]this触发自身click事件,当前控件向上滑出
  • [LeetCode]Spiral Matrix