云计算的概念、原理和关键技术

2023-11-18

1

云计算的定义

NIST(美国国家标准及技术研究所)对云计算的定义:

 

云计算是一种模型,实现无处不在的、方便、通过网络按需访问的可配置的共享计算资源池(例如,网络、服务器、存储、应用程序、服务),这些资源可以快速提供,通过最小化管理成本或与服务提供商进行交互

 

 

 

2 云计算的发展

1959年6月,Christopher Strachey发表虚拟化论文,虚拟化是今天云计算基础架构的基石。

1984年,Sun公司的联合创始人John Gage说出了“网络就是计算机”的名言,用于描述分布式计算技术带来的新世界,今天的云计算正在将这一理念变成现实。

1996年,网格计算Globus开源网格平台起步。

1997年,南加州大学教授Ramnath K. Chellappa提出云计算的第一个学术定义”,认为计算的边界可以不是技术局限,而是经济合理性。

1998年,VMware(威睿公司)成立并首次引入X86的虚拟技术。

2005年,Amazon宣布Amazon Web Services云计算平台。

2006年,Amazon相继推出在线存储服务S3和弹性计算云EC2等云服务。

2006年,Sun推出基于云计算理论的“BlackBox”计划。

2007年7月,亚马逊公司推出了简单队列服务(Simple Queue Service,SQS),这项服务使托管主机可以存储计算机之间发送的消息。2007年11月,IBM首次发布云计算商业解决方案,推出“蓝云”(Blue Cloud)计划。

2008年1月,Salesforce.com推出了随需应变平台DevForce,Force.com平台是世界上第一个平台即服务的应用。

2008年中,Gartner发布报告,认为云计算代表了计算的方向。

2008年10月,微软发布其公共云计算平台——Windows Azure Platform,由此拉开了微软的云计算大幕。

2009年1月,阿里软件在江苏南京建立首个“电子商务云计算中心”。

2009年4月,VMware推出业界首款云操作系统VMware vSphere 4。

2010年1月,Microsoft正式发布Microsoft Azure云平台服务。

2010年5月,中国电信启动星云计划

2010年10月,我国国家发展和改革委员会、工业和信息化部联合发布了《关于做好云计算服务创新发展试点示范工作的通知》,在北京、上海、深圳、杭州、无锡等五个城市先行开展云计算创新发展试点示范工作

2011年1月,美国NIST发布了《The NIST Definition of Cloud Computing》,给出了云计算的参考定义。

2011年2月,美国联邦政府CIO发布了《Federal Cloud Computing Strategy》,明确提出美国政府信息技术向云计算方式迁移,并推行“Cloud First”计划。

2011年12月,美国OMB发布FedRAMP备忘录,正式建立FedRAMP云计算风险管理与授权项目,旨在提供一个标准化的方法来对云计算产品和服务进行安全评估、授权和联系监视。

2013年,澳大利亚政府出台了《The National Cloud Computing Strategy》用于布局云计算总体发展。

2014年,英国政府于2014年宣布正式采用“政府云服务G-Cloud”

2014年,中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会联合发布了联合发布了GB/T 31167-2014《信息安全 云计算服务安全指南》、GB/T 31168-2014《信息安全技术 云计算服务安全能力要求》。

2015年12月,在中国国家标准化管理委员会下达的2015年第三批国家标准修订计划中,正式下达17项云计算国家标准制修订计划

 

3

云计算的基本特点

 

  • 按需自助服务– 消费者能够单方面按需调配计算资源,例如服务器时间和网络存储,这些是无需人为干涉自动进行的。

 

  • 广泛网络访问–通过各种瘦或胖客户端(移动电话、平板电脑、便携式电脑和工作站)使用标准机制通过网络访问资源。

 

  • 资源池– 通过多租户模型,供应商的计算资源池可服务多位消费者,根据用户需求动态或重新分配不同的物理和虚拟资源。资源是与位置无关的,客户通常无法控制或知道资源的精确位置,但可以在更高层抽象(例如,国家、洲或数据中心)上指定位置。资源例子包括存储、处理器、内存和网络带宽。

 

  • 快速可伸缩性– 资源能被弹性配置和发布,在有些场景下,可按需自动而快速的横向扩展和收缩。对于消费者而言,可调配的资源总是无限可用的,可在任何时候使用任意数量的资源。

 

  • 可度量服务– 云计算系统能够自动控制并优化资源的使用,通过适用于服务类型的某些抽象层级的度量机制(例如,存储、处理器、带宽以及活动的用户帐户)。能够监控、控制和报告资源使用率,为服务提供商和消费者提供透明的服务使用情况。

 

4

云计算服务模型

 

 

Software-as-a-Service (SaaS)– 提供给消费者的资源是运行在云计算基础架构上的服务商提供的应用程序。各种客户端通过瘦客户端接口访问该应用程序,例如Web浏览器,或程序接口。消费者并不管理或控制底层的云计算基础架构,包括网络、服务器、操作系统、存储、甚至应用程序本身的功能,只允许部分受限的用户设置特定的应用程序设置。

 

Platform-as-a-Service(PaaS)-提供给消费者的资源是可以使用由服务商支持的编程语言、库、服务和工具,把由消费者创建或购买的应用程序部署在云计算基础设施上的能力。消费者并不管理或控制底层云计算基础设施,包括网络、服务器、操作系统、存储,但对部署的应用程序有控制权,还可以配置应用程序所在宿主机的环境。

 

Infrastructure-as-a-Service(IaaS)-提供给消费者的资源是可调配的处理器、存储、网络以及其他可用于运行任意软件的基础计算资源,包括操作系统和应用程序。消费者并不管理或控制底层云计算基础架构,但可以控制操作系统、存储和部署的应用程序,可能还被允许有限制的控制网络组件(例如,主机防火墙)。

 打个比方:

当你饿了想吃饭时:

自己买锅碗瓢盆这些工具,自己洗菜切菜烧菜,最后烹饪出一份美食,这个过程是IAAS服务

你去户外农家乐出游,农家乐提供了锅碗瓢盆,你自己洗菜切菜烧菜,最后烹饪出一份美食,这个过程就是Paas服务;

你直接点一份外卖,拿到的就是做好的美食,你只负责吃,这个过程就是saas服务。

 

5

云计算部署模型

 

私有云– 云计算基础架构提供给包含多个消费者的单一组织专门使用。该云计算基础架构可以由该组织、第三方机构或他们的组合来拥有、管理和运营,基础架构可以位于组织内部或外部。

社区云-云计算基础架构提供给一个由多个组织的成员组成的消费者社区专门使用,这些组织有共同关注的话题(例如,任务、安全需求、政策、合规性考量)。该云计算基础架构可以由该社区中的一个或多个组织、第三方机构或他们的组合来拥有、管理和运营,基础架构可位于组织内部或外部。

 

公有云-云计算基础架构提供给公众开放使用,该云计算基础架构可以由商业机构、学术组织或政府机关、或者他们的组合来拥有、管理和运营,基础架构位于云计算服务提供商内部。

 

混合云– 由两个或多个独立的不同云计算基础架构(私有、社区或公有)组成,他们通过标准或私有技术被绑定在一起,实现数据和应用程序的可移植性(例如,当云爆发时实现多云之间的负载均衡)。

 

同样打个比方:

饿了要吃饭,在家里自己做饭属于自建私有云,需要建造厨房购买锅碗瓢盆柴米油盐等,吃完饭还需要自己刷锅洗碗等运维工作,费时费力;

外面餐馆提供的就相当于公有云服务,按需胡吃海塞吃完结账抹嘴走人,餐馆后厨如何安排做菜顺序并加快出菜速度就是负载均衡和虚拟化概念;

请厨师到家里上门做饭则属于典型的混合云,在资产安全的情况下有限使用公有云。

如果你上班的单位提供食堂,但是只对单位内部人员和单位下属的部门提供服务,这种就属于典型的社区云;

 

6

云计算关键技术

上面讲到云计算的发展历史,云计算发展到今天,是基于关键技术的不断发展,最终整合在一起才发展成今天所见的云计算产品和服务。

6.1. 虚拟化技术

虚拟化就是通过软件与硬件解耦,实现资源池化与弹性扩展。主流虚拟化技术有KVM,Xen,VMware,Hyper-V等。目前KVM是最受欢迎的虚拟化技术,AWS、阿里云、华为云、腾讯云目前也都从Xen转向了KVM。

除了软件虚拟化,还有硬件辅助虚拟化(如Intel-VT或ADM-V),比如通过引入新的指令和运行模式,来解决软件无法实现完全虚拟化的问题,同时也能进一步提升虚拟化的性能与处理能力。

6.2. 分布式技术

分布式就是把同一个任务分布到多个网络互连的物理节点上并发执行,最后再汇总结果。分布式系统的扩展性,性能、容量、吞吐量等可以随着节点增加而线性增长,非常适合云计算这种大规模的系统。在云上主要应用的有分布式存储、分布式数据库、分布式缓存,分布式消息队列等。

 

云计算、分布式计算、网格计算的区别:

 

并行计算 -并行计算是相对于串行计算,时间上并行即流水线技术,空间上并行即多个处理器同时计算,即解决单个处理器性能问题。

 

分布式计算 -将复杂的问题分解成多个小任务分发到多台计算设备处理,最后再终于计算结果进行综合分析得到最终结果。并行计算和分布布计算在粒度上,前者借助并行计算算法分配到不同处理处理器处理,后者执行计算任务的处理器之前相互独立;时间上,并行计算在短时间内完成,分布式则一般运行较长时间。不过二者在并行和分布式的特征上是相似的。


网格计算 -将异构多余的计算机资源组成一个虚拟计算集群,也用于解决大规模复杂问题。网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别。

 

云计算 -云计算是最新开始的新概念,它不只是计算等计算机概念,还有运营服务等概念了。它是分布式计算、并行计算和网格计算的发展,或者说是这些概念的商业实现。云计算不但包括但不限于分布式计算还包括分布式存储、缓存。云计算是从集群技术发展而来,区别在于集群虽然把多台机器联了起来,但其某项具体任务执行的时候还是会被转发到某台服务器上,而云可以简单的认为是任务可以被分割成多个进程在多台服务器上并行计算,然后得到结果,好处在于大数据量的操作性能非常好。云可以使用廉价的PC服务器 ,可以管理大数据量与大集群,关键技术在于能够对云内的基础设施进行动态按需分配与管理。云计算与并行计算、分布式计算的区别,以计算机用户来说,并行计算是由单个用户完成的,分布式计算是由多个用户合作完成的,云计算是没有用户参与,而是交给网络另一端的服务器完成的。

 

6.3. SDN 与 NFV

SDN是软件定义网络,核心是网络的控制面(网络策略)和转发面(数据流向)分离;NFV是网络功能虚拟化,将以往需要专用且昂贵的设备提供的网络功能,比如负载均衡与防火墙,通过软件和普通的x86服务器来实现。

云计算的网络功能都关联到私有网络VPC上,VPC是通过网络隧道协议(GRE和VXLAN)实现逻辑隔离的虚拟网络。GRE封装在主机上做,而VXLAN封装在交换机上做。所以阿里云、腾讯云VPC使用GRE隧道封装,在IP数据包中增加GRE报头(里面是VPCID)来实现多租户或不同虚拟网络之间的隔离。而华为云VPC使用VXLAN隧道封装。

6.4. 云原生技术

容器、微服务和DevOps号称云原生三驾马车,是实现技术中台的重要组件。容器是非常轻量秒级部署的虚拟化技术,主要理念就是一次封装,到处运行。通过Linux命名空间、Cgroups与rootfs构建进程隔离环境,将应用软件及其运行所依赖的资源与配置打包封装,提供独立可移植的应用运行环境。Docker当前最火的容器引擎,Kubernetes负责容器编排与集群管理。微服务架构是对SOA升华,将将应用解耦成更加轻量化,独立自治、敏捷开发、部署与治理、可通过HTTP方式访问的服务。微服务可以基于虚拟机、容器或Serverless函数来部署使用。开源的微服务框架主要有Dubbo、Spring Cloud。新推出的Service Mesh通过Sidecar智能代理方式让不同应用可以不用修改代码即可接入微服务平台,被称为微服务2.0。DevOps就是敏捷开发运维,通过持续集成与持续部署CICD等自动化工具与流程,打通应用开发、测试、发布、运维的各个环节,以大幅提升系统效率与可靠性。

6.5. 云安全技术

云环境由于规模巨大,组件复杂,用户众多,其潜在攻击面较大、发起攻击的成本很低,受攻击后的影响巨大。所以云安全形势还是非常严峻,涉及主机安全、网络安全、应用安全、业务安全,数据安全等,各厂商在相关领域都有比较成熟的产品和技术。2019年12月1日刚生效的等保2.0对云安全提出了全面详细体系化的要求和指导,目前已经成为一个条必须满足的合规要求,金融政府等重要企业单位的IT系统都要求达到等保三级以上。其重点就是一个中心(安全管理中心)三重防护(计算环境安全,通信网络安全、区域边界安全)。

 

6.6. 云管理平台

云计算是一个非常复杂的系统,对整个云平台进行敏捷高效的管控运维非常重要。云管理通常涉及四个层面:一是租户端管理,让用户能有效管理使用基本的云服务;二是运营管理,涉及云服务运营策略,如资源管理、计量计费,消息通知等;三是运维管理:涉及云平台的可用性与可靠性保障,如自动化运维,监控告警、运维排障等。四是多云纳管,当前对于很多企业混合云是一个趋势,私有云+公有云,或者引入和均衡多个云厂商。所以需要提供能够统一纳管多种云,以及传统IT环境的管理平台。OpenStack是一个开源的云管平台,各个云厂商都有自己的管控平台,还有一些专门做多云纳管的厂商,比如博云、骞云、飞致云等。

当然,云计算还有很多重要的技术,比如边缘计算、IoT、区块链等

 

7 一张图总结

 

 

 后话:

         云计算的发展是一个曲折的过程,它跟计算、存储、网络的底层虚拟化技术的发展是分不开的,虚拟化和分布式技术的发展奠定了云计算的基础,而云计算平台为AI、大数据、物联网、区块链打牢了地基。在云计算平台上,政府、企业等都在不断探索新型的信息化和商业模式。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

云计算的概念、原理和关键技术 的相关文章

随机推荐

  • Linux中退出编辑模式的命令

    vi 文件 回车后就进入进入编辑模式 按 o 进行编辑 编辑结束 shift 退出编辑模式 然后输入退出命令 1 保存不退出 w 保存文件但不退出vi 编辑 w 强制保存 不退出vi 编辑 w file 将修改另存到file中 不退出vi
  • CNN可视化技术 -- CAM & Grad-CAM详解及pytorch简洁实现

    文章目录 前言 1 CAM Class Activation Map 2 Grad CAM 3 PyTorch中的hook机制 4 Grad CAM的PyTorch简洁实现 参考资料 前言 CNN中的特征可视化大体可分为两类 细节信息 ZF
  • Redis实战篇一 (短信登录)

    Redis企业实战 黑马点评 项目整体架构 项目部署 后端部署 前端部署 短信登陆 基于Session实现登录 集群的Session共享问题 基于Redis实现共享session登录 解决状态登录刷新的问题 登录拦截器的优化 本期学习路线
  • SVN导出版本增量包

    showlog 选择一个或者多个版本 右键 Compare with previous version 选择一个或者多个文件 右键 Expore selection to 最后导出的文件会有其相应的路径
  • 全志F1C200s芯片处理器参数介绍

    F1C200s是全志的一款高度集成 低功耗的移动应用处理器 可用于多种多媒体音视频设备中 全志F1C200s基于ARM 9架构 集成了DDR 它支持高清视频解码 包括H 264 H 263 MPEG 1 2 4等 它还集成了音频编解码器和I
  • cucumber测试_延长Cucumber测试生命周期

    cucumber测试 总览 本文涉及两件事 我如何使beforeAll和AfterAll生命周期事件在Cucumber中发生 在Cucumber测试运行之前 如何使用TestContainers设置被测系统 不 您正在尝试在博客上进行SEO
  • node.js升级报错digital envelope routines unsupporte最简单解决方案

    背景 本地将nodejs 16升级成nodejs18运行时报错digital envelope routines unsupported 报错 Error error 0308010C digital envelope routines u
  • cytoscape插件下载_cytoscape五步曲之三:安装各种插件

    软件安装我就不多说了 直接去官网下载即可 请务必下载3 x版本 我讲的是 最新版教程 本次讲解如何给cytoscape安装插件 cytoscape本身是一个平台 学者可以在上面开发各种各样功能的插件实现不同的分析需求 类似于R语言这个平台
  • mysql中varbinary什么意思_MySQL中的数据类型binary和varbinary详解

    前言 BINARY和VARBINARY与 CHAR和VARCHAR类型有点类似 不同的是BINARY和VARBINARY存储的是二进制的字符串 而非字符型字符串 也就是说 BINARY和VARBINARY没有字符集的概念 对其排序和比较都是
  • 当我被酱香拿铁刷屏后......

    这两天 朋友圈刮起了酱香风 跨界里的新宠儿酱香拿铁卖爆了 不得不说瑞幸是懂跨界的 短短一天时间 酱香拿铁已售出 542 万杯 销售额超一亿元 谁能想到年轻人的第一杯茅台竟然是瑞幸卖出去的 这可能也是星巴克最无语的一天吧 瑞幸的订单长到可以直
  • python多进程cpu的占用率很低_Python 中的进程池与多进程

    封面图片来源 沙沙野 内容概览 进程池 进程池和多进程的性能测试 进程池的其他机制 进程池的回调函数 进程池 如果有多少个任务 就开启多少个进程 实际上并不划算 由于计算机的 cpu 个数是非常有限的因此开启的进程数量完全和 cpu 个数成
  • LOAM算法详解

    激光SLAM 帧间匹配方法 Point to Plane ICP NDT Feature based Method 回环检测方法 Scan to Scan Scan to Map LOAM创新点 定位和建图的分离 里程计模块 高频低质量的帧
  • 在pycharm中更新pip失败

    尝试了网上的各种方法 各种翻车 删除虚拟环境中的这两个文件夹 包括pip 有只删除pip 21 1 2 dist info这个个文件夹然后重新安装pip之后在更新 我试了没有用 下载 get pip py 文件 转到 https boots
  • drive数据集_英伟达的最强人脸GAN开源了,它吃的高清数据集也开源了

    栗子 假装发自 凹非寺 量子位 出品 公众号 QbitAI 你大概还没忘记 英伟达去年年底推出的GAN 它合成的人脸甚至骗得过肉眼 如今 它终于有了自己的名字 叫StyleGAN 顾名思义 GAN的生成器 是借用风格迁移的思路重新发明的 能
  • Docker 入门笔记

    狂神说Java Docker最新超详细版教程通俗易懂 视频地址 https www bilibili com video BV1og4y1q7M4 share source copy web Docker安装 基本组成 说明 镜像 imag
  • 小米2020校招软件开发工程师笔试题二

    1 计算大于n n gt 1 的最小的斐波那契数 以下划线出应填入 B function f n int int a new int 2 a 0 a 1 1 int i 1 while true i i 1 2 a i If a i gt
  • C++标准库--正态分布类 std::normal_distribution

    参考链接 https en cppreference com w cpp numeric random normal distribution std normal distribution是C 11提供的一个正态分布函数模板类 头文件 i
  • 在matlab中使用遗传算法执行最优化

    遗传算法是一种通用的最优化方法 具体原理可以看 遗传算法详解与实验 下面记录在Matlab中如何使用遗传算法来做优化 用法 调用方式如下 1 x ga fun nvars 2 x ga fun nvars A b 3 x ga fun nv
  • webpack之sideEffects

    webpack之sideEffects 前言 一 sideEffects的使用 二 sideEffects注意事项 前言 webpack4新增了一个sideEffects新特性 它允许我们通过配置的方式 去标识我们的代码是否有副作用 从而为
  • 云计算的概念、原理和关键技术

    1 云计算的定义 NIST 美国国家标准及技术研究所 对云计算的定义 云计算是一种模型 实现无处不在的 方便 通过网络按需访问的可配置的共享计算资源池 例如 网络 服务器 存储 应用程序 服务 这些资源可以快速提供 通过最小化管理成本或与服