软考 系统架构设计师之回归及知识点回顾(7)

接前一篇文章:软考 系统架构设计师之回归及知识点回顾(6)

11. 云计算

背景

大数据和云计算已成为IT领域的两种主流技术。“数据是重要资产”这一概念已成为大家的共识,众多公司争相分析、挖掘大数据背后的重要财富。同时学术界、产业界和政府都对云计算产生了浓厚的兴趣:全球范围内讨论云计算技术学术活动如火如荼;谷歌、亚马逊、IBM、微软等IT巨头大力推动云计算的宣传和产品的普及。各国政府斥巨资纷纷打造大规模数据中心与计算中心。

云计算相关概念

云计算(Cloud Computing)这一概念于2007年10月8日正式出现,其标志性事件是谷歌和IBM联合宣布加入“云计算”的研究工作,给出“云计算”的定义。同年11月15日,IBM上海和阿莫科(Armok,NY)同时发布了“Blue Cloud”,Blue Cloud是一系列的云计算产品,使得共同的数据中心像互联网一样运作。

2007年10月,IBM的Greg Boss等人以技术白皮书的形式给出了“云计算”的定义:

“‘云计算’是同时描述一个系统平台或者一类应用程序的术语。云计算平台按需进行动态部署配置重新配置以及取消服务等。在云计算平台中的服务器可以是物理或虚拟的服务器(SANs)、网络设备防火墙以及其它安全设备等。

在应用方面,云计算描述了一类可以通过互联网进行访问的可扩展应用程序。这类云应用基于大规模数据中心及高性能服务器来运行网络应用程序与Web服务。用户可以通过合适的互联网接入设备以及标准的浏览器就能够访问云计算应用程序。”

IBM的定义明确指出云计算概念的内涵包括两个方面平台应用平台即基础设施,其地位相当于PC上的操作系统,云计算应用需要构建在平台之上;云计算应用所需的计算与存储通常在“云端”完成,客户端需要通过互联网访问计算与存储能力

云计算的服务方式

在对云计算定义深入理解的基础上,产业界和学术界对云计算的服务方式进行了总结。目前一致认为云计算自上而下具有“软件即服务(Software as a Service,SaaS)”、“平台即服务(Platform as a Service,PaaS)”、“基础设施即服务(Infrastructure as a Service,IaaS)”三类典型的服务方式。

(1)软件即服务(SaaS)

在SaaS的服务模式下,服务提供商将应用软件统一部署在云计算平台上,客户根据需要通过互联网向服务提供商订购应用软件服务,服务提供商根据客户所订购软件的数量、时间的长短等因素收费,并且通过标准浏览器向客户提供应用服务

说白了,就是直接使用云平台提供给你的应用软件。举例,在云端使用word、excel。

(2)平台即服务(PaaS)

在PaaS模式下,服务提供商将分布式开发环境与平台作为一种服务来提供。这是一种分布式平台服务,厂商提供开发环境服务器平台硬件资源等服务给客户,客户在服务提供商平台的基础上定制开发自己的应用程序,并通过其服务器和互联网传递给其他客户。

说白了,就是利用在云平台之上构建、开发、安装自己的应用。举例,在云端部署自己做的应用程序或者云端系统中没有预装的软件。

(3)基础设施即服务(IaaS)

在IaaS模式下,服务提供商将多台服务器组成的“云端”基础设施作为计量服务提供给客户。具体来说,服务提供商将内存、I/O设备、存储和计算能力等整合为一个虚拟的资源,为客户提供所需要的存储资源、虚拟化服务器等服务

说白了,就是云平台只提供硬件资源,需要之上构建、开发、安装自己的操作系统。比如,在云平台虚拟机上安装Winodws或Linux操作系统。

以上这三种服务模式有如下特征:

(1)在灵活性方面,SaaS -> PaaS -> IaaS灵活性依次增强。这是因为用户可以控制的资源越来越底层,粒度越来越小,控制能力增强,灵活性也增强。

(2)在方便性方面,IaaS -> PaaS -> SaaS方便性依次增强。这是因为IaaS只提供CPU、存储等底层基本计算能力,用户必须在此基础上针对自身需求构建应用系统,工作量较大,方便性较差。而SaaS模式下,服务提供商直接将具有基本功能的应用软件提供给用户,用户只要根据自身应用的特定需求进行简单配置后就可以使得应用系统上线,工足量较小,方便性较好。

其中,PasS是云计算服务模式中最为关键的一层,在整个云计算体系中起着支撑的作用。PasS的地位相当于系统软件,需要为上层SaaS应用提供API,以支持各种SaaS应用的开发。

云计算的部署形式

根据NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)的定义,云计算从部署模式上看可以分为公有云社区云私有云混合云四种类型。

(1)公有云

在公有云模式下,云基础设施是公开的,可以自由地分配给公众。企业、学术界与政府机构可以拥有和管理公有云,并实现对公有云的操作。

(2)社区云

“社区云”是“公有云”范畴内的一个组成部分,指在一定的地域范围内,由云计算服务提供商统一提供计算资源、网络资源、软件和服务能力所形成的云计算形式。在社区云模式下,云基础设施分配给一些社区组织所专有,这些组织共同关注任务、安全需求、政策等信息。云基础设施被社区内的一个或多个组织所拥有、管理和操作

(3)私有云

在私有云模式下,云基础服务设施分配给由多种用户组成的单个组织。它可以被这个组织或其他第三方组织所拥有、管理和操作。

(4)混合云

混合云是公有云、私有云和社区云的组合。由于安全和控制原因,并非所有的企业信息都能放置在公有云上,因此企业将会使用混合云模式,将公有信息和私有信息分别放置在公有云和私有云环境中。在混合云构建方面,大部分企业选择同时使用公有云和私有云,有一些也会同时构建社区云。

云计算的发展历程

根据云计算的定义和内涵,这里将从虚拟化技术分布式技术软件应用模式三个方面对云计算的历史和发展进行简要论述。其中虚拟化技术的发展可以看作是IaaS服务模式的发展历程分布式计算技术的发展可以看做是PaaS服务模式的发展历程软件应用模式的发展可以看作是SaaS的发展历程

(1)虚拟化技术的历史

1959年6月国际信息处理大会(International Conference on Information Processing)上,计算机科学家Christopher Strachev发表了论文《大型高速计算机中的时间共享》(Time Sharing in Large Fast Computers),首次提出并论述了虚拟化技术

虚拟化的核心思想是使用虚拟化软件在一台物理机上虚拟出一台或多台虚拟机虚拟机是指使用系统虚拟化技术,运行在一个隔离环境中、具有完整硬件功能的逻辑计算机系统,包括客户机操作系统和其中的应用程序。采用虚拟化技术可以实现计算机资源利用的最大化。

(2)分布式计算技术的发展

分布式计算是指具有多个处理和存储的硬件和软件系统、并发进程或多个程序在松耦合或集中控制的方式下进行任务处理的计算方式。在分布式计算中,一个程序被分割成若干部分,在一个计算机网络环境中执行。分布式计算是并行计算的一种形式,但是并行计算通常描述一个程序的不同部分在同一台计算机内多个处理器中的运行情况。这两种计算方式都需要将程序划分为可以同时执行的部分,但是分布式程序通常强调环境的异构性:即具有不同延迟的网络连接以及在网络中或计算机之间不可预知的失效。

分布式计算技术从20世纪70年代左右出现至今,大致经历了程序在多处理器上的运行分布式对象Web服务网络计算对等计算效用计算等几个主要的阶段。

(3)软件应用模式的发展

SaaS的概念起源于1999年之前。2000年12月,贝内特等人指出“SaaS将在市场上获得接受”。“软件即服务”的常见用法和简称始于刊登在2001年2月SIIA的白皮书“战略背景:软件即服务”

2003年以Salesforce为代表的,当时的ASP(Application Service Provider,应用软体租赁服务提供者)企业开始以SaaS为模式提供软件服务。从本质上说,SaaS和ASP的差异不大,基于在线软件服务模式的技术与市场已经变得相对成熟。

在客户通过SaaS获得收益的同时,对于服务提供商而言就变成了巨大的潜在市场。因为以前那些庞数量庞大的、因为无法承担软件许可费用或没有能力招募专业IT人员的中小型企业,在SaaS模式下都成了潜在客户。同时,SaaS模式还可以帮助厂商增强差异化的竞争优势,降低开发成本和维护成本,加快产品或服务进入市场的节奏,有效降低营销成本,改变自身的收入模式,改善与客户之间的关系。SaaS对客户和厂商而言,都具有强大的吸引力,将会给客户和厂商之间带来双赢的大好局面。因此,SaaS是云计算技术下具有旺盛生命力的应用模式。

余下的知识点回顾请看下回:

12. 大数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/750684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Python 编写程序保护您的眼睛

眼睛,是心灵的窗户,生活在数字时代的我们,眼睛首当其冲地承受冲击。盯着电脑屏幕成为我们日常工作和学习的一部分,导致用眼过度。那如何减少对眼睛的伤害,应该如何保护眼睛? 用眼应控制时间,自…

指针的几种典型应用情况?

int *p[n]; 这是一个指针数组。具体来说,p 是一个包含 n 个元素的数组,每个元素都是一个指向整型数据(int)的指针。你可以想象成有一个数组,数组的每个位置都存储了一个地址,这些地址指向整型变量。int (*p…

wait/notify/notifyAll 方法的使用注意事项

wait/notify/notifyAll 方法的使用注意事项 wait/notify/notifyAll 方法的使用注意事项 wait/notify/notifyAll 方法的使用注意事项为什么 wait 必须在 synchronized 保护的同步代码中使用?为什么 wait/notify/notifyAll 被定义在 Object 类中,而 sleep …

代码随想录算法训练营30期——总结篇

训练营的60天一眨眼也就过去了,简单谈谈自己的一些感受和收获吧。 自己是研一非科班出身,出于种种原因读研两三个月后就决定坚定转码了(围城就是这样,很多时候由于信息差有些东西真没有之前想的那么美好)。由于之前几…

论文浅尝 | GPT-RE:基于大语言模型针对关系抽取的上下文学习

笔记整理:张廉臣,东南大学硕士,研究方向为自然语言处理、信息抽取 链接:https://arxiv.org/pdf/2305.02105.pdf 1、动机 在很多自然语言处理任务中,上下文学习的性能已经媲美甚至超过了全资源微调的方法。但是&#xf…

pyflink1.18.0 keyby之后使用自定义keyedProcessfunction报错

现象概述 使用可自定义的keyedProcessFunction,本地运行没问题,数据输入输出没问题. 但是上线后出现问题,最终无疾而终,怀疑线上环境导致的. 环境 flink1.18.0(代码 线上 环境版本统一的) python3.9 报错关键词 - Failed to deserialize consumer record due to - Faile…

python之自动化(django)

1、安装 我用的是pip install Django 在命令行中安装 然后django-admin startproject autotext(在命令行中) 这句话是创建一个django 项目 然后切换到你所创建项目的目录下 输入: python manage.py runserver 当你出现以下错误时 You…

武汉灰京文化:直播游戏新时代的游戏宣传方式

随着互联网和科技的迅速发展,游戏产业也日益繁荣。传统的游戏宣传方式逐渐显现出一些不足,传统的广告渠道和媒体报道在一定程度上已经不能满足游戏行业的需求。然而,随着直播平台的兴起,直播游戏成为了一种新的游戏宣传方式&#…

程序员们正面临前所未有的压力

目前,开发者们正经历双重的心理压力。一方面,持续不断的裁员让整个行业在较短时间内失去了更多的岗位,这种情况自二十多年前的互联网泡沫以来前所未有。那些曾经门庭若市的资深开发者现在却连一个回应都难以获得。而随着 Devin 的推出&#x…

【原创】java+swing+mysql二手车交易管理系统

前言: 本文主要介绍了二手车交易管理设计与实现。首先,通过市场需求,我们确定了二手车的功能,通常的二手车交易系统都是B/S架构,然而我们今天要用javaswing去开发一个C/S架构的二手车交易管理系统,主要功能…

第八阶段:uni-app小程序 --首页开发(2)

一:分析页面布局 1.1: 功能 搜索框: 轮播图: 分类的导航区: 楼层区: 二: 利用命令创建home分支 git branch git checkout -b home git branch 三: 配置网络请求(main.js 入口函数&#x…

每天学习一个Linux命令之route

每天学习一个Linux命令之route 在Linux系统中,route命令是用于配置和管理网络路由表的工具。它允许管理员查看、添加、修改和删除路由表的条目,以确定网络流量的传输路径。以下是route命令的所有可用选项及其用法。 语法 route [选项] [目标] [命令]可…

【网络原理】TCP 协议中比较重要的一些特性(三)

目录 1、拥塞控制 2、延时应答 3、捎带应答 4、面向字节流 5、异常情况处理 5.1、其中一方出现了进程崩溃 5.2、其中一方出现关机(正常流程的关机) 5.3、其中一方出现断电(直接拔电源,也是关机,更突然的关机&am…

【JVM】什么是运行时数据区?

什么是运行时数据区? 运行时数据区指的是JVM所管理的内存区域,其中分成两大类: 线程共享 – 方法区、堆 方法区:存放每一个加载的类的元信息、运行时常量池、字符串常量池。 堆:存放创建出来的对象。 线程不共享 – …

pycharm如何创建虚拟环境

在 PyCharm 中创建虚拟环境可以通过以下步骤完成: 1. 打开 PyCharm:首先,打开 PyCharm 集成开发环境。 2. 创建新项目或打开现有项目**:如果你要在一个新项目中创建虚拟环境,可以选择创建新项目。如果已经有现有项目…

ASP.NET-框架分类与详解

一、ASP.NET框架概述 ASP.NET是由微软公司推出的一种基于.NET框架的服务器端Web应用程序开发技术。它提供了丰富的工具和框架,用于开发各种规模的Web应用程序和服务。ASP.NET具有高度的灵活性和可扩展性,适用于不同规模和复杂度的项目。 在ASP.NET的生…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextTimer)

通过文本显示计时信息并控制其计时器状态的组件。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 TextTimer(options?: TextTimerOptions) 参数: 参数名参数类型…

IBM DataStage服务的启动和停止

IBM DataStage服务的启动和停止 1 DataStage服务启动1.1 启动DB21.2 启动ASB代理服务1.3 启动ASBNODE服务1.4 启动DS服务1.5 启动DS监控 2 DataStage服务停止2.1 停止DS监控2.2 停止DS服务2.3 停止ASBNODE服务2.4 停止ASB代理服务2.5 停止DB2 在IBM DataStage中,服务…

【Miniconda】一文了解conda虚拟环境的作用

【Miniconda】一文了解conda虚拟环境的作用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ &am…

cuda out of memory后清理GPU缓存

省流&#xff1a; sudo fuser -v /dev/nvidia* |awk ‘{for(i1;i<NF;i)print "kill -9 " $i;}’ | sudo sh 事情是这样的&#xff0c;明明模型就不大&#xff0c;但是一直报错cuda out of memory. 输入nvidia-smi查看GPU利用率发现&#xff0c;整体GPU占用了9000…