通俗点说,云计算就是将处理数据这个步骤放在网络的远程端进行,因为服务器租用和购买价格昂贵,而像BAT这些企业有大量闲置服务器,只需要通过虚拟技术,个人使用普通宽带,也可以大量访问内部的服务器。
云计算(cloud computing):云计算是一种将可伸缩、弹性、共享的物理和虚拟资源池以按需自服务的方式供应和管理,并且提供网络访问的模式。
用通俗一点的语言来解释,就是针对本地的计算量较大的任务,可以通过网络,将任务交给远方的服务器来计算。计算完成后,再把结果拿回本地。
总之,云计算不是一种全新的网络技术,而是一种全新的网络应用概念。
云计算的核心概念就是以互联网为中心,在网站上提供快速且安全的云计算服务与数据存储,让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心。
这对于本地设备是嵌入式系统的情况下,时间和成本的优势非常巨大。
虚拟化技术
虚拟化突破了时间、空间的界限,虚拟化技术包括资源虚拟和应用虚拟。
灵活性高
虚拟化不仅可以兼容低配置机器、不同厂商的硬件产品,还能获得更高性能计算。
可靠性高
倘若单点服务器出现故障时,可通过虚拟化技术将分布在不同物理服务器上的应用进行恢复。
可扩展性高
利用应用软件的快速部署,简单快速地将自身所需的已有业务以及新业务进行扩展。
云计算按服务类型可以分为三类:基础设施即服务IaaS、平台即服务PaaS、软件即服务SaaS。
IaaS
提供给客户的服务是运营商运行在云计算基础设施上的应用软件、应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等。
PaaS
提供给消费者的服务是把客户采用提供的开发语言和工具开发的或收购的应用程序部署到供应商的云计算基础设施上去。
SaaS
提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。
1
对于本地的嵌入式系统,一般情况下不是时时刻刻都有大计算量的任务的。
这里以物联网应用中比较典型的大计算量需求——监控摄像头为例。
它也不需要每一帧都做行人检测和人脸识别。一般通过一些本地可以实现的算法,比如对图像做差分运算。探测到画面内有物体移动以后,再将画面交由服务器做行人检测。检测出有人以后,再做人脸识别。
这样对于本地设备来说,可能几个小时才会有一帧AI运算的需求。如果在本地部署性能足够进行AI运算的硬件,势必在使用时长上会造成严重浪费。而且硬件性能没有足够强的话,响应速度也远不及云计算迅速。
2
对于服务器,时间上的复用,可以以极低的成本覆盖大量的嵌入式计算需求。
还是以上述监控摄像头为例,一台设备几个小时才会进来一个需求,而服务器可以很快就算完了。但服务器可以不停的算,那么一台服务器就可以覆盖很多本地设备。这样部署的总体成本就会大大降低。
但是云计算也有其局限性,主要受限于网络传输的稳定性不够理想。
如果是长时间的需要大计算量的任务,比如类似于天网系统的公共区域摄像头,可能每时每刻都有行人车辆经过,可能就每秒钟都需要AI算法的介入。
这样一来受传输稳定性的限制,可能导致运行不稳定。而且不断地有数据交给服务器,传输的流量成本和服务器资源的占用都会大幅增加。
这种情况下传统云计算可能就不太适合了,此时就要引入边缘云计算和边缘计算的概念了。