Serverless X OpenKruise 部署效率优化之道

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 在追求部署效率的道路中,SAE 正在探索更多维度,更细粒度的解决方案。相信在不久的将来,SAE 的极致弹性,无论在弹性效率,弹性规模,还是智能精准等方面都会大放异彩。

Serverless 作为云计算的最佳实践、云原生发展的方向和未来演进趋势,其核心价值在于快速交付、智能弹性、更低成本。SAE(Serverless应用引擎, https://www.aliyun.com/product/aliware/product/sae)作为首款面向应用的Serverless PaaS 平台,实现了 Serverless 架构与微服务架构的完美结合,使存量应用也可以零代码改造享受 Serverless 赋予的技术红利,目前正在增强多语言特性,向多负载类型多元化场景方向演进。作为 Serverless 平台,高效的应用部署效率无疑是产品的核心竞争力,也是弹性伸缩、智能托管的基础。更快的部署效率,意味着更好的用户体验,更低的用户成本,更极致的弹性能力。SAE 极致弹性项目,力求提升应用端到端启动速度,保证用户在突发场景下的快速扩容效率和系统稳定性 SLA 。

项目背景

SAE 底层使用 Kubernetes 架构,使用神龙裸金属安全容器、 ECI 两种资源池,用户在SAE中运行的应用会映射到 Kubernetes 中相应的资源。

通过采集线上全量 K8s 事件,整个 Pod 的创建生命周期进行分节点、分阶段的耗时统计分析,以神龙节点为例,各阶段比例如图:
image.png
从图中可以看出,整个 pod 的创建生命周期包括调度,拉取并创建 init 容器,拉取用户业务镜像,创建和启动容器等。其耗时主要集中在调度和拉取用户镜像上。究其原因在于 SAE 神龙节点调度链路整体耗时较长,而镜像耗时主要在于拉取镜像与解压镜像的时长,特别是在大容量镜像部署的情况下尤为突出。

实施方案

SAE 团队从长期架构规划,使用场景通用性等多个方面进行方案调研分析, 考虑采用原地升级的部署策略代替重建升级策略,避免部署过程中重调度,减少整体耗时。

所谓原地升级,即只更新 Pod 中某一个或多个容器版本、而不影响整个 Pod 对象、其余容器的升级,而且在升级过程中保证 ip、node 不发生改变。在阿里巴巴内部,绝大部分电商应用在云原生环境都统一使用原地升级的方式做发布,这种原地升级的模式极大地提升了应用发布的效率,节省了调度,分配网络,挂载磁盘以及拉取镜像的耗时。通过分析线上 SAE 用户历史部署记录,发现只更新镜像/程序包部署应用的占大多数,也就是说原地升级能力非常适合在 SAE 产品中落地。
image.png
原地升级给 SAE 带来的优势在于:

1、避免重调度,避免 sidecar 容器重建,整个部署耗时只需要拉取和创建业务容器
2、无需调度,可以预先在 Node 上缓存新镜像,提高弹性效率。
3、可以保持 ip 不变,避免因 ip 变化导致依赖组件如注册中心感知的延时。
4、减少重建 pod 对调度器,注册中心,业务上下游的压力。

与此同时,OpenKruise项目(https://openkruise.io/)已经将原地升级能力通过 CloneSet/AdvanceStatefulSet 贡献于开源。CloneSet 是 OpenKruise 中提供的核心 workload 之一,它主要面向无状态应用,提供了更加高效、确定可控的应用管理和部署能力,支持优雅原地升级、指定删除、发布顺序可配置、并行/灰度发布等丰富的策略,可以满足更多样化的应用场景。CloneSet 与原生 kubernetes workload 功能对比如图:

image.png
SAE 决定采用 CloneSet 作为新的应用负载,一方面借助其原地升级的能力提升应用整体部署效率,另一方面也结合 OpenKruise 开源的力量,共同打造通用标准的无状态应用负载的大规模使用实践。针对于增量应用, SAE 会默认采用 CloneSet 进行用户应用的部署,并结合最大不可用实例数和优雅升级时长来保证发布的流量无损,而对于存量应用, SAE 将采用基于有限状态机的滚动升级进行在线迁移操作。

方案上线后效果显著,在一个月的时间内,已经有近千个应用使用 CloneSet 进行部署,且原地升级次数为重建升级的两倍,部署效率比原生 K8s 提升 42% ,结合镜像缓存,用户部署应用到容器启动在秒级内完成。SAE 后续会对更多 OpenKruise 的高级能力产品化,同时结合用户场景,不断打磨稳定性与最佳实践回馈于开源。
image.png

原生 K8s 部署应用重建升级策略 VS SAE部署应用原生升级策略

未来展望

在追求部署效率的道路中,SAE 正在探索更多维度,更细粒度的解决方案。相信在不久的将来,SAE 的极致弹性,无论在弹性效率,弹性规模,还是智能精准等方面都会大放异彩。
image.png

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
12天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
16天前
|
自然语言处理 搜索推荐 Serverless
基于函数计算部署GPT-Sovits模型实现语音生成
阿里云开发者社区邀请您参加“基于函数计算部署GPT-Sovits模型实现语音生成”活动。完成指定任务即可获得收纳箱一个。活动时间从即日起至2024年12月13日24:00:00。快来报名吧!
|
17天前
|
弹性计算 自然语言处理 搜索推荐
活动实践 | 基于函数计算部署GPT-Sovits模型实现语音生成
通过阿里云函数计算部署GPT-Sovits模型,可快速实现个性化声音的文本转语音服务。仅需少量声音样本,即可生成高度仿真的语音。用户无需关注服务器维护与环境配置,享受按量付费及弹性伸缩的优势,轻松部署并体验高质量的语音合成服务。
|
1月前
|
弹性计算 人工智能 自然语言处理
魔搭社区与函数计算:高效部署开源大模型的文本生成服务体验
在数字化时代,人工智能技术迅速发展,开源大模型成为重要成果。魔搭社区(ModelScope)作为开源大模型的聚集地,结合阿里云函数计算,提供了一种高效、便捷的部署方式。通过按需付费和弹性伸缩,开发者可以快速部署和使用大模型,享受云计算的便利。本文介绍了魔搭社区与函数计算的结合使用体验,包括环境准备、部署应用、体验使用和资源清理等步骤,并提出了改进建议。
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
81 1
|
2月前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。
|
2月前
|
Serverless 数据安全/隐私保护 前端开发
大模型代码能力体验报告之贪吃蛇小游戏《一》:Claude.ai篇 - 生成、预览和快速部署的serverless一条龙
本文介绍了通过Claude.ai生成并优化Web版贪吃蛇游戏的过程,展示了其强大的代码生成功能及用户友好的界面设计。从初始版本的快速生成到根据用户反馈调整游戏速度,再到提供多种实用工具如文件管理、版本控制和一键部署,Claude.ai不仅是一个代码助手,更像是一个全面的serverless开发平台。文中还呼吁国内厂商关注此类技术的发展。
|
2月前
|
运维 监控 Serverless
利用Serverless架构优化成本和可伸缩性
【10月更文挑战第13天】Serverless架构让开发者无需管理服务器即可构建和运行应用,实现成本优化与自动扩展。本文介绍其工作原理、核心优势及实施步骤,探讨在Web应用后端、数据处理等领域的应用,并分享实战技巧。
|
2月前
|
人工智能 弹性计算 自然语言处理
《触手可及,函数计算玩转 AI 大模型》解决方案体验与部署评测
在AI技术快速发展的背景下,大模型正推动各行业的智能化转型。企业为抓住机遇,纷纷寻求部署AI大模型以满足特定业务需求。阿里云函数计算凭借按量付费、卓越弹性和快速交付等优势,为企业提供了高效、安全的AI大模型部署方案。本文将详细介绍阿里云函数计算的技术解决方案及其在文生文、图像生成和语音生成等领域的应用实例,展示其在降低成本、提高效率和增强灵活性方面的显著优势。
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
62 3

热门文章

最新文章

相关产品

  • 函数计算