云原生新边界——阿里云边缘计算云原生落地实践,Java开发入门与实战

news/2024/9/6 6:08:04 标签: 面试, java, 后端

首先,我们从直观感受上看看什么是边缘计算。随着 5G、loT、音视频、直播、CDN 等行业和业务的发展,我们看到一个行业趋势,就是越来越多的算力和业务开始下沉到距离数据源或者终端用户重近的地方,从而来获得很好的响应时间和降低成本;这明显区别传统的中心式的云计算模式。并越来越被广泛应用于汽车、农业、能源、交通等各行各业。

3.png

再从 IT 架构上看边缘计算,可以看到它具有明显的按照业务时延和计算形态来确定的分层结构,这里分别引用 Gartner 和 IDC 对边缘计算顶层架构的解释∶ Gartner 将边缘计算分为"Near Edge"、“Far Edge”、“Cloud"三部分,分别对应常见的设备终端,云下 IDC/CDN 节点,以及公共云/私有云;而 IDC 则将边缘计算定义为更直观的"Heavy Edge”、"Light Edge"来分别表示数据中心维度,和低功耗计算的端侧。从图中我们可以看到分层结构中,层层相依。互相协作。

这种定义也是现在业界对边缘计算和云计算关系所达成的一个共识。说完背景、架构,我们再看看边缘计算的趋势;我们尝试从业务、架构和规模三个维度去分析边缘计算的三大趋势:

第一,Al、loT 与边缘计算的融合,会有种类越来越多、规模越来越大、复杂度越来越高的业务运行在边缘计算场景中,从图上我们也能看到一些非常震撼人心的数字。

第二,边缘计算作为云计算的延伸,将被广泛应用于混合云场景,这里面需要未来的基础设施能够去中心化、边缘设施自治、边缘云端托管能力,同样图上也有部分引用数字。

第三,基础设施的发展将会引爆边缘计算的增长,随着 5G、loT、音视频行业的发展,边缘计算的爆发是理所当然,去年疫情期间在线直播、在线教育行业的爆发式增长也是一个例子。

随着架构的共识形成,在落地过程中我们发现,边缘计算的规模、复杂度正逐日攀升,而短缺的运维手段和运维能力也终于开始不堪重负,那么如何去解决这个问题呢?

云和边缘天然就是不可分割的有机整体,"云边端一体"的运维协同是目前比较能形成共识的一种方案。而作为云原生领域的从业人员,我们试着从云原生的角度来思考和解决这个问题;试想,如果"云边端一体"有云原生的加持,将会更好的加速云边融合进程。

4.png

在这个顶层架构设计下,我们抽象出了云边端协同的云原生架构:在中心(云),我们保留了原汁原味的云原生管控和产品化能力,通过云边管控通道将之下沉到边缘,使海量边缘节点和边缘业务摇身一变成为云原生体系的工作负载,通过服务流量和服务治理更好的和端进行交互;从而完成业务、运维、生态的一体化;而通过边缘云原生,我们可以获得和云上一致的运维体验,更好的隔离性,安全性以从及效率。产品落地就顺师理成章了许多。

接下来我们介绍阿里云在商业化和开源上的边缘计算云原生实践。

5.png

阿里云 ACK@Edge 主打“云端标准管控,边缘适度自治”的服务理念;“云边端”三层结构分层明显,能力协同。第一层是中心的云原生管控能力,提供标准的云原生北向接口供上层业务集成,诸如城市大脑、工业大脑、CDN PaaS,loT PaaS 等;第二层是云边运维管控通道,有多规格、软硬多链路方案来承载云边下沉管控流量和业务流量;再往下就是关键的边缘侧,我们在原生的 K8s 能力基础上叠加了类似:边缘自治、单元化管理,流量拓扑,边缘算力状态精细化检测等能力;边云协同,从而构成了一个完整的云边管控闭环;目前,这套架构已经广泛用于 CDN、loT 等领域。

那么边缘容器到底需要哪些核心能力和业务目标呢,图中所示包括∶ 四个能力,五个目标;四个能力是边缘算力管理、边缘业务容器化管理、边缘业务高可用支持和最终要实现的边缘云原生生态;从而实现边缘算力可接入、可运维,业务可管理、编排,服务高可用,业务有生态。下面对这些核心能力的设计做简单阐述。

阿里云边缘容器产品 ACK@Edge 通过内置 SD-WAN 能力实现云上云下网络互联,业务流量互通,大大提升云边协同效率和稳定性、安全性;而通过云端资源对接,实现了云上云下的资源弹性互通,提升了边缘场景下的业务弹性能力。

6.png

第二个核心能力是边缘自治能力,在云边一体架构中,运维协同是一项重要的能力,但是通常受限于云和边缘之前的网络条件,边缘需要适当的自治能力来保证业务的连续性和持续稳定运行,换句话讲就是边缘资源和边缘业务能够在脱离云端管控的条件下继续完成业务的全生命周期管理,包括创建、启停、迁移、扩缩容等。

7.png

第三个异构资源的支持比较好理解,边缘计算区别于传统中心云计算的一个标志性特征就是计算资源、存储资源种类多样、异构明显。ACK@Edge 目前支持 arm x86 cpu 架构,支持 linux、windows 操作系统,支持将 linux 应用和 windows 应用混合部署,来很好地解决边缘场景资源异构问题。

通过配合阿里云容器镜像服务,提供在边缘场景下的多地域交付能力,能够支持多种云原生制品的多地域交付,包括容器镜像,应用编排资源包等。

8.png

这里还要和大家同步一个信息,就是上述所有核心的边缘容器能力我们都开源在边缘容器平台项目 OpenYurt 中,OpenYurt 是 CNCF 的边缘容器官方项目,是一个延伸原生 Kubernetes 到边缘计算的智能开放平台项目。

作为 ACK@Edge 的核心框架,已经服务了超百万容器实例规模,并被广泛应用于主流的边缘计算场景中;在介绍完商业和开源实践后,还有几个案例和大家分享:

9.png

第一个,是盒马鲜生基于边缘云原生实现的“人货场”数字化融合转型,通过云原生体系将多种类型的边缘异构算力统一接入、统一调度,包括∶ENS(阿里公共云边缘节点服务)、线下自建边缘网关节点, GPU 节点等。获取了强大的资源弹性和业务混编带来的灵活性;并通过 ACK@Edge 提供的边缘云原生 Al 解决方案,构建云、边、端一体化协同的天眼 Al 系统,充分发挥了边缘计算就近访问,实时处理的优势,轻松实现全方位的降本提效,门店计算资源成本节省 50%,新店开服效率提升 70%。

10.png

第二个是我们在一家视频网站客户的案例,使用 ACK@Edge 来管理跨 region、跨类型、跨地域的边缘算力,用于部署视频加速服务,通过对异构资源的支持,客户在边缘计算场景获得了强大的资源弹性能力;有一个数字分享给大家,通过边缘容器的弹性和异构资源管理能力,能够节省 50% 左右的成本。

![11.png](https://img-blog.csdnimg.cn/img_convert/cb

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

35f166a2608e31f06ef60c993015b7.png)

第三个案例是 ACK@Edge 在 loT 智慧楼宇项目中的落地,其中 loT 网关设备作为边缘节点托管在 ACK@Edge 的云端管控,网关设备上的业务和楼宇的智能设备交互;网关和端设备的运维都统一收编到中心云,效率大大提升。

在和社区同学的充分讨论下,OpenYurt 社区也发布了 2021 roadmap,欢迎有兴趣的同学来一起贡献。

OpenYurt 社区 2021 roadmap:


http://www.niftyadmin.cn/n/1672415.html

相关文章

解决Selenium弹出新页面无法定位元素问题(Unable to locate element)

Python 2.7 IDE Pycharm 5.0.3 环境细节详见PythonSeleniumPILTesseract真正自动识别验证码进行一键登录 对于同一页面无法定位元素问题请见姊妹篇解决网页元素无法定位(NoSuchElementException: Unable to locate element)的几种方法 只解决一个问题…

ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework

原文:ASP.NET MVC5 EF6 入门教程 (5) Model和Entity Framework文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag 下一节:ASP.NET MVC5 EF…

Quartz定时器时间格式设置

quartz定时任务时间设置描述 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 0-59 , - * / 2 分 是 0-59 , - * / 3 小时 是 …

An attempt by a client to checkout a Connection has timed out

2019独角兽企业重金招聘Python工程师标准>>> An attempt by a client to checkout a Connection has timed out: 客户端尝试获取连接connection连接超时. 当连接池的连接用完时,客户端调用getConnection()后,等待获取新连接的时间,超时后将抛出该异常。 …

云服务器 java+mysql+tomcat,java程序设计与实践教程第二版清华大学

【1】配置环境变量: vi /etc/profile 打开配置文件,添加以下信息 export JAVA_HOME/usr/local/java/jdk1.8.0_141 export JRE_HOME${JAVA_HOME}/jre export CLASSPATH.:JAVAHOME/lib:{JAVA_HOME}/lib:JAVAH​OME/lib:{JRE_HOME}/lib export PATHJAV…

Selenium+PhantomJS自动续借图书馆书籍(下)

Python 2.7 IDE Pycharm 5.0.3 Firefox 47.0.1 至于具体Selenium及PhantomJS使用等具体看我前一篇博客 PythonSeleniumPILTesseract真正自动识别验证码进行一键登录 接着上篇 SeleniumPhantomJS自动续借图书馆书籍(上) 接下来实现方案二的构思&a…

msysGit git bash 配置

2019独角兽企业重金招聘Python工程师标准>>> ls中文乱码,目录不显示颜色: vi /etc/git-completion.bash 添加别名 alias lsls --show-control-chars --colorauto vim中文乱码: vi /share/vim/vimrc 添加 set fileencodingsutf8 vi…

usermod命令、用户密码管理、mkpasswd命令

usermod命令 usermod [options] user_name usermod :可用来修改用户帐号的各项设定 [options] -a|--append ##把用户追加到某些组中,仅与-G选项一起使用 -c|--comment ##修改/etc/passwd文件第五段comment -d|--home ##修改用户的家目录通常和-m选项一起使用 …