【云计算原理及实战】初识云计算

news2024/11/24 1:00:10

该学习笔记取自《云计算原理及实战》一书,关于具体描述可以查阅原本书籍。

云计算被视为“革命性的计算模型”,因为它通过互联网自由流通使超级计算能力成为可能。

2006年8月,在圣何塞举办的SES(捜索引擎战略)大会上,时任谷歌(Google)公司首席执行官(CEO)的施密特(Eric Schmidt)在回答一个有关互联网的问题时提出了“云计算”这个概念。在施密特态度鲜明地提出“云计算”一词的几周后,亚马逊(Amazon)公司推出了EC2计算云服务。云计算自此出现,从此之后各种有关“云计算”的概念层出不穷,“云计算”开始流行。

云计算的理论和尝试已经有多年历史,从J2EE和.net架构,到“按需计算”(On-demand computing)、“效能计算”(Utility computing)、“软件即服务”(Software as a service)等新理念、新模式,其实都可看作是对云计算的不同解读或云计算发展的不同阶段。

在流量和服务器数量都高速增长的情况下,“一个能够与网页增长速度保持同步的系统”必不可少,这也是谷歌三篇有关分布式的论文(分别为Google File System分布式存储系统、MapReducefen分布式处理技术和BigTable分布式数据库)之所以具有重要指导意义的原因:一切均出自实践。

业界有一种很流行的说法,将云计算模式比喻为发电厂集中供电的模式。也就是说,通过云计算,用户可以不必去购买新的服务器,更不用去部署软件,就可以得到应用环境或者应用本身。
在这里插入图片描述

1.1.1 云计算的定义

由于云计算是一个概念,而不是指某项具体的技术或标准,于是不同的人从不同的角度出发就会有不同的理解

1.分析师和分析机构对云计算的理解

早期的美林证券(Merrill Lynch)认为,云计算是通过互联网从集中的服务器交付个人应用(E-mail、文档处理和演示文稿)和商业应用(销售管理、客户服务和财务管理)。

《信息周刊》(Information Week)的定义则更加宽泛:云计算是一个环境,其中任何的IT资源都可以以服务的形式提供。

华尔街日报》(The Wall street Journal)认为云计算使企业可以通过互联网从超大数据中心获得计算能力、存储空间、软件应用和数据。

2.不同IT厂商对云计算的理解

IBM 公司认为,云计算是一种计算风格,其基础是用公共或私有网络实现服务、软件及处理能力的交付,也是一种实现基础设施共享的方式,利用资源池将公共或私有网络连接在一起为用户提供IT服务。

Google公司的前CEO施密特认为,云计算把计算和数据分布在大量的分布式计算机上,这使计算力和存储获得了很强的可扩展能力,并使用户可通过多种接入方式(例如计算机、手机等)方便地接入网络获得应用和服务。

Google公司前全球副总裁李开复认为,整个互联网就是一片美丽的云彩,网民们需要在“云”中方便地连接任何设备、访问任何信息、自由地创建内容、与朋友分享。

微软的提法一直是“云 + 端”。微软认为,未来的计算模式是云端计算,而不是单纯的云计算。这里的“端”是指客户端,也就是说云计算一定要有客户端来配合。微软公司前全球资深副总裁张亚勤博士认为:“从经济学角度来说,带宽、存储和计算不会是免费的,消费者需要找到符合他们需要的模式,因而端的计算一定是存在的。
在这里插入图片描述

3.学术界对云计算的理解

“网格计算之父”伊安·福斯特(Ian Foster)认为,云计算是一种大规模分布式计算的模式,其推动力来自规模化所带来的经济性。他认为云计算的几个关键点是:大规模可扩展性;可以被封装成一个抽象的实体,并提供不同的服务水平给外部用户使用;由规模化带来的经济性;服务可以被动态配置(通过虚拟化或者其他途径),按需交付。

来自加州大学伯克利分校的一篇技术报告指出,云计算既是指透过互联网交付的应用,也是指在数据中心中提供这些服务的硬件和系统软件。

维基百科(Wikipedia)的定义基本涵盖了各个方面的看法:“云计算是一种计算模式,在这种模式下,动态可扩展而且通常是虚拟化的资源通过互联网以服务的形式提供出来。

曾在IBM任职的朱近之在《智慧的云计算:物联网的平台》定义如下:“云计算是一种计算模式:把 IT 资源、数据和应用作为服务通过网络提供给用户。在计算机流程图中,互联网常以一个云状图案来表示,用来表示对复杂基础设施的一种抽象。云计算正是对复杂的计算基础设施的一个抽象

在这里插入图片描述

美国国家标准技术学院(NIST)给云计算提供的定义:“云计算是一种模型,这个模型可以方便地通过网络访问一个可配置的计算资源(例如网络、服务器、存储设备、应用程序以及服务等)的公共集。这些资源可以被快速提供并发布,同时最小化管理成本以及服务供应商的干预。”上述定义应该算是比较清晰和恰当的,也是本书所采用的定义

计算发生的地方来看,最简单地回答是:云计算将软件的运行从平常情况下的个人计算机 (或桌面计算机)搬到了云端,也就是位于某个“神秘”地理位置上的服务器或服务器集群上。

资源供应的形式来看,云计算是一种服务计算,即所有的IT资源,包括硬件、软件、架构都被当作一种服务来销售并收取费用。对于云计算来说,其提供的主要服务是三种:基础设施即服务(IaaS),提供硬件资源,类似于传统模式下的CPU、存储器和 I/O;平台即服务(PaaS),提供软件运行的环境,类似于传统编程模式下的操作系统和编程框架;软件即服务(SaaS),提供应用软件功能,类似于传统模式下的应用软件。

云计算将一切资源作为服务,按照所用即所付的方式进行消费正是主机时代的特征。在主机时代,所有用户通过显示终端和网线与主机连接,按照消费的CPU时间和存储容量进行计费。所不同的是,在主机模式下,计算发生在一台主机上;在云计算下,计算发生在服务器集群或者数据中心。 概括来说,云计算是各种虚拟化、效用计算、服务计算、网格计算、自动计算等概念的混合演进并集大成之结果。

1.1.2 计算模式的演进过程

下图从计算模式的角度展现了云计算的发展。
在这里插入图片描述

1.主机系统与集中计算

1964 年,世界上第一台大型主机System/360诞生,引发了计算机和商业领域里的一场革命。大型主机的一个特点就是资源集中计算、存储集中,这是集中计算模式的典型代表。主机的用户大都采用终端的模式与主机连接,本地不进行数据的处理和存储,也不需要进行诸如补丁管理、防火墙保护和病毒防范等措施。

云计算与主机计算一个重要的区别是其面向的用户群体不同。主机计算的用户通常是大型机构,并为关键应用所准备,如人口普查、消费统计、ERP、财务交易等;而云计算则面向普罗大众,可以运行各种各样的大、中、小型应用程序。

2.效用计算

主机的购买成本高昂,一些用户只能租用,而不是购买。于是有人提出了效用计算的概念,目标是把服务器及存储系统打包给用户使用,按照用户实际使用的资源量对用户进行计费。效用计算中的关键技术就是资源使用计量,它保证了按使用付费的准确性。此种计算范式的最大优势是用户无须提前付费,也无须将IT资源买断

3.客户机/服务器模式

从服务的访问模式上看,云计算确实有**客户机/服务器模式(Client/Server)**的影子:客户通过某种设备与远处的云端联系在一起,使用运行在云端的应用软件所提供的服务。不过,在这种形似的背后,云计算提供的这个“远程服务器”具有无限的计算能力、无限的存储容量,且从来不会崩溃,几乎没有什么软件不能运行在其上。

4.集群计算

服务器集群计算是用紧密耦合的一组计算机来达到单个目的,而云计算是根据用户需要提供不同支持来达到不同的目的。此外,服务器集群计算是有限度的分布式计算,其面临的挑战不如云计算所面临的分布式计算复杂。另外,集群计算并不考虑交互式的终端用户,而云计算恰恰需要考虑。显然,云计算包含了服务器集群计算的元素。

5.服务计算

服务计算也称为面向服务的计算,其更为准确的名称是软件即服务(SaaS)。服务计算与云计算仍然存在重要区别。首先,虽然服务计算一般在互联网上实现,但服务计算不一定必须在云中提供,单台服务器、小规模服务器集群、有限范围的网络平台就可以提供服务计算;其次,服务计算一般仅限于软件即服务,而云计算将服务的概念推广到了硬件和运行环境,囊括了基础设施即服务、平台即服务的概念。

6.个人计算机与桌面计算

个人计算机具备自己独立的存储空间和处理能力,虽然性能有限,但是对于个人用户来说,在一段时间内也够用了。个人计算机可以完成绝大部分的个人计算需求,这种模式也叫桌面计算。

在互联网出现之前,软件和操作系统的销售模式都是授权(License)模式,也就是通过软盘或者光盘,将软件代码复制到计算机之上,而每一次复制,都需要向软件开发商付费。升级的过程有时会很烦琐。对于一个大型企业来讲,它的IT部门可能需要管理上百种软件、上千个版本、上万台计算机,每个版本的软件都需要维护,包括问题追踪、补丁管理、版本升级和数据备份等,这绝非一项简单的工作。

7.分布式计算

个人计算机没有解决数据共享和信息交换的问题,于是出现了网络——局域网及后来的互联网。网络把大量分布在不同地理位置的计算机连接在一起,有个人计算机,也有服务器。

分布式计算依赖于分布式系统。分布式系统由通过网络连接的多台计算机组成。每台计算机都拥有独立的处理器及内存。这些计算机互相协作,共同完成一个目标或者计算任务。

8.网格计算

计算机的一个主要功能就是复杂科学计算,而这一领域的主宰就是超级计算机。以超级计算机为中心的计算模式存在明显不足:造价极高,通常只有一些国家级的部门(如航天、气象和军工等部门)才有能力配置这样的设备。随着人们越来越需要数据处理能力更强大的计算机,人们开始寻找一种造价低廉而数据处理能力超强的计算模式,最终科学家们找到了答案,那就是网格计算

它是伴随着互联网而迅速发展起来的、专门针对复杂科学计算的新型计算模式。这种计算模式利用互联网把分散在不同地理位置的计算机组织成一台“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一堆网格”,所以这种计算方式叫网格计算。为了进行一项计算,网格计算首先把要计算的数据分割成若干“小片”,然后将这些小片分发给分布的每台计算机。每台计算机执行它所分配到的任务片段,待任务计算结束后将计算结果返回给计算任务的总控节点。

网格计算其核心是试图去解决一个巨大的单一的计算问题,这就限制了它的应用场景。在非科研领域,只有有限的用户需要用到巨型的计算资源。从某种程度来看,网格要做的很多事情也是云计算要做的事情,但网格计算却不能算是云计算。首先,网格计算主要针对科学计算和仿真,而云计算则是通用的。其次,网格不考虑交互式终端用户,而云计算要考虑

9.SaaS

SaaS全称为Software as a service,中文译为“软件即服务”,它是一种通过Internet来提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求,通过互联网向厂商订购所需的软件应用服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。

10.云计算的出现

纵观计算模式的演变历史,可以总结为:集中─分散─集中。云计算提供的基本服务有三种:一是硬件资源服务;二是运行环境服务;三是应用软件服务。那么用户也可用至少三种方式来使用云平台:一是利用云计算(平台)来保存数据(使用云环境所提供的硬件资源);二是在云计算平台上运行程序(使用云环境的运行环境);三是使用云平台上面的应用服务(使用云上布置的应用软件服务,如地图、搜索、邮件等)。

云计算至少有以下四个优势:按需供应的无限计算资源;无须事先花钱就能使用的IT架构;基于短期的按需付费的资源使用;单机难以提供的事务处理环境。

真正的云计算服务同时满足以下三个条件:

服务应该是随时随地可接入。用户可以在任何时间、任何地点,通过任何可以连接网络的设备来使用服务,而无须考虑应用程序的安装问题,也无须关心这些服务的实现细节。

服务应永远在线。偶发问题可能出现,但一个真正的云计算服务应时刻保证其可用性和可靠性,即保证随时可通过网络的接入,并正常提供服务。

服务拥有足够大的用户群。这就是所谓的“多租赁”,由一个基础平台向多个用户提供服务的“租赁”。虽然没有明确的数量来进行划分,但只是针对少数用户的服务,即使用云计算相关的技术来支撑其基础系统架构,也不应该归为云计算服务。因为只有庞大的用户群,才会产生海量数据访问压力,这是云计算出现的最根本原因,也是云计算服务区别其他互联网服务的标志之一。

1.1.3 云计算简史

20世纪60年代,“人工智能之父”约翰·麦卡锡(John McCarty)曾经说过:“计算资源可能在未来成为一种公用设施”。这应该是最早发表过的与云计算相关的表述

1966 年,道格拉斯·帕克希尔(Douglas Parkhill)出版了《计算机效用的挑战》一书。该书已经描述了云计算,只不过没有用“云计算”这个名词。“云”这个词源自电信产业。
1999年美国易安信公司(EMC)提出了数据拨号音的设想。

亚马逊公司在 2005 年在其内部首先实施了亚马逊 Web 服务(AWS)效用计算模式。之后,亚马逊公司决定将自己的云计算提供给外部的客户,并在 2006 年开始将 AWS 作为效用计算向外部客户提供。图 1.5所示为云计算发展历史中的重大事件。
在这里插入图片描述

1.1.4 云计算的推动力

云计算的出现是由多种因素促成,具有一定的必然性,具有决定性因素如下:网络带宽的提升技术成熟度移动互联网的发展数据中心的演变经济因素大数据提高资源利用率节能降耗降低信息系统的维护成本、提升 IT 资产的安全态势、提升信息系统的灾备能力。推动云计算出现和发展的动力就是节省、灵活、方便、弹性、无限、按用量计费。

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

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

相关文章

热电联产在综合能源系统中的选址定容研究(matlab代码)

目录 1 主要内容 目标函数 程序模型 2 部分代码 3 程序结果 1 主要内容 该程序参考《热电联产在区域综合能源系统中的定容选址研究》,主要针对电热综合能源系统进行优化,确定热电联产机组的位置和容量,程序以33节点电网和17节点热网为例…

Windows11 wsl2安装Ubuntu-20.04

Ubuntu系统开机报错(无法开机启动) Linux启动报错或无法启动的解决方法 Windows11 64bit系统 1.Windows11系统上,启用虚拟机平台 2.Windows11系统上,先启用"适用于Linux的Windows子系统",然后在Windows11上安装Ubuntu-20.04系统 3…

软考:中级软件设计师:数据库模式、ER模型

软考:中级软件设计师:数据库模式、ER模型 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准…

杨氏矩阵!!!!

杨氏矩阵🐸 📕题目要求: 杨氏矩阵 题目内容📚: 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 🧠题…

Linux编程——进程间通信(信号灯集、消息队列)

目录 一、信号灯集1.1 概念1.2 信号灯集创建步骤⭐⭐⭐1.3 信号灯集对应函数 二、消息队列 一、信号灯集 1.1 概念 信号灯(semaphore),也叫信号量。它是不同进程间或一个给定进程内部不同线程间同步的机制;System V的信号灯是一个或者多个信号灯的一个…

三星电子首席技术官:BSPDN技术开发计划曝光,背部供电技术创新

在ETNews的报道之后,三星电子的代工部门首席技术官Jung Ki-tae Jung透露了该公司在BSPDN技术开发方面的计划。 BSPDN技术是一项创新技术,旨在更好地利用半导体晶圆背面空间的潜力。虽然该技术尚未在全球范围内实施,但三星电子成为首家公开披…

ApiPost设置全局令牌

为了避免请求接口每次都要请求登录,获取令牌鉴权,我们可以设置全局令牌(token),避免处处单独使用令牌,造成环境混乱,使用如下: 接口设置 我们先配置好请求接口和请求参数&#xff0…

QTreeWidget基本属性操作

文章目录 一、背景设置1、添加背景颜色之前与之后的对比1.2背景设置的两种方式 2、边框设置2.1、演示以上参数的实际效果2.1.1、无边框、虚线、实线边框演示2.1.2、边框的3D效果 一、背景设置 1、添加背景颜色之前与之后的对比 1.2背景设置的两种方式 通过QT设计界面中的改变…

基于eBPF技术构建一种应用层网络管控解决方案

引言 随着网络应用的不断发展,在linux系统中对应用层网络管控的需求也日益增加,而传统的iptables、firewalld等工具难以针对应用层进行网络管控。因此需要一种创新的解决方案来提升网络应用的可管理性。 本文将探讨如何使用eBPF技术构建一种应用层网络…

观察者模式 Observer Pattern 《游戏编程模式》学习笔记

定义 观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 这是定义,看不懂就看不懂吧,我接下来举个例子慢慢说 为什么我们需要观察者模式 我们看一个很简…

软件确认测试报告的作用,第三方测试机构进行确认测试的好处

近年来,随着软件产品的不断发展和普及,软件确认测试作为一项重要的质量保障手段也越来越受到关注,主要是为了检测软件产品是否符合需求规格和预期功能,以及是否存在缺陷和问题。对于软件产品开发商来说,进行确认测试是…

未济卦-物不可穷

前言:学无止境,人生没有终点,虽说是六十四卦的最后一卦,仍是“未济”,今天学习未济卦的卦辞和爻辞。 卦辞 亨;小狐汔济,濡其尾,无攸利。 序卦:无不可穷也,故…

计蒜客T1122——最长最短单词

又是一道水题&#xff0c;基本思路是从目标串中根据空格分离出来每一个单词&#xff0c;然后分别找出最大值与最小值&#xff0c;输出即可~ #include <iostream> #include <string> #include <vector> using namespace std;int main(int argc, char** argv)…

车辆维修保养记录接口:数据对接,价格明细表精准展示

随着人们生活水平的提高&#xff0c;私家车越来越多&#xff0c;对车辆的维修保养需求也越来越高。车辆维修保养记录是车主和维修人员都需要关注的重要信息。然而&#xff0c;由于维修保养记录的复杂性和数据量大&#xff0c;人工管理难以胜任&#xff0c;这就需要开发一种接口…

Python源码05:使用Pyecharts画词云图图

**Pyecharts是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个基于 JavaScript 的数据可视化库&#xff0c;提供了丰富的图表类型和交互功能。**通过 Pyecharts&#xff0c;你可以使用 Python 代码生成各种类型的 Echarts 图表&#xff0c;例如折线图、柱状图、饼图、散…

jstat -gcutil 命令使用

jstat -gcutil命令用于监视Java应用程序的垃圾回收情况。它提供了有关堆内存使用情况、垃圾回收器的活动以及垃圾回收的效率的信息。 目录 一、基本语法 二、执行结果 一、基本语法 jstat -gcutil <pid> <interval> <count> 参数解释&#xff1a; <p…

C++11实用技术(四)for循环该怎么写

普通用法 在C遍历stl容器的方法通常是&#xff1a; #include <iostream> #include <vector>int main() {std::vector<int> arr {1, 2, 3};for (auto it arr.begin(); it ! arr.end(); it){std::cout << *it << std::endl;}return 0; }上述代…

科东软件受邀参加第五届国产嵌入式操作系统技术与产业发展论坛

8月12日&#xff0c;第五届国产嵌入式操作系统技术与产业发展论坛暨嵌入式系统联谊会主题讨论会&#xff08;总第29次&#xff09;在杭州成功举行。这次论坛的主题是“面向异构多核智能芯片的混合关键系统研究与应用”&#xff0c;上午是“嵌入式异构多核智能芯片产业发展”的主…

kubernetes企业级高可用部署

目录 1、Kubernetes高可用项目介绍 2、项目架构设计 2.1、项目主机信息 2.2、项目架构图 1、Kubernetes高可用项目介绍 2、项目架构设计 2.1、项目主机信息 2.2、项目架构图 2.3、项目实施思路 3、项目实施过程 3.1、系统初始化 3.2、配置部署keepalived服务 3.3、…

【Redis基础篇】浅谈分布式系统(一)

一、浅谈分布式系统 1. 单机架构&#xff1a;只有一台服务器&#xff0c;这个服务器负责所有的工作。 如果遇到了服务器不够的场景怎么处理? 开源&#xff1a;增加更多的硬件资源节流&#xff1a;软件上的优化&#xff0c;优化代码等…一台服务器资源使用有限&#xff0c;就…