上个星期在Gartner数据中心年度会议上,硅谷风投大佬AndreessenHorowitz 合伙人Peter Levine语出惊人,他指出云计算时代在还没有正式启动的时候,就将很快“终结”。“我将为你们展示什么才是未来。”他以此开场,随后论述了他关于云计算昨天、今天和明天的“疯狂”观点:中央计算将很快被分布式计算取代,他非常乐于投资云计算的“终结者们”。
当我们都还在考虑如何转型到云计算中心的时候,软件创新的前沿者们,是否应该开始考虑“后云计算时代”的软件了?
无独有偶,2016年初,惠普(HPE)正式关闭了它的公有云业务。这几天思科也宣布即将终结它10亿美元的公有云服务,将于2017年3月31日正式关闭。遥想思科推出互联云之时,号称这是一种基于OpenStack的平台,能够在各个数据中心之间轻松转移工作负载,并表示这个平台是将其自己和合作伙伴公司的宏大计划。事实显然证明,这个愿景实现起来比预想的困难得多。目前,5大云服务商主宰了公有云服务一半以上的市场份额,并且其增长速度甚至超过整个云计算市场份额的增长速度。
这些关门是否和物联网趋势有关,不得而知。但是归根结底,云计算是建立在“集中大量的硬件来提供消费者服务”。而物联网,恰恰提供了“大量”的计算能力。
物联网的产生和发展,从商业经济上,开设了一个全新的竞争场所:原来由“人”为主体的网络转向由“物”为主体。目前众多的投资创业转型项目,就是这个革命的见证。从技术角度来看,我们要思考,这个物联网的发展,是否会导致计算模式的再次变革?
答案是肯定的,就是物联网的发展将是云计算结束的开始。
现代意义上的计算,可以从六十年代的IBM的大型商务机(mainframe)开始算起。集中计算的特征就是用户不需要考虑任何硬件软件的配置功能。缺点是没有可伸缩性。和集中计算相反的分布式计算是从七十年代的小型机开始,八十年代以UNIx系统为主导的发展,到本世纪初的手机和后来的智能手机达到高峰。分布计算的特征是每个节点都有计算功能。缺点是每个用户都需要管理自己的节点,硬件软件。后来就出现了云计算,把大量的数据处理交给“云”去做。这个云计算实际又是一个集中计算,它免去了用户对中央计算的管理要求。
我们现在要问,这个钟摆是不是又会将计算模式摆回到分布式?
物联网的出现,将计算节点数量和数据量推到一个更高的层次。这个量变将引起质变:云计算会因此而只能维持现状而不会持续发展,或者说,终结(这个不是消失的意思,就像IBM的大型商业服务机至今仍然在使用一样)。将云计算取代的是很多“微计算中心”(micro service center),这个有点类似于思科在2014年提出的“雾计算”概念(fogcomputing)。这就是说,过去60年的计算模式,又会回到分布式:每个节点,服务器、电脑、手机、传感器、智能路灯,都会有计算功能。
当年思科提出雾计算的概念是出于技术角度。它认为物联网的节点必须有自己的自治功能:比如网络不稳定节点要有自己管理自己的功能,为了减轻网络和云处理中心的负担节点自己数据预处理等。所以它提出把计算放到边缘(节点)(edge computing)。
但实际上,把计算功能放到节点上不单是一个技术问题。云技术解决两个问题:硬件资源管理和集中计算(软件)。我们不妨设想一下。硬件资源由于成本下降和稳定性提高,需要管理的内容会持续下降,每个用户都是硬件管理员(苹果手机将这个概念做到非常完美)。而软件,将会出现无主控制服务(master-less),对称(symmetry),自动协商自治式的分布技术(auto-negotiate,autonomous)。这样的软件,会自动集成资源,寻求信息连接,提供计算结果。
这将是一个非常可扩展的弹性计算资源。比所有的现有云模式更加广阔,符合超大规模的物联网和数据膨胀形式。
举个例子,一个完全物联网化的制造车间,会组成一个微计算中心,它不再需要将数据传到云里面。一旦它的计算要求超过它自己本身的能力,它可以借助于附近的计算节点(另外一个车间,甚至智能手机)来完成。它计算的结果也直接会输送到用户的终端上(有可能这个用户也是借给它计算的一部分,如果不是,这个用户可以向这个物联网车间收取一定的费用作为收入)。
这种计算方式不是我们的想像,当年DNA计算有人就利用各种剩余的资源,个人电脑、企业多余的服务器,一个小时、5分钟,都可以用来计算一个小的部分,然后将结果汇总。也有人将各种多余的存储,都组合起来,形成一个大的,虚拟的存储设备(vSAN)。
再一个例子,一台自动驾驶车辆,它本身是一个微计算中心,它可以通过一定的协议,向其他车辆借用资源,调用信息。我们认为,当硬件速度足够快,软件功能足够丰富,这样的全新分布计算的出现只是一个时间问题。我们姑且叫这个模式为“众计算”,Crowd Computing。
那么究竟如何使得物联网的节点都可以参与这种新的计算模式呢?这个首先要归功于硬件的发展。现在的传感器,或者智能传感器,都基于MCU(微控制器),它有所有“计算”所需要的能力,CPU、内存、硬盘和通讯、RaspberryPi、IntelEdison还可以有现成的操作系统运行,而且硬件成本会持续下降,所以由物联网节点来参与“众计算”的基础已经存在并且会更加完善。虽然每个节点能量有限,但是有海量的数目。每个节点只需要计算一小部分。
那缺少什么呢?缺少统一的协议、操作系统、工作调度、数据安全等软件。而所有这些软件概念也已经都有,从大数据处理的Hadoop,到平行计算的调度jobscheduling到并行存储。
为什么要这么做?因为可扩展性,自我服务性。分布计算使得每个人都可以独立去完成。而且资源是“无限”的,成本会更低,你可以去掉今天云计算模式的束缚。另外一个需要指出的是,和一般常规认知相反,这种“众计算”模式会比大型机,云计算更加稳定,可靠。
也许有一天,你的手机,不但给你带来通讯的便利,同时在你不用的时候,在为你悄悄的创收。