云计算|很难吗?那你知道边缘计算吗!

分类: 小鸟云折扣卷 发布时间:2018-09-05 12:36

云计算的IaaS、PaaS、SaaS最后那个S都是Service。就是说,无论你云计算长成什么样,都得要向用户提供“服务”而不仅仅是软硬件和各种资源。

云计算的技术难点

到今天,云计算的工业实现已经不太难了。现在有开源软件KVM和Xen,这两个东西基本把虚拟化搞定;而OpenStack则把管理、控制系统搞定,也很成熟。PaaS也有相应的开源,比如OpenShift,而Java里也有N多的中间件框架和技术。另外分布式文件系统GFS/TFS,分布式计算系统Hadoop/Hbase等等,分布式的东西都不神秘了。技术的实现在以前可能是问题,现在不是了。

对于云计算工程方面,现在最难的是运维。管100台、1万台还是100万台机器,那是完全不同的。机器少你可以用人管理,机器多是不可能靠人的。运维系统不属于功能性的东西,用户看不见,所以这是被大家严重低估的东西。只要你做大了,就必然要在运维系统上做文章。数据中心/云计算拼的就是运维能力。

为什么我说运维比较复杂,原因有这么几个。

一方面,云计算要用廉价设备取代那些昂贵的解决方案。所谓互联网的文化就是屌丝文化,屌丝就是便宜,互联网就是要用便宜的东西搭建出高质量的东西,硬件和资源一定不会走高端路线——比如EMC、IBM小型机、SGI超级计算机等等,你如果用它去搭建云计算,成本太贵。用廉价的解决方案代替昂贵的解决方案是整个计算机发展史中到今天唯一不变的事情。所以如果你要让夏利车跑出奔驰车的感觉,你需要自己动手做很多事,搭建一个智能的系统。用廉价的东西做出高质量的东西,运维好廉价的设备其实是云计算工程里最大的挑战。

另一方面,因为你机器多了,然后你用的又不是昂贵的硬件,所以故障就变成了常态,硬盘、主板、网络天天坏。所以,没什么好想的,运维就必须要跟上。云计算的目标是在故障成为常态的情况下保证高可用——也就是我们所说的,你服务的可用性是3个9、4个9还是5个9。

最后,这一大堆机器和设备都放在一起,你的安全就是一个挑战,一方面是Security,另一方面是Safety,保证数十台数百台的设备的安全还好说,但是对于数万数十万台的设计,就没有那么简单了。

面对这样的难题,人是无法搞得定的,你只能依靠技术来管理和运维整个平台。比如必须有监控系统。这跟操作系统一样,对资源的管理,对网络流量、CPU利用率、进程、内存等等的状态肯定要全部收集的。收集整个集群各种节点的状态,是必然每个云计算都有的,都是大同小异的。

然后,你还要找到可用性更好的节点,这需要有一些故障自检的功能。比如阿里云就遇到过磁盘用到一定时候就会莫名其妙的不稳定,有些磁盘的I/O会变慢。变慢的原因有可是硬盘不行了,于是硬盘控制器可能因为CRC校验出错需要要多读几次,这就好比TCP的包传过来,数据出错了,需要重新传。在这种硬盘处理半死不活的状态时,你肯定是需要一个自动检测或自动发现的程序去监控这种事情,当这个磁盘可能不行了,标记成坏磁盘,别用它,到别的磁盘上读复本去。我们要有故障自动检测、预测的措施,才能驱动故障,而不是被动响应故障,用户体验才会好。换句话说,我们需要自动化的、主动的运维。

为了数据的高可用性,你只能使用数据冗余,写多份到不同的节点——工业界标准写三份是安全。然而,你做了冗余,又有数据一致性问题。为了解决冗余带来的一致性问题,才有了paxos的投票玩法,大家投票这个能不能改,于是你就需要一个强大的控制系统来控制这些东西。

另外,公有云人来人往,里面的资源和服务今天用明天不用,有分配有释放,有冻结,你还要搞一个资源管理系统来管理这些资源的生命状态。还有权限管理,就像AWS的IAM一样,如果没有像AWS的IAM权限管理系统,AWS可能会不会像今天这样有很多大的公司来用。企业级的云平台,你需要有企业级的运维和管理能力。

云计算的门槛

为啥云计算有这么多开源的东西,却不是人人都能做?

一方面,这就跟盖楼一样。盖楼的技术没什么难的(当然,盖高楼是很难的),但是你没地你怎么盖?我觉得云计算也一样,带宽的价格贵得就像土地的价格。其实云计算跟房地产一样,要占地、占机房、占带宽。如果能把中国所有的机房、机柜、带宽资源都买了,你就不用做云计算了,卖土地就够了——因为这些是有限的。最简单的例子,IP地址是有限的。你有带宽、有机房,但是如果你没有IP,这就不好玩了。尤其是你要提供CDN服务,这个就更明显,因为有多少物理节点直接决定你的CDN服务质量。

另一方面,正如前面所说的,运维是件很难的事,运维这个事并不是一般人能搞的事。没有足够的场景、经验和时间,这种能力很难出现。

从用户的角度来说呢,云计算是一种服务,你需要对用户企业内的解决方案要有很好的了解,这样才能提高很好的服务。能提供“好服务”的通常都是把自己真正当成用户公司。

卖汽车也是卖服务。造出汽车来,并不代表你搞定这个事了。如果没有公路、没有加油站、没有4s店、没有交通管理、规则等等,你要么用不了,要么就是乱七八糟。不能只让用户在那看着你的汽车好牛啊,但是用户不知道怎么用。所以说,云计算最终旁边必须要有一套服务设施,而这套服务设施也是今天被人低估的。

云计算有两个东西我觉得是被人低估的,一个是运维,一个是那堆服务。做服务的需要有生态环境,有人帮你做。所以做云计算要落地并不简单。

随着越来越多的设备连接到互联网并生成数据,云计算可能无法完全处理这些数据——尤其是在某些需要非常快速地处理数据的使用场景当中。

边缘计算是云计算以外的另一种可选解决方案,未来它的应用范围很有可能将远不止是无人驾驶汽车。

包括亚马逊、微软和谷歌在内的一些科技巨头都在探索“边缘计算”技术,这可能会引发下一场大规模的计算竞赛。虽然亚马逊云服务AmazonWebServices(AWS)在公共云领域仍然占据主导地位,但谁将成为这个新兴的边缘计算领域的领导者仍有待观察。

从可穿戴设备到联网厨房电器,联网设备可以说无处不在。据估计,到2019年,全球物联网市场规模将超过1.7万亿美元,较2013年的4860亿美元增长翻两番。

因此,云计算——许多智能设备连接到互联网来运作的过程——已经成为一种越来越主流的趋势。

云计算使得公司能够在自己的物理硬件之外,通过远程服务器网络(俗称“云”)存储和处理数据(以及其他的计算任务)。

例如,你可以选择使用苹果的iCloud云服务来备份你的智能手机,然后你可以通过另一个联网设备(比如你的台式电脑)检索智能手机里的数据,方法是登录你的账户连接到云。你的信息不再受到智能手机或台式机的内部硬盘容量的限制。

这只是众多云计算用例之一。另一个例子是通过Web端或移动浏览器来访问各种完整的应用程序。由于云计算越来越受欢迎,它吸引了亚马逊谷歌、微软和IBM等大型科技公司入局。据私有云管理公司RightScale于2018年进行的一项调查显示,在主要的公共云提供商当中,亚马逊AWS和微软Azure分列第一和第二。

越来越多的企业在公共云上运行应用程序

但是集中式云计算并不适合所有的应用程序和用例。边缘计算则能够在传统云基础设施可能难以解决的领域提供解决方案。

向边缘计算的转变

在我们到处充斥着数据的未来,将有数十亿部设备连接到互联网,因此更快更可靠的数据处理将变得至关重要。

近年来,云计算的整合和集中化性质被证明具有成本效益和灵活性,但物联网和移动计算的兴起给网络带宽带来了不小的压力。

最终,并不是所有的智能设备都需要利用云计算来运行。在某些情况下,这种数据的往返传输能够——也应该——避免。

由此,边缘计算应运而生。

边缘计算使得数据能够在最近端(如电动机、泵、发电机或其他的传感器)进行处理,减少在云端之间来回传输数据的需要。

市场研究公司IDC称,边缘计算被描述为“微型数据中心的网状网络,在本地处理或存储关键数据,并将所有接收到的数据推送到中央数据中心或云存储库,其覆盖范围不到100平方英尺”。

例如,一列火车可能包含可以立即提供其发动机状态信息的传感器。在边缘计算中,传感器数据不需要传输到火车上或者云端的数据中心,来查看是否有什么东西影响了发动机的运转。

本地化数据处理和存储对计算网络的压力更小。当发送到云的数据变少时,发生延迟的可能性——云端与物联网设备之间的交互导致的数据处理延迟——就会降低。

这也让基于边缘计算技术的硬件承担了更多的任务,它们包含用于收集数据的传感器和用于处理联网设备中的数据的CPU或GPU。

随着边缘计算的兴起,理解边缘设备所涉及的另一项技术也很重要,它就是雾计算。

边缘计算具体是指在网络的“边缘”处或附近进行的计算过程,而雾计算则是指边缘设备和云端之间的网络连接。

换句话说,雾计算使得云更接近于网络的边缘;因此,根据OpenFog的说法,“雾计算总是使用边缘计算,而不是边缘计算总是使用雾计算。”

说回我们的火车场景:传感器能够收集数据,但不能立即就数据采取行动。例如,如果一名火车工程师想要了解火车车轮和刹车是如何运行的,他可以使用历史累计的传感器数据来预测零部件是否需要维修。

在这种情况中,数据处理使用边缘计算,但它并不总是即时进行的(与确定引擎状态不同)。而使用雾计算,短期分析可以在给定的时间点实现,而不需要完全返回到中央云。因此,虽然边缘计算给云计算带来补充,并且与雾计算一起非常紧密地运作,但它绝不是二者的替代者。

从可穿戴设备到汽车再到机器人,物联网设备正呈现出越来越强劲的发展势头。随着我们朝着更加互联的生态系统迈进,数据生成将继续飞速增加,尤其是在5G技术取得腾飞,进一步加快网络连接以后。虽然中央云或数据中心传统上一直是数据管理、处理和存储的首选,但这两种方案都存在局限性。边缘计算可以充当替代解决方案,但由于该技术仍处于起步阶段,因此还很难预料其未来的发展。