热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

云计算科普——入行半年,我这样看云计算

戳蓝字“CSDN云计算”关注我们哦!前言在今天,如果说对于云计算还一无所知,那可就真的out了。企业喊了这么多年的”上云运动“࿰

戳蓝字“CSDN云计算”关注我们哦!


 前 言


在今天,如果说对于云计算还一无所知,那可就真的out了。企业喊了这么多年的上云运动,那么云的本质到底是什么呢?从2006年云计算的概念被提出到今天,已经经过了十几年,云计算取得了飞速的发展与翻天覆地的变化,行业的蓬勃发展已经得到了诸多巨头的青睐和垂涎,纷纷挥斥着巨资入场。2010年,全球云计算市场规模仅683亿美元,而到2020年,预计将突破4000亿美元。

640?wx_fmt=png

而在云计算行业稍显弱势的国内,以阿里云、腾讯云和七牛云等云计算企业的也纷纷抓住时代脉搏,扛起了国内云计算的大旗。阿里云的首吃螃蟹后成为阿里巴巴集团核心业务,同时行业内孵化出的一些独角兽独角兽如七牛云、ucloud等,也诏显的国内云计算市场的大有可为。数据表明,2016年我国公有云市场规模为215亿,而这个数字,到2020年,预计达到1300+亿元以上,年增长25%以上。

640?wx_fmt=png

本文旨在谈谈自己入行以来对云计算行业的一点思考以及一些不成熟的看法,难免有所疏漏,请各位见谅。前文都是废话,下面进入正文。

一、云计算的前身


尽量云计算已经席卷而来,和人们现在的生活息息相关。12306和双11,这两者我相信我国人民总要经历过一者或全部。而针对云计算的定义,为了让更多的人理解云计算到底是个什么东东,各路科普人员也可谓是费尽苦心,然后就有了各种看似准确的解释,如水龙头观点论荤段子观点论披萨观点论厨房观点论以及与时俱进的共享出行观点论。在接触云计算时,我们或多或少为了让自己容易理解而使用这些观点类(装)比(逼)。一定程度上,这些观点确实通俗易懂且形象,大家也可以自行网上了解这些观点。

640?wx_fmt=png


而在我的理解中,私以为,云计算是一种模型,即将计算、网络和存储虚拟化资源池以按需的方式提供给有需要的人。云计算并不是一蹴而就的,在云计算诞生之前,其实很多云计算相关技术都已经诞生,如分布式计算、并行计算还有网格计算。

网格计算(英语:Grid computing)通过利用大量异构计算机(通常为台式机)的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供一个模型。

并行计算(英语:parallel computing)一般是指许多指令得以同时进行的计算模式。在同时进行的前提下,可以将计算的过程分解成小部分,之后以并发方式来加以解决。

分布式系统是一组计算机,透过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。

是不是都觉的这些技术都很熟悉?甚至在IT行业,常常被提及。当然,有一些这些还不够,还缺了一个最关键的技术:虚拟化。

640?wx_fmt=png


二、数据中心的演变


1、数据中心介绍

前文说过,云计算的本质就是对计算资源、网络资源以及存储资源的管理,最终的目标也就是按需分配。那么计算资源、网络资源和存储资源又是什么呢?计算资源:CPU的核数和内存还有主频网络资源:带宽存储资源:硬盘数据中心和买台式机是类似的,如果需要更好的处理性能(计算资源),则需购买内存更大的和更好的CPU。同理,网络资源也一样,当您购买电脑后,需要上网则必须购买运营商提供的宽带,数据中心也是类似的。而如果电脑上如果想要存放东西,首先,电脑的操作系统总要一个盘去存放,所以需要硬盘,硬盘又分为机械硬盘和SSD盘,这是存储资源。我们常用的电脑是如此,而数据中心无非是把电脑换成了服务器,而一个数据中心可能有成千上百台的服务器,服务器的CPU、内存和硬盘性能也更优,然后通过企业级的路由器接入带宽的上网,那么问题来了:如何去管控一个数据中心的设备呢?

 2、传统数据中心网络结构

在传统的大型数据中心,网络通常是三层结构。Cisco称之为:分级的互连网络模型(hierarchical inter-networking model)。这个模型包含了以下三层:

Access Layer(接入层):有时也称为Edge Layer。接入交换机通常位于机架顶部,所以它们也被称为ToRTop of Rack)交换机,它们物理连接服务器。

Aggregation Layer(汇聚层):有时候也称为Distribution Layer。汇聚交换机连接Access交换机,同时提供其他的服务,例如防火墙,SSL offload,入侵检测,网络分析等。

Core Layer(核心层):核心交换机为进出数据中心的包提供高速的转发,为多个汇聚层提供连接性,核心交换机为通常为整个网络提供一个弹性的L3路由网络。  通常情况下,汇聚交换机是L2L3网络的分界点,汇聚交换机以下的是L2网络,以上是L3网络。每组汇聚交换机管理一个PODPoint Of Delivery),每个POD内都是独立的VLAN网络。服务器在POD内迁移不必修改IP地址和默认网关,因为一个POD对应一个L2广播域。


640?wx_fmt=png


3、于云计算公司——云计算时代的数据中心


云计算时代的到来,使用的用户可以任意分配自己的资源,而对于数据中心也是如此,计算资源、网络资源和存储资源被池化后,对数据中心的架构也提出了挑战:需要一个大二层的网络架构,即整个数据中心网络都是一个L2广播域。

640?wx_fmt=png


大二层网络架构,L2/L3分界在核心交换机,核心交换机以下,也就是整个数据中心,是L2网络(当然,可以包含多个VLANVLAN之间通过核心交换机做路由进行连通)。这样,服务器可以在任意地点创建,迁移,而不需要对IP地址或者默认网关做修改。

4、于企业——云计算时代的机房

当然,前文所说的数据中心,其实对于很多公司都是用不到的。而对于大多数企业来说,如何去管理自己的机房呢?管理无非两个是达到两个方面的灵活,如果是企业,当需要创建或者扩建自己机房时,从采购到运行需要一段漫长的周期,同时,还需要担心其中出现什么变故。如果是在云计算平台上,就实现了两个方面的灵活:

时间灵活性:随时用,随时有。

空间灵活性:想要多少资源就有多少。这两种灵活也可以称为云计算的弹性,然而就是这种弹性却经历了多年的波折。


5、云计算时代数据中心的虚拟化

传统IT时代,对于中小企业来说,并不能很好的自己去管理机房,于是会将自己的服务器托管于IDC中,或者直接在IDC中直接租用设备。然而,物理设备不能做到并不能很好的灵活性。还是以电脑为例,假设我们需要买一台电脑,可能要去电脑城或者电商网站做各种对比,同时从采购到运输都需要时间,而对于服务器来说,就要找到专门的供应商,然后采购运输和安装环境,到企业能够部署应用,时间灵活性可谓非常之差。这还不算,购买的服务器性能并不是说能够全部利用的,可能你只需要其中的1%,然而并没有这么小的服务器卖给你,如果想要扩容,又需要经历一段重复的采购过程。于是,虚拟化技术出现了,其中最牛逼的厂商叫做VMwareVMware的推出的Hypervisor可以实现计算、网络、存储的虚拟化,是第一个商业化的成功的虚拟化的x86架构。当然,后来被EMC收购了。

640?wx_fmt=png


但是VMware作为付费闭源软件,并且非常的昂贵。而互联网大牛实在太多,君不见有收费的Windows,也有开源的linux,有闭源的IOS,也有开源的Andriod。而虚拟化划时代的发展的开源软件的XENKVM诞生了。依托于虚拟化技术,数据中心终于可以将自己的设备虚拟化按需给有需要的用户,也解决了物理设备的一个大问题:灵活性或者叫弹性!

三、量变导致质变——AWS引领潮流


1、虚拟化的半自动和云计算的全自动

刚开始的虚拟化属于软件虚拟化,虚拟机I/O性能上十分的糟糕,2005年后出现的XEN以及KVM等硬件虚拟化技术,不仅大幅度的提升了虚拟机的性能,也满足了虚拟化技术在生产环境中的使用的要求。虽然说虚拟化技术的发展是云计算的基石,但是还不够,虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响。

640?wx_fmt=png


尽管如此,云计算出来以前,虚拟化有一个最致命的缺点:无法调度。只能达到半自动化,即创建虚拟机时需要人为的去指定创建虚拟机在某台物理机上。于是人们发明了各种各样的算法来做这个事情,算法的名字叫做调度(Scheduler)。通俗一点说,就是有一个调度中心,几千台机器都在一个池子里面,无论用户需要多少CPU、内存、硬盘的虚拟电脑,调度中心会自动在大池子里面找一个能够满足用户需求的地方,把虚拟电脑启动起来做好配置,用户就直接能用了。这个阶段我们称为池化或者云化。到了这个阶段,才可以称为云计算,在这之前都只能叫虚拟化。说白了,虚拟化主要是把大块拆成小块儿,分布式系统主要是把小块组合成大块儿,IT资源经过这样的揉碎再组合,变成了一个十分灵活的系统,在这几个基本技术的基础上,在通过调度中心,就可以实现云计算的服务模式了。这就是虚拟化的半自动和云计算的全自动

2、云计算的从闭源到开源

公有云公司上第一个商业化成功是AWS,可能你对这个单词并不是熟悉。但是如果说起它的中文名亚马逊,那也是如雷贯耳了。

640?wx_fmt=png


但是为什么亚马孙作不应该是一家电商公司吗?为何跨行转为云计算厂商呢?还成功了全世界最牛逼的云计算公司。前文说了,云计算可以实现用户的按需使用资源。而对于电商应用型的企业来说,阿里云的云计算起源可以说的上和AWS类似,当本身的业务扩张时,桎梏于物理上限限制的计算性能以及远远不能满足业务所带来的需求,当然,从成本来说,IBM小型机实在太高也是一点。无论是美国的黑色星期五和还国内的11秒杀,对于企业来说,需要的只是短时间的计算资源。于是,它们也急需云计算平台,但是环顾四周,那是还是一片荒野,怎么办?只能自己露胳膊上阵了,由于自身带应用基因,所以亚马逊的云平台对应用更加友好,迅速发展成为云计算的第一品牌,赚了很多钱。2017年,亚马逊AWS年营收达122亿美元,运营利润31亿美元。尽管AWS刚开始几年使用虚拟化技术的是开源的XEN(阿里刚开始使用的KVM),但是如前文所言,虚拟化离云计算还差了个最关键的云化

640?wx_fmt=png


AWS作为行业老大,日子过的很爽,自己的核心技术当然不愿意公开,所以AWS云化是闭源的,这个时候由于自身的需求,或者说眼红AWS的盈利能力,作为全球三大云计算中心之一的RackspaceRackspace在全球拥有10个以上数据中心,管理超过10万台服务器),与NASA联合研发出OpenstackOpenstack是什么呢?可以简单来说就是云化的技术,让你随时随地的创建自己的应用,无论是XEN还是KVM都兼容。

640?wx_fmt=png


通俗来讲,Openstack可以实现Compute计算、Networking网络、Storage存储云化平台的自动化管理。下面是我梳理的一张管理Openstack的功能图,当然,非云计算从业人员不用去弄懂。

640?wx_fmt=png


Rackspace本身入场晚,这个时候AWS已经很厉害了,占据了市场的绝大部分份额。怎么办呢?Rackspace一狠心,抱着将整个行业做大才能吃到更多的蛋糕想法将Openstack开源了。于是,整个行业沸腾了,以前苦于入门难,现在轮子都造好了,直接自己拉轮子跑就行,有了OpenStack之后,果真就像Rackspace想的一样,所有想做云的大企业都疯了,你能想象到的所有如雷贯耳的大型IT企业:IBM、惠普、戴尔、华为、联想等都疯了,云计算行业也迎来了百花齐放。

使用Openstack的公司很多,但是能在开源社区做出贡献的却凤麟毛角。当然,国内还有个阿里自研的

四、IAAS、PAAS、SAAS


前面虚拟使用各种云化技术,终于实现了对计算资源、网络资源和存储资源的自动化管理,这个时候的云计算叫IAAS,什么是IAAS呢?说白了,相当于建房子时的地基。IaaS在云计算分类中被叫做基础设施即服务,同理还有PaaS(平台即服务)和SaaS(软件即服务)。

如上图,SaaS都是一些可以被用户直接使用的应用,而PaaS则是提供平台服务,无论是七牛的直播服务还是人工智能服务,其都是属于PaaS层产品。

对于用户来说,如上图,从左往右。传统ITSaaS,需要用户做的事情越来越少。同时,在IAAS层的服务器上,也会提供平台应用型的服务。如开源的Mysql,对于用户来说,只需关注自身的业务即可。要么是自动部署(弹性伸缩),要么是不用部署(通用应用),总的来说就是应用层你也要少操心,这就是PaaS层的重要作用。

五、公有云、私有云、混合云、社区云和托管云是什么东东?


到这里,我也要举例子了。

「经典厨房论」:自己厨房做饭,需要自己有地建个厨房且还要买锅碗瓢盆柴米油盐等,此外,吃完总要洗碗刷锅等运维吧,就是私有云。

 到饭店吃饭,你只是饭店其中一个客户,按需胡吃海塞吃完结账抹嘴走人,餐馆后厨如何安排做菜顺序并加快出菜速度就是负载均衡和虚拟化概念,就是公有云。

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

饭店只针对某个特定群体如学生开放,同时可能还会有学生在饭店做兼职。这就相当于社区云。

饭店比较大,自己也比较有钱,于是到饭店租了个包间,无论我用不用,我租用的期限都不能给其他人使用,这就是托管云。

自己朋友来,厨房能力不足,于是全部去饭店吃,这是私有云转公有云。

 上图简单介绍几种了公有云、私有云和混合云的行业分类。当然,到目前还是这三种云占据主流。

六、总结


1、云计算实现了资源的灵活运用

云计算的资源就如同银行一般,银行向外借贷的钱远比本身存储的钱要多的多,云计算底层资源出售也是同理的,也是属于超卖模式。只要不同时挤兑,就不会有问题。

随着Openstack技术的越发成熟,管理的规模越来越大,动不动就是上万台服务器,同时可以实现异地部署然后进行统一管理。在这种规模的前提下,对于普通用户甚至企业来说,基本上可以实现想要多少的资源就有多少资源。

以某盘为例。假设给每个人都分配了2T的存储空间,1亿用户,那么难道云计算厂商需要2亿T的存储空间?这是不可能的,实质上分配的2T存储空间仅仅是用户层面所看的,而用户使用的可能仅仅其中的100G甚至更少,那么真实给你的也就100G,当你资源不断上传时,给你分配的真实的存储也会增加。如计算资源和网络资源同理,当云平台感觉资源不够时,就是去采购设备扩容,但是这对于用户来说是无感知。这就是资源利用的灵活性。

2、云计算其实不便宜

成本更低、运维成本更低、服务更好、弹性扩展、部署更快、不用采购硬件,云计算的好处总能说出一大堆。但,这些点往往只反映云计算的一个侧面,有的还不完全正确:比如成本低,客户会发现,如果租用高性能云主机且保证99.99%的可用服务时,成本往往并不比自建机房低,在需要的主机(物理机或虚机)量比较大时,尤其明显。就如当年阿里的IOE运动,难道是阿里赚的钱买不起设备了吗?对于大公司来说,首先考虑的不是成本,而是业务的连续和稳定性。而事实证明,IOE“后所花的成本并不比原先低多少。当然,后来阿里云又挣钱了这个另说。

3、云计算是一场社会属性的变革

其实,云计算的本质就是社会分工,社会分工所产生的价值云计算都能产生,比如规模化、精细化所产生的成本降低与效率提高等;而社会分工中产生的问题,云计算也都会面对,比如节省下来的成本到底是买家受益还是卖家受益,再比如垄断。

 拿蒸馒头举例子,在城市中,大多数家庭不自己蒸馒头而去馒头房买,这是社会分工,节省了社会总体成本,但是买馒头并不比自己蒸更便宜,说明节省了的成本进入了卖家而非买家的腰包。再比如,当一个城市只剩一家馒头房而大多数家庭又丧失了蒸馒头的能力时,馒头房便有可能提价,这就是垄断。

最后,本人才疏学浅,难免有些遗漏,望斧正。


1.微信群:

添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


2.征稿:

投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。



推荐阅读

  • 下一次 IT 变革:边缘计算(Edge computing)

  • 为什么 ofo 彻底凉了?| 畅言

  • AI in 美团:吃喝玩乐背后的黑科技

  • 无业务不技术:那些誓用区块链重塑的行业,发展怎么样了?

  • Windows 成“弃子”,Linux 终上位?

  • 突发!12306 脱库 410 万用户数据究竟从何泄漏?

  • 可替代Android的6大开源移动操作系统

  • 程序员求助:被领导强行要求写Bug该怎么办?网友的回答让我笑翻


640?wx_fmt=jpeg

640?wx_fmt=gif点击“阅读原文”,打开 CSDN App 阅读更贴心!

640?wx_fmt=png喜欢就点击“好看”吧!

推荐阅读
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 本文总结了《编程珠玑》第12章关于采样问题的算法描述与改进,并提供了详细的编程实践记录。参考了其他博主的总结,链接为:http://blog.csdn.net/neicole/article/details/8518602。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • Halcon之图像梯度、图像边缘、USM锐化
    图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像卷积:1.模糊2.梯度3.边缘4.锐化1.视频教程:B站、 ... [详细]
  • 使用多项式拟合分析淘宝双11销售趋势
    根据天猫官方数据,2019年双11成交额达到2684亿元,再次刷新历史记录。本文通过多项式拟合方法,分析并预测未来几年的销售趋势。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 使用虚拟机配置服务器
    本文详细介绍了如何使用虚拟机配置服务器,包括购买云服务器的操作步骤、系统默认配置以及相关注意事项。通过这些步骤,您可以高效地配置和管理您的服务器。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
author-avatar
帝姬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有