云计算通俗来说就是输入/输出和计算不在一个主机上。计算要用到计算设备,计算设备一般是指CPU、内存和硬盘,输入/输出设备一般是指键盘、鼠标、显示器、耳机、音响、话筒等外设。而我们的个人计算机是使用主板将这些东西连接到一起来协调工作。

一个软件在执行以完成某项任务的时候,如果用到的计算设备和输入/输出设备不是通过主板连接,而是通过网络连接,那么这个过程就叫云计算。

(加上前两篇文章,这个是第三种方式阐述了什么是云计算)

公有云服务商组建了云端并对外出租计算设备,那么出租类型也就是我们常说的——IaaSSaaSPaaS

在这之前先来看看一个公司整体的IT应用搭建都需要一些什么东西,下图IT架构九重天,这九层妖塔是在云服务商那里负责建设了。深感精辟!

如下图:应用程序数据运行时环境中间件操作系统虚拟化服务器存储网络,这九重天,是指建设的时候按照这个顺序去建设,这也是广泛被接受和认可的“竖井”式施工和划分层次方式。也是我们传统的本地部署应用,需要搭建的环境。

如下图所示:

1、IaaS服务模式

IaaSInfrastructure as a server的缩写,意思是基础设施即服务。云端公司把IT环境的基础设施建设好,然后直接对外出租硬件服务器或者虚拟机。消费者可以利用所有计算基础设施,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制。

如下图所示:

云端公司一般都会有一个自助网站,用户可以向云端公司签订租赁协议以获取一个账号,登录之后可以管理自己的计算设备:开关机、安装操作系统、安装应用软件等。

IaaS型租用方式对用户来说优点很明显,就是非常灵活,也是自由度最大的一种类型。用户可以决定安装什么操作系统,以及是否需要安装或者安装什么类型的数据库,还有安装什么软件等等。就像自己买了台电脑,如何使用是你全权做主。

不过缺陷也很明显,除了管理维护量大之外,还有一个缺陷就是:计算资源严重浪费。操作系统、数据库以及中间件本身就要消耗大量的计算资源,而这些消耗对于租户而言是必须的但是又是无用的,因为用户只是想要运行软件。

2、PaaS服务模式

PaaSPlatform as a Server的缩写,意思是平台即服务,为某些软件提供云组件,这些组件主要用于应用程序。PaaS为开发人员提供了一个框架,使他们可以基于它创建自定义应用程序。所有服务器,存储和网络都可以由企业或第三方提供商进行管理,而开发人员可以负责应用程序的管理。

如下图所示:

PaaS允许企业使用特殊的软件组件设计和创建内置于PaaS中的应用程序。由于具有某些云特性,这些应用程序或中间件具有可扩展性和高可用性。同时再PssS上划分小块(习惯称之为容器)对外出租,租户只需要安装和使用软件就可以了。

(1)何时使用PaaS

在许多情况下,使用PaaS是有益的,甚至是必要的。 如果有多个开发人员在同一个开发项目上工作,或者必须包含其他供应商,PaaS可以为整个过程提供极大的速度和灵活性。 如果您希望能够创建自己的自定义应用程序,PaaS也是很有益的。

云服务还可以大大降低成本,并且可以简化您在快速开发或部署应用程序时出现的一些挑战。

(2)PaaS的特点

PaaS具有许多将其定义为云服务的特征,包括:

  • 它基于虚拟化技术,这意味着随着业务的变化,资源可以轻松扩展或缩小。
  • 提供各种服务以协助开发,测试和部署应用程序。
  • 许多用户可以访问相同的开发应用程序。
  • Web服务和数据库是集成的。

(3)PaaS优势

无论您的公司规模如何,使用PaaS都有很多优势:

  • 使应用程序的开发和部署变得简单且经济高效。
  • 可扩展。
  • 高度可用。
  • 使开发人员能够创建自定义应用程序,而无需维护软件。
  • 大大减少了编码量。
  • 自动化业务策略。
  • 允许轻松迁移到混合模型。

3、SaaS服务模式

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

同样来看图:

对比PaaS略微有一点不同,应用软件是云端公司来安装、运维的。租户使用软件,并且需要管理的是这些软件产生的数据信息。

SaaS在许多场景情中是最有利的,包括:

  • 如果您是一家初创公司或小公司,需要快速启动电子商务,没有时间处理服务器问题或软件。
  • 适用于需要协作的短期项目。
  • 如果您需要不常用的应用程序,例如税务软件。
  • 适用于需要通过Web和移动访问的应用程序。

参考:

『现学现忘』Docker相关概念 — 3、IaaS、SaaS、PaaS服务模式补充的更多相关文章

  1. 『现学现忘』Docker相关概念 — 2、云计算的服务模式

    目录 1.最底层的,就是IaaS 2.再往上,就是PaaS 3.继续往上,就是SaaS 4.IaaS.SaaS.PaaS三者之间的关系 上一篇文章详细介绍了什么是云计算: 云是一种服务,可以像使用水. ...

  2. 『现学现忘』Docker相关概念 — 1、云计算概念

    目录 1.云计算的概念 2.示例说明云计算 3.小故事说明云计算 "云计算"这个词,相信大家都非常熟悉. 作为信息科技发展的主流趋势,它频繁地出现在我们的眼前.伴随它一起出现的,还 ...

  3. 『现学现忘』Docker相关概念 — 8、虚拟化技术和容器技术的关系

    目录 1.云计算中虚拟化技术和容器技术到的关系 2.虚拟机和容器对比 3.虚拟化技术和容器技术区别 1.云计算中虚拟化技术和容器技术到的关系 通过一个关于房间和住人的小问题,我们来初步的理解一下虚拟化 ...

  4. 『现学现忘』Docker相关概念 — 4、虚拟化概念

    目录 1.虚拟化的概念 2.为什么出现虚拟化 3.虚拟化技术 1.虚拟化的概念 虚拟化是指通过虚拟化技术将计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操 ...

  5. 『现学现忘』Docker相关概念 — 6、虚拟化技术分类

    目录 1.按照虚拟化的程度分类 (1)完全虚拟化技术 (2)半虚拟化技术 (3)完全虚拟化与半虚拟化优缺点 2.从虚拟化架构分类 (1)寄居架构 (2)裸金属架构 虚拟化是一个广义的术语,是指计算元件 ...

  6. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  7. 『现学现忘』Docker基础 — 9、Docker简介

    目录 1.什么是Docker? 2.Docker的出现解决了什么问题? 3.Docker的特别之处 4.Docker相关网站 1.什么是Docker? 2010年dotCloud公司在旧金山成立,PA ...

  8. 『现学现忘』Docker基础 — 10、Docker的安装

    目录 1.前提 2.通过yum安装Docker (1)更新yum包 (2)移除旧的Docker版本 (3)安装必须的软件包 (4)设置稳定yum源仓库 (5)更新yum软件包索引 (6)开始安装Doc ...

  9. 『现学现忘』Docker基础 — 11、Docker安装的问题补充

    目录 1.问题复现 2.解决冲突 3.重新安装docker-ce-selinux 4.安装Docker-ce 5.总结 通过yum安装Docker的时候,安装20版本的Docker没有出现问题,在安装 ...

随机推荐

  1. 使用pybind11为Python编写C++扩展(一)配置篇:Build(编译和链接)

    目录 Setuptools CMake 最后决定选用pybind11,理由如下: 比python原生的C API看起来人性多了 我的C++代码不是现成的,需要一定的C++开发工作量,所以感觉cytho ...

  2. Vue.js的组件(slot/动态组件等)、单文件组件、递归组件使用

    一.组件 1> 组件命名方式有两种(注意:在DOM模板中只有kebab-case命名方法才生效): html中引用组件: <!-- 在DOM模板中,只有 kebab-case命名才生效 - ...

  3. python pyautogui

    使用pyautogui随机调用图库里的一张照片设置为壁纸,每天定时执行 代码 import time import pyautogui import random pyautogui.keyDown( ...

  4. Rock Pi开发笔记(一):Rock Pi系列arm产品方案快速落地方案介绍

    前言   开发RK3399等相关的项目和产品做评估,最近发现Rock Pi4是一个很好的评估版,价格合适,能满足评估的开发,像树莓派一样留出来引脚接口,是很好的快速落地arm系列产品和项目的较好方案选 ...

  5. SpringBoot 自定义配置

    有时候需要自己定义一些配置,比如SpringBoot没有提供Druid连接池的配置,需要我们自己写配置. 以在springboot中使用Druid为例. 依赖 <dependency> & ...

  6. JVM学习五:性能监控工具

    一.系统性能监控 系统性能工具用于确定系统运行的整体状态,基本定位问题所在. Linux – uptime • 系统时间 • 运行时间 n 例子中为7分钟 • 连接数 n 每一个终端算一个连接 • 1 ...

  7. Java进制的转换

    进制:进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 整型的表现形式 十进制: 都是以0-9这九个数字组成,不能以0开头. 二进制: 由0和1两个数字组成. 八进制: 由 ...

  8. java中的静态变量,静态方法与静态代码块详解

    java中的类的生命周期分为装载,连接,初始化,使用,和卸载五个过程. 而静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

  9. 隐藏键盘的N种方法

    ---Created by luo.h 显示键盘 [textField becomeFirstResponder]; 隐藏键盘 @interface ViewController ()<UITe ...

  10. Linux_shell命令说明

    1.1 pwd命令 该命令的英文解释为print working directory(打印工作目录).输入pwd命令,Linux会输出当前目录. 1.2 cd命令 cd命令用来改变所在目录. cd / ...