2023 云原生编程挑战赛火热报名中!导师解析 Serverless 冷启动赛题

简介: 2023 云原生编程挑战赛火热报名中!导师解析 Serverless 冷启动赛题

大赛介绍


第四届云原生编程挑战赛,是由阿里云主办,云原生应用平台、天池联合承办的云原生著名品牌赛事。


自 2015 年开始,大赛已经成功举办了八届,并从 2020 年开始升级为首届云原生编程挑战赛,共吸引了超过 53000 支队伍,覆盖 10 余个国家和地区。


本届大赛将深度探索 Serverless、容器、微服务三大热门领城,为热爱技术的年轻人提供一个挑战云原生技术问题的舞台,希望用技术为全社会创造更大价值。大家赶快参赛吧!


丰厚奖励等你报名


  • 瓜分 ¥360,000 元现金大奖
  • 三大热门赛道任意选择
  • 提交本赛道评测即可获得阿里云定制保温杯一个


大赛活动,精美好礼送不停


【体验有奖】大赛动手体验活动

活动期间(7.17-8.25),参与函数计算动手实验活动并完成任务,即可领取阿里云定制精美鸭舌帽一个!邀请好友参与活动,参加 pk,还有机会获得 iphone 14 pro、大疆无人机等超级大奖!礼品有限,先到先得,快来体验吧!

点击立即参加:https://developer.aliyun.com/adc/series/FC1


【有奖训练营】

邀请赛道 1 明星导师为您深度解析赛题内容和难点,0 基础入门,快速 get 参赛技能。完成打卡任务即可领取官方定制荣誉证书和阿里云定制精美鸭舌帽!

点击立即报名参营:https://developer.aliyun.com/trainingcamp/2fa0d6a98ffb4b71a65b3034cc8ca5d7


以下赛道可任选 1 个或全部扫码报名:



赛道一:针对 Serverless 场景冷启动问题的弹性优化


赛题背景

随着云计算技术的快速发展,Serverless 计算作为一种新的计算范式,正在逐步取代传统的 Serverful 计算模式。Gartner、Forrester 等研究报告显示,越来越多的开发者正在转向 Serverless 计算,这种趋势预示着它可能成为未来云计算的主流范式。Serverless 计算作为一种全新的系统架构,为应用程序开发提供了更为高效和低成本的解决方案。其三大核心优势,即弹性伸缩、按需付费以及聚焦业务降低 OPS,使其在云计算领域获得了广泛的认可。开发者可以通过 Serverless 从繁琐的资源管理和性能优化中解脱出来,就像数十年前汇编语言演变到高级语言的过程一样,让工程师的生产力再次发生变革。


与此同时,得益于硬件技术的飞速进步和算法的不断优化,大模型的人工智能技术已经在各行各业得到了广泛应用。大模型 AI 能处理和分析大规模复杂的数据,从而显著提升工作效率和决策能力。例如,AI 生成内容(AIGC)已经能够自动生成新闻报道、科技资讯等各类文章,甚至创作音乐和绘画作品,预示着 AIGC 将成为数字内容创作的重要手段。


在这样的背景下,云原生技术在面向 AI 场景的生产级解决方案中扮演着越来越重要的角色。然而,对于 AI 应用,其请求和后端资源调度的需求远高于传统的微服务应用。这种差异主要源于AI应用对资源的消耗特别大。例如,一块 A10 GPU 卡启动的 Stable Diffusion 服务一次只能处理个位数的文本绘图请求。一旦请求过多,服务就可能出现超时情况。并且,AI 应用通常有大镜像,启动时间较长。这些都对精准的资源调度和实例匹配提出了挑战。因此,尽可能地复用应用实例变得非常重要,否则频繁地创建新实例将极容易引发请求超时的问题。


下面分别对 Kubernetes 中 Pod 的启动过程和 FaaS 的函数冷启动过程进行解构,可以看看里面涉及到的具体过程:


  • Kubernetes 中 Pod 启动过程拆解

Kubernetes Pod 冷启动过程


  • FaaS 函数的启动过程

FC 函数冷启动过程


已有的 Serverless 产品解决方案,如阿里云的 ASK(Serverless Kubernetes)[1]和函数计算 FC[2],都支持资源的按需调度和使用,可以根据应用实际需要资源自动伸缩。然而,在伸缩过程中,资源分配会带来冷启动问题,这意味着应用实例的启动和初始化时间可能会长达几分钟。因此,Serverless 框架会预热应用实例,并在调用结束后保留部分实例以降低冷启动的几率。然而,维持更多的空闲实例会增加资源成本。因此,如何在资源成本和请求延迟之间取得平衡,是 Serverless 技术在未来发展中需要继续探索和解决的问题。在 AI 场景下资源成本与请求延迟 RT 的平衡这个诉求更加的明显,因此我们需要一个 AI 场景的 Serverless 弹性链路优化的技术创新。


题目解析

Serverless 计算服务为用户提供了一种无需管理服务器或其他基础设施的计算方式,使得用户可以更专注于业务代码的开发。在 Serverless 框架中,计算资源的准备以及用户代码的弹性、可靠运行都由框架负责。用户无需预先配置服务器资源,只需按需付费,避免了因闲置资源产生的额外费用。实现这种模式的背后,依赖于一套调度策略、容量预估和冷启动优化技术,这套技术能够有效地降低应用的响应时间,同时尽可能地减少资源使用。因此,要达到这样的效果,我们需要在调度、容量规划和冷启动加速这三个方面进行深入的研究和优化。


在 Serverless 架构中,通常需要一个网关来接收并转发流量,将请求转发到后端实例。同时,还需要一个 Scaler 模块来控制后端实例的数量,以便尽可能地使实例数与请求资源的需求相匹配。因此,Scaler 模块可以说是 Serverless 架构的核心组件,这个模块的智能程度将直接决定 Serverless 平台的成本控制水平。例如,Kubernetes 社区的 HPA[3] 和阿里云容器服务的 AHPA[4] 都是典型的 Scaler 模块的实现方案。


AI 场景下的流量和应用实例的调度匹配


本赛题的主要任务是要求选手实现一个 Scaler 模块的功能。在实际生产环境中,一个 Scaler 模块需要解决许多工程问题以实现弹性伸缩的功能,但是这些具体的工程问题往往与实际的运行环境和技术栈有关。因此,本赛题通过仿真框架屏蔽了因环境而异的复杂工程细节,让选手可以专注于 Scaler 模块的核心逻辑。


如下图所示,选手主要目标是实现 Scaler 模块的功能。在本赛题的设计中,Scaler 模块会需要提供两个接口的服务,并且仿真框架也会提供三个接口供 Scaler 调用。



选手需要实现一个遵循 gRPC 协议的 Scaler,Scaler 是一个 grpc 的服务, 需要实现对外的两个接口,包括实例申请接口 Assgin 和 实例释放接口 Release。选手基于 Scaler[5]进行二次开发,并将开发完成的 Scaler 镜像上传到 ACR(阿里云容器镜像服务) 。镜像部署至 ASK(阿里云无服务器 Kubernetes 容器服务[6])做仿真验证。数据集内容是一条一条的请求描述,请求描述中包含目标 slot 的规格、以及请求执行时间等信息。验证框架会自动调用选手 Assign/Release 来为请求分配资源,执行结束后返回测试结果。当然,Scaler 是一个需要细化完善的 grpc 的服务, 除了对外提供的 Assgin 和 Release 接口, 自身也需要有其他一些服务功能,比如定时逻辑实现对应用实例生命周期管理等。


解题思路

在请求到来时,Assign 过程中没有可用的实例时,会产生冷启动时延。这种时延主要由创建实例的时间和初始化应用的时间构成。如果提前创建了实例,甚至提前初始化了应用,就能减少本次冷启动的延迟。


在 Assign 流程的过程中,如果正在等待创建 Slot(CreateSlot)或初始化实例(Init)时,出现了新的空闲实例,那么可以立即使用这个新的空闲实例,而不需要等待冷启动的完成,从而减少 Assign 的延迟。


在 Idle 过程中,如果保留实例而不释放,那么在下一次调用时可以重用这个实例,但是这会增加实例的使用时间。


你可以设计一个合理的算法,使得性能和成本达到更好的平衡,比如根据不同的请求执行时间和频率,实例的释放时机可能会有所不同。


  • 当同类型请求密集时:可以保留实例,不立即释放,降低冷启动的时延。
  • 当同类型请求稀疏时:可以立即释放实例,避免实例长时间闲置带来的资源浪费。


但是,在合适的情况下采取合适的策略往往需要选手对请求的分布状况有所判断。选手可以通过规则性的编程来实现这一目标,当然也可以通过设计自己的机器学习算法来识别数据集的周期性,进而依据预测结果来采取不同的措施。需要强调的是,并不是所有的数据集都具有明显的周期性,选手的算法需要具备较强的普适性。


总结

Serverless 正像一股新生力量,引领云计算的发展方向。它为我们带来了新的思维方式和工作方式,让我们可以更快、更好地创新和交付我们的产品和服务。因此,理解并掌握 Serverless 技术,无疑是我们每一个云原生技术从业者和爱好者应该具备的能力。在本次挑战赛中,我们期待你能够发挥出你的创新精神和技术才能,来解决我们为你准备的挑战。期待各位选手都取得自己满意的成绩!


相关链接:

[1] ASK(Serverless Kubernetes)

https://help.aliyun.com/zh/ack/serverless-kubernetes/product-overview/ask-overview

[2] 函数计算 FC

https://www.aliyun.com/product/fc

[3] HPA

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

[4] AHPA

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/ahpa-overview-1

[5] Scaler

https://github.com/AliyunContainerService/scaler

[6] 无服务器 Kubernetes 容器服务

https://help.aliyun.com/zh/ack/serverless-kubernetes/product-overview/ask-overview


点击此处,立即报名!

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
运维 监控 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
国诚投顾携手阿里云,依托Serverless架构实现技术全面升级,构建高弹性、智能化技术底座,提升业务稳定性与运行效率。通过云原生API网关、微服务治理与智能监控,实现流量精细化管理与系统可观测性增强,打造安全、敏捷的智能投顾平台,助力行业数字化变革。
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
|
运维 监控 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
通过与阿里云深度合作,国诚投顾完成了从传统 ECS 架构向云原生 Serverless 架构的全面转型。新的技术架构不仅解决了原有系统在稳定性、弹性、运维效率等方面的痛点,还在成本控制、API 治理、可观测性、DevOps 自动化等方面实现了全方位升级。
|
弹性计算 运维 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生Serverless实践
简介: 通过与阿里云深度合作,国诚投顾完成了从传统 ECS 架构向云原生 Serverless 架构的全面转型。新的技术架构不仅解决了原有系统在稳定性、弹性、运维效率等方面的痛点,还在成本控制、API 治理、可观测性、DevOps 自动化等方面实现了全方位升级。
281 1
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
907 12
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
1039 12
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
存储 人工智能 Cloud Native
NAS深度解析:面向云原生应用的文件存储
本文深入解析了面向云原生应用的文件存储NAS,由阿里云专家分享。内容涵盖Cloud Native与AI浪潮下的技术创新,包括高性能、弹性伸缩、成本优化及数据安全等方面。针对云原生应用的特点,NAS在Serverless生态中不断演进,提供多种产品规格以满足不同需求,如极速型NAS、归档存储等,确保用户在高并发场景下获得稳定低延时的存储体验。同时,通过优化挂载参数和容器访问策略,提升整体性能与可用性。
819 11
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
1265 3
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####

热门文章

最新文章

相关产品

  • 函数计算
  • 推荐镜像

    更多
  • DNS