一文读懂边缘计算与云原生结合的前世今生
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
边缘计算的发展趋势
全球产业数字化正在快速的前进,数字化的应用不仅需要强大的算力完成大数据分析和AI建模,还需要满足现场对处理延迟和网络条件的苛刻要求,满足高度的隐私性和安全性要求,以及能在复杂的IT环境中提供统一且一致的管理能力。
产业对边缘计算的核心需求在于适配性、可编程性和可管理性。其技术趋势可以总结为如下几点:
环境标准,基于标准的API环境开发和移植应用程序;
统一编排,由单一的控制面系统管理云和边缘的应用;
可伸缩性,同一套架构能够支持不同性能、不同规模的设施;
去中心化,模糊边缘和中心的边界,实现应用和数据的全局分布式协作。
本文将深入分析边缘计算从容器化到云原生化的技术演进,进一步提升应用的开发体验和敏捷性。
边缘计算的容器化
边缘计算引入容器化技术能带来以下优势:
解耦运行依赖:容器模式实现了依赖封装,不在需要本地安装;
标准化应用分发:统一使用标准的容器格式和容器仓库;
扩展应用类型:边缘平台使用统一的容器控制面接口。
下图是LFEdge基金会开源项目“Baetyl”的1.0版本架构图,展示了一个典型的容器化边缘:
上图左侧是Baetyl的主进程,该进程位于容器外直接运行于本地操作系统上,负责控制Docker。中间位置是多个Baetyl功能服务,这些服务均以容器的形式运行于Docker内。尽管服务的具体功能、使用资源和开发语言都不相同,但Baetyl只需以标准容器方式启动和监控即可。
容器化已经是主流边缘计算产品的默认选择,但随着生产环境的逐渐增多,也暴露出了不足:
单机限制:Docker缺乏有效的多机通信网络,这限制了边缘的总算力规模;
编排限制:Docker Compose缺乏多实例和跨机器连接能力,这限制了对复杂业务的描述能力;
更新限制:位于容器外的主程序仍然需要手工升级,这限制了无人值守设备的普及。
管理限制:边缘应用的定义和管理模式与云应用分离,这限制了业务的敏捷性。
为解决上述问题,边缘计算平台开始走向与云原生相结合的模式。
边缘计算在本地设备上的云原生化
云原生模式的关键技术是对底层设施的切换,通过使用Kubernetes带来了更精细的应用组织能力。
下图是Baetyl 2.0的架构图,展示了一个典型的云原生边缘:
可见Baetyl 2.0不仅支持了更复杂的Pod应用,还将主程序也一并纳入自身管理,这种变化能带来多方面的收益:
可更新的主程序。新的模式将“系统更新”看作 Baetyl OTA 的一部分,这将让边缘计算设备总能第一时间获得安全更新和Bug修复。
可独立更新的多容器应用。新的模式充分利用的 Kubernetes 丰富的应用定义,并且使每个服务都能被独立的部署和升级,这将让边缘计算拥有更加多样的功能。
对边缘集群的支持。新的模式基于 Kubernetes 的编排能力,可以让一个 Baetyl 实例分布在多个不同的计算节点上,这既能提升总的计算能力,又能获得更高的可用性。
边缘计算在远程管理上云原生化
根据LFEdge的定义,边缘计算会覆盖了多种不同的网络区域,实现与云的无缝融合。
不同的网络之间并没有绝对的边缘和云的区分,而是根据各自的特点承担不同程度的计算负载,双方存在应用和数据的广泛交换。基于这样的原因,边缘计算需要与云计算共享同一套控制面机制,也就是都纳入云原生的形态范围内,统一使用Kubernetes进行管理。
边缘计算的云原生化管理最核心的问题就是如何实现一套在不稳定网络下保证Kubernetes稳定编排的机制。综合业界不同的实现,解决编排的稳定性问题一般分为三个流派。
虚拟节点模式
虚拟节点即为每个边缘计算设备创建一个逻辑上的、虚拟的Kubernetes工作节点。虚拟节点本身与Kubernetes位于同一个网络内以保证稳定的工作负载编排。物理边缘设备接收虚拟节点的数据实现间接的稳定编排。
虚拟节点的缺点本地信息被简单抽象为一个工作节点,难以实现本地负载均衡和故障转移。
同步状态复制
对虚拟节点的一种改造思路是将本地边缘计算系统视为一个单独的Kubernetes集群,边缘直接复制云上etcd的数据。这种方法能够保证本地拥有足够的编排灵活性,其难点在于保证复制的一致性,且etcd属于Kubernetes的“内部数据”不适合直接操作。
Shadow CRD
Custom Resource Definition是Kubernetes社区推荐的功能扩展机制。CRD提供了标准的编程接口,能够在不改变Kubernetes内部机制的前提下引入可自编排的边缘计算节点。Device Shadow是来自物联网的概念,即每一个物理设备(Device)都有对等的影子对象(Shadow)。影子提供了一套完整的一致性数据同步机制。
由Baetyl 2.0引入的Shadow CRD是一种灵活、高效且不损失信息的边云同步技术,未来通过与Operator的结合会进一步提升全局自动化管理的能力。
总结
边缘计算在过去几年经历的极为快速的技术演进,与云原生模式的结合将能让边缘计算更好的吸收云、大数据和AI的成果,并让后者进一步扩展应用范围。
尽管边缘计算仍然处在发展的初期,但随着全球开源社区的蓬勃发展,边缘计算必然会将更多的创新带入各行各业,成为推动智能化时代的关键力量。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-07-08
本文作者:51CTO技术栈
本文来自:“51CTO技术栈”,了解相关信息可以关注“51CTO技术栈”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
区块链:让想象不止于眼前的世界
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 新事物取代旧事物本就是一条不可抗拒的历史规律,当一部分的旧事物的崩塌,也意味着一些新事物将会崛起。 当今世界呈现出的形态,分为A人工智能(Artificial Intelligence)、B区块链(Block chain)、C云(Cloud)、D大数据(Data of big)四者来概括,其中,数据开发、共享和流通是数据资源价值发挥的关键所在。但由于互联网缺乏数据源追溯、数据确权以及个人隐私保护的机制,给数据价值的发掘带来了巨大挑战。 数据生产创造价值 随着移动互联、社交媒体、物联网、云计算、人工智能等数据技术的迅速发展和深入运用,出现的海量、多样和即时的数据。基于对这些数据的分析,人们采取了一系列的决策和行动,从而在消费者市场、流行疾病预测、交通管理等领域取得了引人注目的成绩。这些基于数据价值分析的行为逐步的改变我们的生活、学习、工作的方式,在社会各方面、产业各领域迅速扩展和渗透。数据作为一种有价值的商品正在人类社会中扮演越来越重要的角色。这些有价值的数据,大量存储在各大厂商的云端,构...
- 下一篇
为什么不建议把数据库部署在Docker容器内?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 前言 近两年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗? 这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,小编整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。 目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现。 Docker不适合部署数据库的7大原因 1、数据安全问题 不要将数据储存在容器中,这也是Docker官方容器使用技巧中的一条。容器随时可以停止、或者删除。当容器被rm掉,容器里的数据将会丢失。为了避免数据丢失,用户可以使用数据卷挂载来存储数据。但是容器的Volumes设计是围绕Union FS镜像层提供持久存储,数据安全缺乏保证。如果容器突然崩溃,数据库未正常关闭,可能会损坏数据。另外,容器里共享数据卷组,对物理机硬件损伤也比较大。 即使你要把Docker数据放在主机来...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Red5直播服务器,属于Java语言的直播服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16