这种题目我觉得是按照时间顺序来看的,不同年代有不同的说法,我直接接触这一块应该是刚上大学那会,也就是08,09年左右。国内这一块正式发展应该是00年左右的事情,前期技术发展没有那么迅速,所以后来学习考古的时候,也补充了点知识,所以这里就按照时间顺序大致梳理下,如果有不对的,还请见谅。
1.云计算源于数据中心,数据中心最早的业务是存储,所以早期是围绕存储技术进行发展的。最早的用户实际上是银行,机关等有重要数据需要保存的。当时都是各种各样的专用机组成的年代,所以网络协议很众多,供不同类型的设备做互联。
2.然后数据信息随着互联网的发展逐渐用途越来越大,所以数据中心内部的东西向流量越来越多,数据处理的业务也越来越多,这个时候数据中心的流量大头就从数据的存储和读取变成了数据处理,也就是快速发展了云计算。这个时期开始出现了一些行业纵深比较大的企业,可以一次性提供完整的数据中心解决方案。那个时期,用户的本地计算和云计算还是壁垒分明的,本地是通过网络访问某个服务提供商,比如说电商平台,流媒体平台之类的,他们后面再连着数据中心,做数据中心系统。
3.然后发展历程其实就是到了移动互联网,用户基数,终端数,以及各种各样的应用,导致了云计算中心本身的计算需求进一步的增加,而且越来越多的业务,其本质的业务处理同构性越来越强,所以软件的架构逐渐从纵深一条贯通的架构,开始逐渐生态圈化了。中间件技术,数据处理技术,各种各样的代理反射机制等等,都是高速发展。而且软件开发也开始偏向快速迭代了。当时专用的超算实际上和普通的数据中心,也就是云计算的业务还是比较分开的。云计算的操作系统实际上还是有单机操作系统往联机方面发展,所以还没法和超算融合,还是壁垒比较分明的。主要的业务还是说针对于用户而言,如何更好服务用户,提供更短的时延,更稳定的服务。那个时期实际上另外一个主要特点就是,通用化,软件化的定义概念开始快速发展,每家云公司实际上都是很清楚知道,白盒技术是将来的重要技术,传统的黑盒模式的数据中心架构,在云计算中心这个市场上,会被逐渐的取代掉,这一块的新兴市场最终还是白盒化的硬件主流,所带来的的直接好处,就是可以高度的软件定义,提供了更高效的开发空间,以及大量的降低成本。
4.然后就是xaas大行其道了,其实那个时候软件定义所能带来的潜力已经被很多业界大流所认定了。从网络的角度而言(笔者略微对网络方面比较熟悉),特别这个时期IP已经统一江湖了。所以网络的协议的统一化,标准化,以及接口标准化之类,已经越来越标准,虽说各种各样的协议还是大量冒出来,但是主流的几个协议,直到现在其实还是活着的。就好比说IP协议为什么能够统一江湖的RFC3724做的探讨一样,一个统一的收敛的层或者说协议,能够有效的提供上下游的访问能力,这样可以分离上下游不同厂家对业务的专精程度。所以这个时期,伴随着xaas的概念,各种各种的分布式框架开始一一被提出,从数据处理的hadoop,虚拟化平台openstack。。。。就不多举例了,很多人在这个时期实际上都是切身经历的。硬件层面,软件层面都开始立好了山头,形成了一个多元的生态圈了。不过当时生态圈,业务还没那么精,圈子里面的业务也还没那么多。以hadoop初期为例子,当时就是hadoop基础,hive,map-reduce大致几个,整个生态圈图还是比较简单的。与此同时,这个时期cuda并行计算,GPU这一块我记得也是同时期高速发展的。当时已经有不少云计算公司的业务开始向超算发展了,我记得当时是阿里云5K集群,飞天系统起来1年左右那个时候,我们还在阿里云平台上跑一个基因信息挖掘的分布式计算,基于MR做的,确实是比单机,和本地集群做的MR速率快了很多。不过这个时期,AI还被称呼为数据挖掘之类,云计算更多的还是围绕着业务来跑的。不过感觉这个时期实际上是定下来了,后面几年的云计算的发展架构。这个时期当时手机还是iphone4S左右,差不多12年左右吧,本地实际上还没有那么高的算力需求,也没有那么多的联网业务。网游之类的,还是停留在“收菜”模式,对于实时性,图像处理等等的业务需求才开始冒头。我个人感觉,云计算提供商当时已经预见到了趋势,但是从服务模型上而言,和上一个时期还差不多,云端的业务开没有广泛的普及了大量的普通开发者。
5.然后就是高速发展期了,基本上不用写什么了。。。这段时间云计算整个生态圈已经非常庞大了。IT行业的很多人实际上或多或少有一台自己的云服务器,不管是私有云还是公有云,而且价格也是可以接受的。微服务架构也开始冒头了,其实感觉软件的定义实际上开始和早前的软件有点区别了,现在的软件实际上其实已经是服务了,从业务的角度实际上比从技术的角度更容易去定义。这个时期也出现了很多云端代替本地执行程序的示例了,一方面是网络技术的发展,带宽增加,延迟可控之类,另外方面是基于云计算本身前面技术的发展,RPC,锁之类的,各种各样的技术框架和开源项目,为云计算的发展提供了更好的发展。其实这个时期,我们可以发现本地移动终端能够完全离线使用的软件越来越少,大多都是在线的,而且一旦服务器端升级以后,本地也需要对应升级,否则的话还有可能会导致无法使用。本地计算的大头还是在图像渲染,业务调度之类的高算力的任务。云计算和本地计算开始密不可分,个人感觉是往统一趋势发展的。
6.差不多就是现在的时期了,云已经往边缘计算发展。往边缘的物理基石实际上是5G的核心网设备X86化,个人认为是这样,因此边缘才有足够的算力资源。边缘能够提供给用户更近的算力资源,以及更加稳定的延迟,一定意义上,就好比现在云手机的概念了,直接将手机业务变成了一项服务,提供给用户。云计算现在是在白盒的基础上,尝试加速卡的思路,各种FPGA和专用芯片加速的方案也层出不穷。从目前边缘计算在推广的几种构架上,确实有想法是把云,边缘,本地的算力资源统一做池化,然后根据业务需求做分配的。典型设计就是算力网络,CFN。这也无何厚非,毕竟运行商要做各种各样的转型尝试,如果将来真的云手机业务大行其道,那么运营商实际上是具备发展该项业务的最好潜力的。所以从这个角度而言,云计算和本地计算,从计算模型上,开始区分度越来越少,仅仅就是一个算力和存储的位置不同罢了。不过发展也肯定不是单方面的,本地算力也同样在发展,制程是越来越小,芯片是越来越强悍,而且软件层面的优化是越来越好,所以本地算力的增加,在很长一段时间还毕竟是主流。云是无法代替本地计算的,往后面发展的一种可能性,云和本地同构,组成一个混合池进行混合调度,也就是云和本地融合,本地更多的是一种终端角色,这个也只能作为一种猜想了。
大致云计算和本地计算的问题,其实整理一下云计算的发展史差不多就能好好思考下这个问题。毕竟技术始终在发展的,每一个阶段时候,答案都不是很相同,特别像这种已经可以软件定义,快速迭代的场景下。可以不那么狭义的去区分本地计算和云计算,大致根据其面向的不同服务群体,不同的业务对象来综合考虑下回更好。大致按照时间顺序大致梳理下,如果有不对的,还请见谅。
上一篇:学习云计算需要考什么证?
下一篇:云计算概论