十年前我们购买一台伺服器是多大就是多大,如果要升级就得换一台伺服器,现在的云计算可以随时升级CPU、内存、硬碟等配置,而且无需搬家,哪位大牛科普一下云计算是如何工作的?


题主问的是实现,所以我就不讲历史故事和概念罗列了,我就说说我了解的几家三星半点的知识,供参考吧。

AWS、Azure、Aliyun这三家在面对用户层面几乎接近与雷同(现在说起来是三家,但是其实另外两家基本上都是照著AWS的模样照猫画虎的,所以三家看起来基本上一样),硬体层面,Azure比另外两家好太多了,方便全面AWS无出其右者,而在国内的方便性,阿里云秒杀另外两家,不解释,勿杠。

云计算的技术关键:

虚拟化(以及由此发展起来的容器化):Intel VT是地基、Hyper-V/esxi/Xen/KVM是房子

云计算数据中心规划与设计京东¥ 87.20去购买?

以一个IDC为例:

  • 惠普、戴尔(含EMC)、联想负责机架Server、盘柜存储,
  • Cisco、**负责网路层,
  • F5负责硬分发,内部一堆nginx负责各种定制的软分发,
  • 云厂商负责堆人搞出各种自动化管理工具,让用户做到点几下就能用的方便程度
  • 大家不要总共以为就这么点了,歪个题,还有不可或缺的格力、大金,它们用掉了一半的电费

做IDC是个超高难度的技术活儿,这块儿的顶尖人才几乎都来自于Yahoo,在Yahoo日薄西山之后,这些人才也就分散到了MS、AWS、Google这些地方去了;而想FB,TW这样的佼佼者一开始都是从AWS起步的,火了拿到钱之后第一步就是疯狂买机器自建IDC,因为业务做大了,云的边际效应就出来了,辛辛苦苦赚一年还不够付给云厂商的,只能自建IDC。

IDC不就是机房吗?有啥难的?你说难到底有多难?举个例子回答看到这里有这个疑问的同学们,很多年以前,NetApp要进驻大连软体园区的时候,要在大连找做机房的给他们做机房,钱管够,NetApp要求拿出你们做得最好的机房给哥看看,然后带著NetApp在大连几个自以为做得不错的机房转了转,对方最高分只给到了30分,这让本地人灰常不开心,最后把NetApp带到了还没有完全完工的部分已经做好了的最新的网通的机房看了看,这才给打了60分,据称要是没有这个机房挽回点面子,搞不好人家就不打算入驻了。

云厂商负责各种自动化、虚拟化、基础架构,云厂商,说白了,就是一个超级无敌大的运维团队,其核心的能够形成自己技术壁垒的就是是否有自研的资源管理平台,比如前段时间大力宣传的阿里云的「飞天」就是可以和AWS、Azure打擂台的自研平台(对了,说一句题外话,这个平台的主帅王坚博士是学心理学的,计算机是自己旁听学的,所以你看计算机行业真的是喜欢就加入,相聚无类,从不要求你身高1米80,父母有退休金,舅舅是领导)

一台看起来是这样的:

HP机架式伺服器DL380-G10至强金牌5218*2/16G*6/1.2T京东¥ 48050.00去购买?

一堆看起来是这样的:

IDC的干净整洁程度与钱成正比

1)面对用户层的接入,依然是传统的接入方式:

一般是2组互相独立冗余备份的F5(老一点的IDC可能用的是NetScaler),这个主要是分发请求的;当然越大的IDC,就可能远远不止2组了,

F5、Citrix(即NetScaler)

2)网路层就是Cisco的各种型号了,越靠近汇聚的越强劲,钱嘛,买这种的都是合约价;

3)网路设备之后到了机架上面,就是各个云厂商秀肌肉的擂台了,这里你打开各家的主页,大家都是在这个层面,架子搭建好了,开始自动化部署各种各样共享、独占的服务了,质量来自于,虚拟化做的怎么样?资源隔离是否互不影响(强如微软的Hyper-V在这里也踩坑多年,现在早已过了那个看VMWARE脸色过日子的年代了)?资源编排效率怎么样(成千上万的docker,麻烦到以至于业界搞出个k8s出来)?

深入浅出Docker(非同步图书出品)京东¥ 67.60去购买?

Kubernetes权威指南:从Docker到Kubernetes实践全接触京东¥ 164.60去购买?

4)到了前面3步之后,后面的说白了,都是体力活儿,可以通过加班996、007来改善,前面3步关键,是质量的保证。

那么我们来稍微看一下第四部分的可以通过996、007薅头发秃顶来不断打磨的部分,这部分是用户为什么选择你的原因,入手容易,做好难上加难。

  • 弹性:这是云的根本,我可以时间细粒到按分钟付钱,真正的pay-as-you-go,自己买自己为何设备的人工成本、经济成本、时间成本都是几百倍于云的;说个例子大家就能体会了,有人曾经为了爆棚MD5密码,在AWS上一次性买了700多台ECS,用了40多个小时,完成计算结果之后就删除了,如果是你自己上机器,你可以想像一下,购买、上架、安装、调试,如果同样是一个人的话,没有3星期估计是搞不定的。价格的弹性之外还有配置的弹性(动态扩展收缩),5分钟之内完成scale up式的升级,而scale out更是各家重中之重的服务,对于web承载,从1000用户暴增到1000万用户,你只需要用滑鼠点几下即可,这在云计算之前是不敢想像的;
  • 池化:把网路、内存、存储、算力全部实现了池化(现在GPU也快要完全池化了),就像水龙头一样,你只要银子够,想开多大开多大,想怎么分配怎么分配;带宽给你做成了1MB的、5MB的、10MB的、20MB的,CPU给你做成了1 core的, 2 core的、4 core的、16 core的,内存512MB的、700多MB这样的都有、64GB的也有;
  • 自助:全部都做成了自助服务,这就意味著你使用云厂商的服务,全部可以自己随时完成,不需要开介绍信、不需要找1024个不门盖章、不用跪求审核通过就能24x7的自助完成,这就把你的动作非同步化了,你想什么时候做都行;要mysql集群?点几下,3分钟学会mysql有没有经常听到这种说法?再也不用21天学会****了。要redis?点几下;想要人脸识别?点几下;想要CDN?5分钟开通抵达全世界,有没有?什么是超级赛亚人?客服小姐姐是你,开发格子衫是你,运维是你,包装是你,发货是你,财务是你,出纳还是你,为什么你这么能耐,因为云:

云的本质,

就是你花一点点钱,就拥有了数个偌大的IDC,搭配著几万人开发出来的高质量易用的软硬体精品。


于是乎,有的企业不信邪,云有什么了不起的?

下载一个openstack就开始搞,至于搞的结果如何呢?

后来他们都变成了AWS、Azure、Aliyun的客户,

你们对云计算的边边角角,成几何级数增加的繁杂性一无所知,靠PPT是做不了云计算的

普通SMB,搞虚拟化就可以多快好省了,自动化那一层通过完全摈弃改用人肉完成更高效,搞云,除非你有专属于自己的天空,smb谈什么天空?

另外,云,是面对外部用户的,只有提供给外部用户物美价廉的服务才能存活,光靠内部需求无法催生出标准的经得起考验云,最起码,内部用户的钱不够养那么大一个团队的


一、虚拟化机制 (IaaS, 主要是虚拟化技术)

系统虚拟化是指将一台物理计算机系统虚拟化为一台或多台虚拟计算机系统。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬体(如CPU,内存和设备等),来提供一个独立的虚拟机执行环境。通过虚拟化层的模拟,虚拟机中的操作系统认为自己仍然是独占一个系统在运行。每个虚拟机中的操作系统可以完全不同,并且他们的执行环境是完全独立的。这个虚拟化层被称为虚拟机监控器(Virtual Machine Monitor,VMM)

云计算的一个核心思想就是在伺服器端提供集中的计算资源,同时这些计算资源要独立地服务于不同的用户,也就是在共享的同时,为每个用户提供隔离、安全、可信的工作环境。虚拟化技术奖是云计算的一个基础架构。通俗地说,云计算实际是一个虚拟化的计算资源池,用来容纳各种不同的工作模式,这些模式可以快速部署到物理设备上。虚拟化的资源按照来自用户的需求多少动态调用资源,每个用户都有一个独立的计算执行环境。

二、海量数据分散式存储管理机制 (PaaS, 如Google的GFS,Hadoop的HDFS,Hiv,google bigtable)

云计算系统由大量伺服器组成,同时为大量用户服务,因此云计算系统采用分散式存储的方式存储数据,用冗余存储的方式(集群计算、数据冗余和分散式存储)保证数据的可靠性。

冗余的方式通过任务分解和集群,用低配机器替代超级计算机的性能来保证低成本,这种方式保证分散式数据的高可用、高可靠和经济性,即为同一份数据存储多个副本。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。

云计算需要对分布的、海量的数据进行处理、分析,云计算系统中的数据管理技术主要是Google的BigTable数据管理技术和Hadoop团队开发的开源数据管理模块HBase。

三、分散式计算机制 (Paas,Map reduce)

分散式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 目的在于分析计算海量的数据,从雷达监测的海量历史信号中分析异常信号等。

海量计算最开始的方案是提高单机计算性能,如大型机,后来由于数据的爆发式增长、单机性能却跟不上,才有分散式计算这种妥协方案。 因为计算一旦拆分,问题会变得非常复杂,像一致性、数据完整、通信、容灾、任务调度等问题也都来了。

四、Web 2.0界面交互机制 (SaaS)

Web2.0 是相对Web1.0 的新的一类互联网应用的统称。Web1.0 的主要特点在于用户通过浏览器获取信息。Web2.0则更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。

发布于 2020-12-08继续浏览内容知乎发现更大的世界打开Chrome继续启迪云启迪云?

已认证的官方帐号

云计算bai分为三个层面:

1、基础环境du层(Iaas):zhi一般都是通过虚拟化dao技术,动zhuan态按需分配shu资源。为客户提供服务。

2、平台层(Paas):一般采用中间件技术,构建多租户平台。功能包含:流程引擎、报表引擎、消息引擎、安全认证引擎等,这些引擎的作用就是为用户提供自定义信息系统服务的。

3、应用软体层(Saas):最规范的云平台采用组件化技术,将一个一个应用功能组装在平台层上,松耦合架构,方便用户搭建自己的信息系统。目前较多的应用集中在:OA、CRM、HA等方面。

发布于 2020-12-08继续浏览内容知乎发现更大的世界打开Chrome继续logo知乎科学

中华科普读物大赏

以我所知,成你所愿,快来分享你的科普图书读后感想、书籍推荐和书中的知识,一起瓜分十万奖金。还有八位中国科普著作家受邀亲自点评,想和名家互动吗?快来点参与回答吧~查看详情DavyCloudDavyCloud努力把事讲清楚

虚拟化技术

虚拟化技术是把一台物理伺服器,虚拟成一台或多台虚拟机。

所以一台云主机,肯定是落在某一台物理伺服器上的,并且它的 CPU 内存 配置不可能超过这台物理伺服器。(硬碟另说,并且假设 CPU和内存都没有超配)

虚拟化技术简单来讲就是软体模拟实现硬体,所以这时候云主机的配置信息就是软体配置信息,就是写在配置文件中的,可以很方便的修改。当然也有一定的限制,往大了改比较容易实现,基本上不用停机,支持在线修改,即时生效;往小了缩一般要关机,因为已经被虚机占了的资源得让虚机自己吐出来。

软体定义的分散式存储

常规的伺服器要么使用单个磁碟,要么利用多块磁碟使用 RAID 卡组成磁阵,实现备份和冗余。现在的分散式存储更加的灵活,都是通过软体来实现的。对于用户来说,看到的一份文件或者一块磁碟,实际上后台可能分布在 N 个地方,最终都是通过高速网路访问。

而且存储一般是和主机伺服器分开的,也就是虚拟机的磁碟数据和它的 CPU/内存 基本不在同一个伺服器上

综合来说,解释 「而且无需搬家」也很容易了,因为数据本身不用搬家,CPU和内存 可以随时升级并切换到其它伺服器上,用户也基本没有感知。


云计算bai分为三个层面:

1、基础环境du层(Iaas):zhi一般都是通过虚拟化dao技术,动zhuan态按需分配shu资源。为客户提供服务。

2、平台层(Paas):一般采用中间件技术,构建多租户平台。功能包含:流程引擎、报表引擎、消息引擎、安全认证引擎等,这些引擎的作用就是为用户提供自定义信息系统服务的。

3、应用软体层(Saas):最规范的云平台采用组件化技术,将一个一个应用功能组装在平台层上,松耦合架构,方便用户搭建自己的信息系统。目前较多的应用集中在:OA、CRM、HA等方面。

发布于 2020-12-08继续浏览内容知乎发现更大的世界打开Chrome继续logo知乎科学

中华科普读物大赏

以我所知,成你所愿,快来分享你的科普图书读后感想、书籍推荐和书中的知识,一起瓜分十万奖金。还有八位中国科普著作家受邀亲自点评,想和名家互动吗?快来点参与回答吧~查看详情DavyCloudDavyCloud努力把事讲清楚

虚拟化技术

虚拟化技术是把一台物理伺服器,虚拟成一台或多台虚拟机。

所以一台云主机,肯定是落在某一台物理伺服器上的,并且它的 CPU 内存 配置不可能超过这台物理伺服器。(硬碟另说,并且假设 CPU和内存都没有超配)

虚拟化技术简单来讲就是软体模拟实现硬体,所以这时候云主机的配置信息就是软体配置信息,就是写在配置文件中的,可以很方便的修改。当然也有一定的限制,往大了改比较容易实现,基本上不用停机,支持在线修改,即时生效;往小了缩一般要关机,因为已经被虚机占了的资源得让虚机自己吐出来。

软体定义的分散式存储

常规的伺服器要么使用单个磁碟,要么利用多块磁碟使用 RAID 卡组成磁阵,实现备份和冗余。现在的分散式存储更加的灵活,都是通过软体来实现的。对于用户来说,看到的一份文件或者一块磁碟,实际上后台可能分布在 N 个地方,最终都是通过高速网路访问。

而且存储一般是和主机伺服器分开的,也就是虚拟机的磁碟数据和它的 CPU/内存 基本不在同一个伺服器上

综合来说,解释 「而且无需搬家」也很容易了,因为数据本身不用搬家,CPU和内存 可以随时升级并切换到其它伺服器上,用户也基本没有感知。


虚拟化技术

虚拟化技术是把一台物理伺服器,虚拟成一台或多台虚拟机。

所以一台云主机,肯定是落在某一台物理伺服器上的,并且它的 CPU 内存 配置不可能超过这台物理伺服器。(硬碟另说,并且假设 CPU和内存都没有超配)

虚拟化技术简单来讲就是软体模拟实现硬体,所以这时候云主机的配置信息就是软体配置信息,就是写在配置文件中的,可以很方便的修改。当然也有一定的限制,往大了改比较容易实现,基本上不用停机,支持在线修改,即时生效;往小了缩一般要关机,因为已经被虚机占了的资源得让虚机自己吐出来。

软体定义的分散式存储

常规的伺服器要么使用单个磁碟,要么利用多块磁碟使用 RAID 卡组成磁阵,实现备份和冗余。现在的分散式存储更加的灵活,都是通过软体来实现的。对于用户来说,看到的一份文件或者一块磁碟,实际上后台可能分布在 N 个地方,最终都是通过高速网路访问。

而且存储一般是和主机伺服器分开的,也就是虚拟机的磁碟数据和它的 CPU/内存 基本不在同一个伺服器上

综合来说,解释 「而且无需搬家」也很容易了,因为数据本身不用搬家,CPU和内存 可以随时升级并切换到其它伺服器上,用户也基本没有感知。


推荐阅读:
相关文章