阿里云边缘容器云帮助AI推理应用快速落地

简介: 2024全球分布式云大会·北京站,阿里云徐若晨演讲内容分享

近日,阿里云技术专家徐若晨在全球分布式云大会上,分享了《边缘容器云助力AI推理高效落地》的主题演讲,分享了阿里云边缘容器云如何助力开发者实现更快速的AI推理应用的迭代和部署。此外,他还分享了边缘AI推理应用在实际业务中的应用案例。


终端算力上移 云端算力下沉


客户在边缘部署时面对的挑战包括:首先,构建自有边缘机房的时间周期长,资本成本高,且常常需要处理设备的迁移与淘汰,这使得相对于传统数据中心,边缘机房的服务水平协议(SLA)表现较为逊色。其次,由于边缘环境受到物理条件的限制,单个集群的规模往往较小,最多包含几十到几百台服务器,导致业务的扩展性不够强。尽管如此,由于需要部署较多这样的小规模集群,并且它们通常具有明显的地域特性,因此这大大增加了集群维护的成本和复杂度。


image.png


边缘云给客户带来的价值有这些:首先是提升了交付效率,做到秒级算力交付;其次是降低了成本,可以按量付费,弹性扩容;另外可运维性也有较大的提升。其实本质上来说,这几方面,都是上云带来的价值。那么边缘云由于其广覆盖,低延迟的特点,可以使终端用户获得时延更低的算力资源,从而提升终端用户的体验。一方面,通过终端计算的上移,去获得更多的算力,提升业务的灵活性。另一方面通过云端算力的下沉,来降低成本、缩短时延、提升用户体验。


云—边—端模式的优势


对比中心Region来看,边缘云实际是一个云端算力下沉的过程。将更多的服务放在边缘上运行。分布式部署,来应对高并发场景,卸载中心服务器的负荷。流量在边缘云这一层进行收敛,可以有效的降低中心Region的带宽,从而降低成本。边缘云本身的特点是离用户更近,时延更低,更加适合一些交互性更强的业务。


对比终端程序来看,边缘云实际是一个终端算力上移的过程。将更多的终端服务跑在边缘上,实现终端瘦身。在这个过程中,开发者可以获得更加标准化的运维方式,做到云边一致的体验,使得应用程序可以更高速的迭代,减少终端发版。边缘上丰富的生态及常用的中间件,可以使应用程序的实现更加灵活。


此外还可以提供专属的ARM阵列、 GPU硬件等异构资源,使得应用程序的性能可以进一步提升。例如当前所说的AI推理等应用,它就需要GPU硬件资源,跑在终端上的可能就比较小。


边缘容器云技术架构帮助AI推理应用高效开发和部署


从下往上看,最下面这一层是资源建设和运维的平台,主要作用是将各种物理资源通过统一的模型纳管到系统中来,通过这一层去向上提供统一的界面。另外一些基础资源的运维也是在这里。


往上是异构资源纳管,简单来说就是要将各种资源接入k8s集群中去,无论是ARM阵列,带有GPU的服务器等,在K8s中都体现为一个Node。


由于前面提到的边缘资源的规模很大,在一个K8s集群中无法容纳,所以再往上是集群的管理和融合调度,它对上提供的是一个标准化的k8s界面。使用户可以通过一个K8s集群,将应用部署到所有的边缘节点中,而不需要考虑太多分布式的逻辑,是保持云边一致体验的重要组成部分。


再往上是边缘特性的增强,边缘就要有边缘的特点,突出边缘的优势。结合边缘云的特性,我们做了域名服务导出,边缘数据集分发,镜像加速,工作负载增强,以及超大规模的服务网格,让用户可以更方便的使用边缘的能力。


这些能力可以以K8s的形式使用,也可以通过我们应用管理功能来整合使用,用户可以自主选择。一般来说,如果用户有自建的发布管控系统,可能对接我们的k8s界面比较多。如果用户更多的注重于应用开发,暂无精力投入建设自己的发布管控系统,直接用我们的应用中心的能力也是可以的。


最上面是能力开放层,本质是期望用户、开发者,能基于下层提供的能力,通过适合自己的方法,把业务跑起来。助力AI推理应用的高效开发、部署,发挥边缘计算的价值,就会重点用到上面介绍的这几层能力。


image.png


边缘数据集让应用开发者高效使用模型和数据


通常一个AI推理应用,它是需要一个模型文件的,这个模型文件有不同大小,需要在推理应用的进程中读取模型。可以说,模型文件是AI推理应用必不可少的部分。针对这一特点,我们设计了边缘数据集分发功能。提前传到我们的边缘协同存储EOS或者是中心对象存储OSS上的模型,可以通过简单的来源配置,制作成我们定义的边缘数据集。它可以随你的容器分发到不同的边缘节点,依托阿里云边缘云团队长期技术积累和资源优势,让数据集可以做到高效、安全、迅速的分发。通过边缘数据集分发能力,AI推理应用的开发者,可以便捷的在自己的程序中读取、使用模型和数据,更加专注于应用的开发,提升效率。


image.png


开发者只需关注一个租户集群即可实现全域算力管理


通过前面提到的多集群管理、融合调度、异构资源管理,我们为用户提供多租的虚拟K8s集群。在租户K8s这个层面上,他是多租并且是硬隔离的,不会因为其他用户的异常操作而影响到你。一般为了管理不同地域的资源,通常需要使用多个K8s集群,但是在我们这个架构下,开发者只需要关注一个租户集群,把自己的Pod创建在自己的租户集群中,我们的融合调度和多集群同步功能就会将Pod同步分发到众多的边缘节点。开发者不需要投入过多的精力去关注多集群管理,集群规划等细节,这些我们替他搞定。


此外,我们还支持用户定义的资源使用策略,不管是关注时延,还是关注成本,都可以自己定义。通过全域算力覆盖的能力,我们希望能让开发者体验到云边体验的一致,可以更聚焦于自己的应用业务逻辑。


image.png


边缘镜像服务提高开发者部署应用的效率


部署的过程中,会涉及到镜像使用,接下来介绍边缘镜像加速能力首先我们的边缘镜像仓库和应用中心的账号体系是打通的,也就是说在应用中指定了边缘镜像地址之后,无需单独维护用户名密码的配置,我们会自动在应用中注入,开发者以外的人看到的还是一个私有镜像仓库,开发者感受到的是一个免密拉取的仓库。


其次依托边缘云在文件分发场景的长期积累和沉淀,我们构建了镜像快速分发到边缘的能力,以及镜像的主动预热能力,以支撑超大流量规模的并发,为扩容提速。


此外,我们的镜像仓库还支持与各类DevOps流水线集成,优化开发者使用体验。还是那句话,我们期望开发者把应用部署到边缘,去获取云边端架构带来的收益,同时减少因为应用部署位置差异带来的负担。


image.png


域名导出服务方便开发者进行简单部署提高应用访问体验


应用部署完成之后,接下来需要考虑应用如何提供给终端用户访间,基于这样的诉求,我来介绍一下我们的域名服务导出能力。


用户部署完应用之后,他需要创建一个4/7层负载均衡,以对外提供服务,然后要拿着这个负载均衡的公网地址,去自己的DNS服务上加一条配置。然后还需要描述下哪些区域的终端用户去访问哪些服务器地址。如果一个地区有多个节点或者服务,还得想办法描述这个IP的能力权重,比如有的ip后面服务能力强,有的IP后面服务能力不强。这些操作对 CDN的专家来说,那是轻车熟路。但是这对于一个AI推理应用的开发者来说,就稍微有点门槛,要关心的东西太多了。


而现在,直接使用我们现在的域名服务导出能力,只要把域名权威托管或者CNAME解析过来,我们就可以联动部署去给你自动做就近解析。因为你是通过边缘容器云部署的,IP有哪些,我们可以直接给你添加到边缘云的解析服务中;ip的运营商属性是什么,我们可以直接给你添加到边缘云的解析服务中;IP的能力是多少,能跑多少QPS,我们可以基于后面的副本数转换,权重信息可以给到边缘云的解析服务中;服务的能力跑高了,负载均衡的监控数据我们也对接到边缘云的解析服务中,他可以自动做切量和水位控制。


不需要关注过多细节,只需要很简单的几步,你就可以具备一个全网覆盖的,可以就近访问的AI推理应用。开发者关心的东西少了,创新的热情才会进一步进发,促进AI生态的繁荣。


image.png


业务数据可观测,自定义弹性扩缩容


应用跑起来了,运行过程中,开发者会需要关注考虑自身业务的观测数据,比如业务的QOS的统计,任务的处理数量等,所以这里我也介绍一下我们可观测和弹性伸缩能力。


对接开源的标准,我们支持Prometheus格式的metrics采集,并且支持自定义给你投递到对应的服务器上。比如你可以阿里云控制台开一个Prometheus实例,然后把地址配置到我们这,我们就可以给你把数据投递过去,当然开发者自建的Prometheus服务地址也是可以的,这个没有限制。然后可以在我们这定义一些弹性伸缩的规则,比如最少多少个副本,最多多少个副本,什么指标到达什么水位的时候扩容,什么指标低至什么水位的时候缩容,可以是你自定义的指标采集,也可以是我们内置的基础指标例如CPU、内存、GPU利用率等。


image.png


边缘容器云助力边缘AI推理的业务实践


开发者通过我们的边缘应用管理,可以便捷的使用到这些能力。上面提到的边缘数据集分发、全域算力覆盖、边缘镜像加速、服务域名导出、可观测和弹性伸缩,构成了边缘容器云支撑AI推理应用高效落地的一个最佳实践,可以极大的降低了AI推理应用在边缘落地的门槛。


让我们来看一个实际运行在我们边缘容器云平台上的业务案例。这是一个手机应用内机器人,它允许用户通过多轮的对话交互来在边缘执行推理任务,最终生成操作意图。这个意图随后被上传到中心服务器,以执行全局业务查询逻辑,紧接着操作将被下发至用户终端执行具体任务,如帮助用户完成特定动作,并将结果展现给用户。在这个业务案例的实施过程中,我们关键地利用了先前提及的域名服务导出的就近服务功能、边缘数据集分发、以及边缘镜像加速等核心能力。


image.png


我们的目的是简化 AI 推理应用在边缘的部署过程,以促进边缘计算与 AI 技术生态系统的共同繁荣。我们提供的解决方案能够让开发者能够迅速而轻松地上线他们的应用。想象一下,不久的将来,仅需一声指令,开发者助手机器人便可帮你将应用顺利部署至边缘容器云平台。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
5天前
|
存储 安全 数据安全/隐私保护
【Docker 专栏】Docker 容器化应用的备份与恢复策略
【5月更文挑战第9天】本文探讨了Docker容器化应用的备份与恢复策略,强调了备份在数据保护、业务连续性和合规要求中的关键作用。内容涵盖备份的重要性、内容及方法,推荐了Docker自带工具和第三方工具如Portainer、Velero。制定了备份策略,包括频率、存储位置和保留期限,并详细阐述了恢复流程及注意事项。文章还提及案例分析和未来发展趋势,强调了随着技术发展,备份与恢复策略将持续演进,以应对数字化时代的挑战。
【Docker 专栏】Docker 容器化应用的备份与恢复策略
|
5天前
|
监控 Kubernetes Docker
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
【5月更文挑战第9天】本文探讨了Docker容器中应用的健康检查与自动恢复,强调其对应用稳定性和系统性能的重要性。健康检查包括进程、端口和应用特定检查,而自动恢复则涉及重启容器和重新部署。Docker原生及第三方工具(如Kubernetes)提供了相关功能。配置检查需考虑检查频率、应用特性和监控告警。案例分析展示了实际操作,未来发展趋势将趋向更智能和高效的检查恢复机制。
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
|
4天前
|
弹性计算 负载均衡 容灾
应用阿里云弹性计算:打造高可用性云服务器ECS架构
阿里云弹性计算助力构建高可用云服务器ECS架构,通过实例分布、负载均衡、弹性IP、数据备份及多可用区部署,确保业务连续稳定。自动容错和迁移功能进一步增强容灾能力,提供全方位高可用保障。
16 0
|
5天前
|
弹性计算 API Python
阿里云百炼应用之流程编排
阿里云通义百炼平台流程编排使用教程。
|
5天前
|
存储 安全 数据库
【Docker 专栏】Docker 容器内应用的状态持久化
【5月更文挑战第9天】本文探讨了Docker容器中应用状态持久化的重要性,包括数据保护、应用可用性和历史记录保存。主要持久化方法有数据卷、绑定挂载和外部存储服务。数据卷是推荐手段,可通过`docker volume create`命令创建并挂载。绑定挂载需注意权限和路径一致性。利用外部存储如数据库和云服务可应对复杂需求。最佳实践包括规划存储策略、定期备份和测试验证。随着技术发展,未来将有更智能的持久化解决方案。
【Docker 专栏】Docker 容器内应用的状态持久化
|
6天前
|
存储 Prometheus 监控
【Docker 专栏】Docker 容器内应用的调试与故障排除
【5月更文挑战第8天】本文探讨了Docker容器内应用的调试与故障排除,强调其重要性。方法包括:通过日志排查、进入容器检查、使用监控工具及检查容器配置。常见问题涉及应用启动失败、性能问题、网络连接和数据存储。案例分析展示了实战场景,注意事项提醒避免不必要的容器修改、备份数据和理解应用架构。掌握这些技能能确保Docker应用的稳定运行和性能优化。
【Docker 专栏】Docker 容器内应用的调试与故障排除
|
7天前
|
消息中间件 人工智能 监控
|
7天前
|
前端开发 API 数据库
【Docker专栏】Docker Compose实战:编排多容器应用
【5月更文挑战第7天】Docker Compose是Docker的多容器管理工具,通过YAML文件简化多容器应用部署。它能一键启动、停止服务,保证开发、测试和生产环境的一致性。安装后,创建`docker-compose.yml`文件定义服务,如示例中的web和db服务。使用`docker-compose up -d`启动服务,通过`docker-compose ps`、`stop`、`down`和`logs`命令管理服务。
【Docker专栏】Docker Compose实战:编排多容器应用
|
7天前
|
监控 安全 数据库
【Docker专栏】Docker容器化应用的最佳实践
【5月更文挑战第7天】本文介绍了 Docker 容器化应用的关键最佳实践,包括使用官方基础镜像、保持镜像精简、以非 root 用户运行容器、安全扫描、编写高效 Dockerfile、环境隔离、使用数据卷、选择合适网络模式、设置资源限制、使用版本标签、容器编排以及文档和自动化部署。遵循这些实践可提升效率和安全性,同时要注意随着技术发展不断更新知识。
【Docker专栏】Docker容器化应用的最佳实践
|
13天前
|
中间件 Linux API
容器改造传统应用的流程
【5月更文挑战第1天】如何评估和执行将传统应用进行Docker化改造的过程。

热门文章

最新文章

http://www.vxiaotou.com