云计算的概念

article/2025/8/28 0:33:35

1、云计算概念

云是网络、互联网的一种比喻说法。过去在图像中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。

云计算(Cloud Computing)是以虚拟化技术为核心,以低成本为目标的,基于互联网服务的动态可扩展的网络应用基础设备,用户按照使用需求进行付费购买相关服务的一种新型模式。

云计算模式非常像国家的电厂集中供电模式(电厂提供点,用户付费购买)。在云计算模式下,云计算提供了用户看不到、摸不到的硬件设施(服务器,内存,硬盘)和各种应用软件等资源。用户只需要接入互联网,付费购买自己所需要的资源,然后通过浏览器给“云”发送指令和接收数据外,基本上什么都不用做,便可以使用云服务提供商的计算资源、存储空间、各种应用软件等等资源,来完成自己的需求。

云计算模式下的这些资源能够被快速提供,只需用户投入很少的管理工作,或与服务供应商进行很少的交互。云计算可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。

2、云计算的目标

云计算的最终目标是将计算、服务和应用作为一种公共设施提供给人们,使人们能够像使用水、电、煤气和电话那样使用计算机资源。

用户不需要拥有看得见、摸得到的硬件设施,也不需要为机房支付设备供电、空调制冷、专人维护等费用,更不需要等待漫长的供货周期、项目实施等冗长的时间,只需要把钱汇给云计算服务提供商,就会马上得到需要的服务。

在云计算环境下,用户的使用观念也从“购买产品”转变成了“购买服务”,这样也促进了云服务的商业模式发展。

3、云计算特点

云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。

好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。

被普遍接受的云计算特点如下:

  • 超大规模。“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。
  • 虚拟化。云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。
  • 高可靠性。“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。
  • 通用性。云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。
  • 高可扩展性。“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。
  • 按需服务。云”是一个庞大的资源池,你按需购买;云可以像自来水,电,煤气那样计费。
  • 极其廉价。由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。
  • 潜在的危险性。云计算服务除了提供计算服务外,还必然提供了存储服务,并且云计算服务当前垄断在私人机构(企业)手中,他们仅能提供商业信用。对于政府、银行这样持有敏感数据的机构,如果使用云服务,必然存在潜在的危险。

4、云计算服务形式

任何一个在互联网上进行提供服务的公司,都可称之为云计算公司。而云计算提供的服务,我们可以将其分成以下几个层次:

  1. Infrastructure-as-a-Service (基础设施即服务,简称IaaS)
  2. Platform-as-a-Service(平台即服务,简称PaaS)
  3. Software-as-a-Service(软件即服务,简称SaaS)

基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。

IaaS: Infrastructure-as-a-Service(基础设施即服务)

最下面的一层叫IaaS,有时也叫Hardware-as-a-Service。在云计算之前,如果用户想运营自己的网站或者是应用程序,必须购买服务器等高昂的硬件来运行网站或程序。
但是现在云计算有了IaaS,用户就可以直接租用IaaS提供的场外服务器,存储和网络硬件等设施,节省了维护成本和办公场地,用户可以在任何时候利用这些硬件来运行其应用。
一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat。不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。

PaaS: Platform-as-a-Service(平台即服务)

中间这一层就是所谓的PaaS,是指将软件研发的平台作为一种服务,提供给用户。你公司所有的开发都可以在这一层进行,节省了时间和资源。
PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
一些大的PaaS提供者有Google App Engine,Microsoft Azure, Force.com,Heroku,Engine Yard。最近兴起的有AppFog 、 Mendix 、 Standing Cloud

SaaS: Software-as-a-Service(软件即服务)

最上一层就是SaaS。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。
这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行。
一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

Iaas和Paas之间的比较

PaaS的主要作用是将一个开发和运行平台作为服务提供给用户,而IaaS的主要作用是提供虚拟机或者其他资源作为服务提供给用户。接下来,将在七个方面对PaaS和IaaS进行比较:

  • 1) 开发环境:PaaS基本都会给开发者提供一整套包括IDE在内的开发和测试环境,而IaaS方面用户主要还是沿用之前比较熟悉那套开发环境,但是因为之前那套开发环境在和云的整合方面比较欠缺,所以使用起来不是很方便。
  • 2) 支持的应用:因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以IaaS支持的应用的范围是非常广泛的。但如果要让一个应用能跑在某个PaaS平台不是一件轻松的事,因为不仅需要确保这个应用是基于这个平台所支持的语言,而且也要确保这个应用只能调用这个平台所支持的API,如果这个应用调用了平台所不支持的API,那么就需要对这个应用进行修改。
  • 3) 开放标准:虽然很多IaaS平台都存在一定的私有功能,但是由于OVF等协议的存在,使得IaaS在跨平台和避免被供应商锁定这两面是稳步前进的。而PaaS平台的情况则不容乐观,因为不论是Google的App Engine,还是Salesforce的http://Force.com都存在一定的私有API。
  • 4) 可伸缩性:PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。而IaaS平台则需要开发人员手动对资源进行调整才能应对。
  • 5) 整合率和经济性: PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服务器上承载成千上万的应用,而普通的IaaS平台的整合率最多也不会超过100,而且普遍在10左右,使得IaaS的经济性不如PaaS。
  • 6) 计费和监管:因为PaaS平台在计费和监管这两方面不仅达到了IaaS平台所能企及的操作系统层面,比如,CPU和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(Response Time)或者应用所消耗的事务多少等,这将提高计费和管理的精确性。
  • 7) 学习难度:因为在IaaS上面开发和管理应用和现有的方式比较接近,而PaaS上面开发则有可能需要学一门新的语言或者新的框架,所以IaaS学习难度更低。

它们之间的关系主要可以从两个角度进行分析:其一是用户体验角度,从这个角度而言,它们之间关系是独立的,因为它们面对不同类型的用户。其二是技术角度,从这个角度而言,它们并不是简单的继承关系(SaaS基于PaaS,而PaaS基于IaaS),因为首先SaaS可以是基于PaaS或者直接部署于IaaS之上,其次PaaS可以构建于IaaS之上,也可以直接构建在物理资源之上。

5、云计算的应用

政务云上可以部署公共安全管理、容灾备份、城市管理、应急管理、智能交通、社会保障等应用,通过集约化建设、管理和运行,可以实现信息资源整合和政务资源共享,推动政务管理创新,加快向服务型政府转型

教育云可以有效整合幼儿教育、中小学教育、高等教育以及继续教育等优质教育资源,逐步实现教育信息共享、教育资源共享及教育资源深度挖掘等目标

中小企业云能够让企业以低廉的成本建立财务、供应链、客户关系等管理应用系统,大大降低企业信息化门槛,迅速提升企业信息化水平,增强企业市场竞争力

医疗云可以推动医院与医院、医院与社区、医院与急救中心、医院与家庭之间的服务共享,并形成一套全新的医疗健康服务系统,从而有效地提高医疗保健的质量

6、云计算产业

云计算产业作为战略新兴产业,近些年得到了迅速发展,形成了成熟的产业链结构,产业涵盖硬件与设备制造、基础设施运营、软件与解决方案提供商、基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、终端设备、云安全、云计算交付/咨询/认证等环节

参考资料:林子雨老师的《大数据计算原理与应用》


http://chatgpt.dhexx.cn/article/C4YVATv9.shtml

相关文章

第一讲:云计算的概念

云计算(cloud computing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。 云其实是网络、互联网的一种比喻说法。云计算有狭义云计算和广义云计算两种概念: 1.狭义…

云计算概念详解

1.云计算的定义: (1)云计算是一种能够通过网络以便利的按需的方式获取云计算资源(网络,服务器,存储,应用和服务)的模式 (2)这些资源来自一个共享的,可配置的资源池,并能够快速获取和释放,提供资…

微服务系统中服务降级

# 服务降级说明 - 服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级,以此缓解服务器的压力,以保证核心任务的进行。同时保证部分甚至大部分任务客户能得到正确的响应。也就是当前的请求处理不了了或者出错了,给一个默…

系统降级-接口级别

导致接口级故障的原因 内部原因 程序bug导致死循环某个接口导致数据库慢查询程序逻辑不完善导致耗尽内存等 外部原因 黑客攻击、促销或者抢购引入了超出平时几倍甚至几十倍的用户第三方系统大量请求第三方系统响应缓慢等 解决接口故障的核心思想 优先保证核心业务和优先保…

Dubbo服务降级

dubbo降级服务 使用dubbo在进行服务调用时,可能由于各种原因(服务器宕机/网络超时/并发数太高等),调用中就会出现RpcException,调用失败。 服务降级就是指在由于非业务异常导致的服务不可用时(上面举得例…

降级限流

目录 1、限流和降级 1.1、降级 1.2、限流 2、限流算法 2.1、滑动窗口 2.2、漏桶 2.3、令牌桶 3、限流实践 3.1、单机Guava实现令牌桶和漏桶 3.2、分布式限流器实现 3.2.1、Redis实现 3.2.2、lua脚本实现 3.2.3、Redission的实现 4、小结 前言 对于高可用的服务,除了…

服务降级设计

实际系统运维中会出现某点的流量高峰,该时间有些可以预计,如双十一,有些不能预计,如某明星大爆料 等等,那么对着此类情况加设备等不能满足要求或者不能立刻满足邀请的时候,就需要对服务进行降级操作。

mysql数据库自动降级_mysql降级caveats

在线QQ客服:1922638 专业的SQL Server、MySQL数据库同步软件 在此博客中,我们将讨论在MySQL降级期间需要注意的事项。 之前,我曾写过博客MySQL升级最佳实践。除了升级MySQL版本外,有时还需要降级。在降级MySQL时,支持两种降级方法: 就地降级:在这种方法中,您使用现有的数…

Dubbo使用之服务降级

什么是服务降级 降级的目的是为了保证核心服务可用。 降级可以有几个层面的分类: 自动降级和人工降级; 按照功能可以分为:读服务降级和写服务降级 对一些非核心服务进行人工降级,在大促之前通过降级开关关闭哪些推荐内容、评价…

伪代码格式和标准

目录 注意算法组成部分算法示例 注意 每一条指令占一行(else if例外),指令后不跟任何符号(Pascal和C中语句要以分号结尾)每一行要标号开头描述输入,输出变量名和保留字不区分大小写,Pascal相同,C或C不同数…

LaTeX伪代码写法总结

1. 伪代码所用包 一般会接触到的包有algorithm、algorithmic、algorithmicx、algorithm2e这四种包。 algorithm用于给伪代码提供一个浮动体环境,防止其换页或其他因素导致的内容中断,从而跨页显示。 algorithmic用于编辑伪代码的内容,一些…

伪码-伪代码的定义以及实现

伪代码的写法 伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言…

伪代码教程

伪代码教程 起一篇伪代码基础教程 伪代码(Pseudo code)是一种介于计算机语言和自然语言间的文字和符号,是表达算法的简单而有效的方法。伪代码不需要关注底层是如何实现的,本身就是算法框架的逻辑模型。 一、赋值语句 赋值号 A ← B A\leftarrow B A←…

伪代码怎么编写?

20230522 补充一下: 建议学习PUML的语法,这个和伪代码很相似,也可以看到业务流程图 问 根据IDEA项目代码生成伪代码的工具 答 目前没有根据IDEA项目代码自动生成伪代码的工具。伪代码是一种描述程序算法的语言,通常不是具体的编…

【笔记】伪代码编写

在线LaTeX编写工具overleaf极大的方便了暂时需要为论文编写伪代码的需要:Overleaf, Online LaTeX Editor 该工具只需要简单注册就可以使用。 首先进入overleaf主页,然后完成注册和登录: 接着,需要创建用于储存LaTeX的文件夹&…

伪代码与代码区别

伪码(Pseudocode)是一种算法描述语言。使用伪码的目的是使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java等)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似…

伪代码书写方式

伪代码是描述算法过程的一种语言,它可以直接用中文或者英文等自然语言表示,也可以直接上代码,但常用经典的语法表示(讲的就是这种)。日常生中,别人能通过你的描述明白相应算法就行。 小规范 1、不需要声明变量,变量名可以一定程…

伪代码学习与应用

目录 0. 前言1. 伪代码的基础语法2. 在word中插入伪代码2.1 Aurora和Miktex安装2.2 插入伪代码 参考链接伪代码模板模板一模板二模板三模板四 疑难杂症1. 显示中文?2. 特殊字符?3. 换行? 0. 前言 上一次接触伪代码可能还是在现代数字信号处理…

2D激光slam四种算法建图效果对比

slam算法对照 通过麦克纳姆轮机器人小车构建地图对比Gmapping、Hector、Karto、Cartographer四种算法的优缺点 真实场景图如下图所示: 具体步骤为: 1、打开地图构建命令 roslaunch turn_on_wheeltec_robot mapping.launch2、打开rviz rviz3、打开控制…

SLAM——hector-slam算法原理解析

1、hector-slam代码框架概述 下载源码:git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git 原理解读参照:https://blog.csdn.net/weixin_40047925/article/details/80679496 其中包含了许多用于仿真的文件,hector slam算法主…