- 边缘计算系统设计与实践
- 杨剑 李长乐
- 1819字
- 2025-03-27 18:17:18
1.4.2 云计算、边缘计算和IoT
云计算、边缘计算和IoT这个三元组,通常可以简称为云边端,这三个部分是相互补充和相互依赖的关系。在最近的十年间,企业IT基础设施已经从电信公司的托管机房或企业自建的机房转换到了云计算平台。
下面讲一个笔者当年亲历的小故事,以便让大家更深切地体会到云计算所带来的便利。记得2008年时,我帮客户建立了一个面向中国客户的网站,客户是一家规模很大的外资广告公司。为了网站的性能、稳定性和安全性,该公司需要部署独立的主机。我背着十几公斤的服务器来到上海某郊区的电信托管机房,机房管理员在机房旁边的办公室问了我是哪家代理商,托管多长时间,记录了我的身份证号。然后管理员带我进入了那个两层楼的机房。如果要用一个字来形容当时的电信托管机房的话,那“乱”字是最贴切的了。机房的机架上胡乱堆放着来自不同客户、不同品牌及自装的服务器,后面插着混乱的网线和电线。一进门就感受到巨大的轰鸣声和一股股热浪扑面而来,就像是好多老式飞机引擎同时发动的感觉。墙角的空调被开到最大风量,不过声音早已被几千台各色服务器的轰鸣声盖住了。那个管理员找到了一个空位,把我的服务器用力地塞了进去,又从后面摸索出一根网线插在网卡端口上,然后接上电源。我打开机器,调通服务。管理员给了我外网IP地址和一个电话,说道,“有问题打这个电话,24小时有人值班。”而实际上他们能做的通常就是有问题时帮你重启机器。当时服务器加上1U服务器一年的托管费差不多上万元,而得到的服务却极为有限。
后来有了各种云计算平台,我当年的这种经历估计现在很少会有朋友再去体验了。云计算通过虚拟化技术,把专业互联网公司的大规模集群的计算和存储能力提供给用户使用。有了云计算以后,就可以实现按需购买服务器运算资源,节约了企业IT成本。而且虚拟化技术使云服务能够有极强的伸缩性、弹性和可靠性。系统的开发和维护团队不再需要关心底层的网络和服务器的问题,提高了应用开发和运维效率。这给整个IT行业的发展带来了巨大的促进作用,甚至很多重量级的互联网公司也开始逐渐把IT基础设施迁移到公有云上,比如美国的在线流媒体服务商Netflix就已经将主要的IT基础架构迁移到了AWS云服务上。一些最近十年发展起来的互联网公司,如Airbnb、Uber等都是AWS等公有云服务的重度用户。而国内的大量新的创业公司也都采用了阿里云、腾讯云等国内的云平台服务。
尽管云计算拥有这么多的优点,但是当IT发展到物和物、人和物的全连接时代时,公有云计算本身的一些缺陷也暴露出来了。
(1)公有云的物理服务器也是集中在几个到数十个大型数据中心的,所以云服务,尤其是公有云服务本身是中心化的。面对迅速增长的终端设备,云数据中心的运算和存储能力跟不上终端设备增长的需求。如果所有终端设备产生的数据都要进入云平台并进行处理,将会产生极为高昂的成本。持续增长的海量数据处理,要求有几何级增长的云计算能力。这将给云计算数据中心造成非常沉重的压力。
(2)大量的终端设备需要高可用性和极低时延的服务。通常,云数据中心和实际的设备之间的物理距离都比较远,当前网络基础设施(4G及早期5G)还达不到10ms以下的时延要求。
(3)终端设备的运行环境和运行状态是无法确保持续稳定的,边缘端连接核心网的持续可用性无法保证。大量设备工作在恶劣或极端环境中,很难保证和数据中心网络连接的可靠性。
(4)某些传感器和设备产生的数据是比较敏感的,可能涉及个人信息、商业机密或知识产权,最终用户不希望把所有的数据都上传到云。而在信息传输、处理和保存的过程中有可能会导致信息安全问题。
Intel公司的Mark Sharpness在2017年Linux基金会组织的开源峰会上列出了在全连接时代的数据量。2021年互联网用户人均产生数据大约为146GB,如果所有的设备都直接传输数据到云数据中心,这在现有技术和基础设施的条件下,将是不可能完成的任务。云计算平台的存储、计算和分析功能势必需要分流到边缘设备和终端设备上。
随着各种终端设备接入网络,同时对于处理海量连接和数据的要求,很多应用对实时性和可用性的要求越来越高。引入边缘设备已经是非常迫切的需求了。在大多数的物联网应用中,我们其实都有必要开始考虑边缘计算服务的部署和使用。如何在云—边—端这三个维度上设计物联网应用?如何分配数据和处理能力?如何做到快速响应,同时还能保证系统的安全可靠?如何将原来的直接的云+终端的模式迁移到边缘计算模式?这些问题都是需要去解决的,本书的目的其实也是提出一些技术和方法,去帮助大家解决边缘计算设计和落地到实际项目中的问题。