今年大促季,阿里云容器服务有哪些技术和应用新突破?
联合作者 :志敏,冬岛,戒空,邓隽,佳旭,谢乘胜,元毅,溪洋
在 2022 年的双 11 大促季中,阿里云容器服务(简称 ACK)、容器镜像服务(简称 ACR)除了支撑集团核心系统容器化以及为云上产品提供支撑外,也将内部多年大规模容器技术以产品化的能力输出给众多围绕双 11 的生态公司和 ISV 公司。ACK 和 ACR 每年持续迭代、发布新的产品功能,同时将管理数万个容器集群的规模化能力和最佳实践也透出给客户,通过技术红利支撑来自全球各行各业的容器云。本文会介绍 ACK 和 ACR 的新产品能力和实践助力双 11 场景下的客户和业务。
近年来,降本增效成为了众多企业 IT 管理者关注的重要问题,企业已经到了精益用云的时代。以容器为基础的云原生技术正在深刻地改变企业上云和用云的方式,如何利用云原生技术帮助企业实现降本增效是很多 IT 负责人关注的话题。
每年的阿里巴巴双 11 都是考验各种前沿技术的最佳“实战场”。2021 年双 11,阿里集团就已经实现 100% 应用云原生化,电商微服务、中间件等应用,以及搜索、大数据、 AI 业务全部运行在统一的容器平台基础之上。发展到今年,容器服务在双 11 期间又实现了哪些技术和应用的新突破呢?
本文将介绍 ACK 和 ACR 新产品能力在云原生实践的探索和经验、带来的价值,及其在双 11 中的应用,希望为更多企业提供基于 ACK 和 ACR 实现云原生化演进、实现云上 IT 架构高质量发展的可参考案例。
阿里云容器服务 为双11
多领域提供深度支持在过去的一年,ACK 进行了积极的技术升级,持续提升产品性能和服务能力,通过这些升级带来的云原生红利也直接运用到双 11 中。ACK 在今年双 11 期间稳如磐石,深度参与了众多领域的支撑,包括在阿里巴巴电商核心系统在零售云支撑聚石塔,在物流云支撑菜鸟 CPAAS,在中间件云原生支撑 MSE 和 MQ,在边缘云支持支撑 CDN 和边缘计算,同时支持数据库云原生化等。
关于 AHPA
弹性本质要做的事情是在保证业务稳定性的前提下,提升资源使用率。
当前由于应用本身存在冷启动,应用启动耗时长。而通用的弹性方案也面临一些问题,如直接使用固定实例数,资源浪费明显;使用 K8s 提供的 HPA,在业务请求到达之后才触发弹性,导致弹性滞后。而使用定时弹性策略, 需要评估每个时间段扩容多少,缩容多少,并且随着业务的变化需要随时进行调整,带来配置繁琐的问题。
那么面对弹性滞后问题我们如何来解呢?容器服务 ACK 推出了基于机器学习算法的弹性实现方案:AHPA。
AHPA (Advanced Horizontal Pod Autoscaler)是基于应用历史指标预测未来 Pod 实例数量,解决弹性滞后的问题。通过主动预测和被动预测相结合,实时调整资源实例数。被动预测基于应用实时指标计算 Pod 数量,可以很好的应对突发流量; 主动预测基于历史指标通过达摩院机器学习算法提前预测出未来 24 小时应用的实例数量。此外,AHPA 还增加了兜底保护策略,可以设置时间区间的实例数上下界值实现弹性兜底。
通过 AHPA 可以实现毫秒级预测,秒级弹性生效,
在复杂多周期情况下依然保持较高的识别率,周期识别准确率高达 95% ,同时将主动预测和被动预测相结合让弹性更准。对于噪音,缺失值,异常值都具有不错的鲁棒性。
AHPA 助力达摩院智能语音
达摩院智能语音交互产品是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品 “能听、会说、懂你”式的智能人机交互体验。客户业务自身有峰谷波动特征,期望使用弹性降低资源使用成本。但直接使用 HPA 存在如下 2 个问题:
1. 弹性滞后。由于资源调度、应用启动也需要一定时间,在扩容的过程中,业务稳定性可能会受到影响。
2. 配置复杂。配置过于激进可能导致应用稳定性受影响,配置过于保守,成本优化的效果就大打折扣。需要反复尝试才能达到一个合理的水平。而且随着业务的变化,也会需要重新调整弹性策略
AHPA 提升菜鸟 CPaaS 弹性能力
菜鸟 CPaaS 业务涉及菜鸟乡村、申通物流链路,特别是仓库作业的,潮汐很明显。但直接使用 HPA 需要面对弹性滞后的问题,而使用定时弹性需要随业务变化随时人工调整,运维成本高。
菜鸟 CPaaS 通过将 AHPA 弹性预测与自身弹性平台相结合,真正实现了按需使用的弹性能力。双 11 期间,为菜鸟业务环境提供智能客服服务以及菜鸟经营服务工单平台提供弹性预测能力,实现了低峰时将容器数降下去省钱,高峰时扩出来保障日常业务,非常规流量时可以资源应急,满足了用户极致弹性能力的诉求。
如何才能帮助用户更好的使用 Kubernetes?如何降低 Kubernetes 运维门槛?如何在客户遇到问题的时候能够快速帮助定位?针对这些问题,ACK 将自身多年的 Kubernetes 管理经验结合 AI 技术打造了智能运维 AIOps 套件,目前套件中包含了自动化诊断、智能巡检和 OS 透视三大块功能。
智能运维中的诊断功能覆盖了绝大多数用户经常遇到的 Kubernetes 问题,可以直接给出故障的根因,并给出修复建议,告诉用户诊断修复。在支持客户的过程中我们就遇到了一个典型的诊断案例,客户反馈有些节点突然 NotReady 了,影响了线上业务,我们建议用户先通过智能运维自助诊断一次,用户发起诊断操作后,很快看到了结果,在异常原因中报告因为安全组规则拦截了 Kubelet 到 APIServer 心跳的上报,导致节点 NotReady。基于这个结果,用户很快的修复了安全组规则,放开了 Kubelet 到 APIServer 的访问,业务恢复,整个过程从上报到修复只用了几分钟。
除了出现问题时可以帮助用户快速定位,AIOps 套件的另一个重要能力是防患于未然,在用户的 Kubernetes 集群出问题之前提前预测可能出现的问题,提前解决,提供这个能力的就是 AIOps 套件的智能巡检功能。智能巡检功能在用户集群业务低峰期运行,基于内置的数据分析引擎,推测集群中的潜在风险,联动 SLS 告警,主动通知到用户。智能巡检现在已经成为客户应对诸如双 11 重保需求的必备手段,在活动开始前客户都会确认智能巡检中的风险都已经处理完毕。在这个双 11 当中,智能巡检功能帮助中间件团队的发现了 CoreDNS 部署风险、SLB 配额风险等多个问题,及时优化了 CoreDNS 部署模式,提升 SLB 配额,提前规避了潜在的故障。
在双 11 大促业务备战期间,除应用制品交付效率外,应用制品安全交付也是需要重要关注的一环。如何在云原生场景下为容器化应用交付的 DevOps 流程融入高效且自动化的安全环节,降低安全措施实施成本是 ACR EE 提供的一系列 DevSecOps 产品能力目标所在:
- 在开发阶段,提供不可变 Tag 能力预防生产环境容器镜像被非预期覆盖,保障应用版本在生产环境部署过程中的一致性。特别是在大促扩容场景中,避免出现新扩容的应用版本和通过生产验收的版本不一致导致扩容失败等问题。
- 在交付阶段,提供云原生应用交付链能力,支持镜像风险漏洞扫描检测、部署阻断、事件通知、漏洞修复治理,相关人员在接到漏洞通知后可在第一时间主动修复漏洞,实现安全左移;同时,借助 ACR EE 支持的云安全扫描引擎,支持从系统漏洞、应用漏洞、基线检查、恶意样本多个维度进行安全风险检测及策略阻断。
- 在部署和运行阶段,提供容器镜像加签、验签等能力,防止镜像被攻击者恶意篡改,可在 ACK 集群中启用验签组件,禁止在集群中部署未受信任验签不通过的应用制品或版本。客户可以通过使用上述产品能力,为容器应用交付场景实施 DevSecOps ,提升软件迭代生命周期安全性。
-
在构建加速方面,ACR EE 通过独享构建资源、远程缓存、海外源智能加速缩短构建任务构建过程耗时,同时结合实例内置的上传优化能力,缩短构建任务上传耗时。 整体构建任务耗时相较于普通构建方案可缩短 30%,在支持公有云客户提速构建任务的同时,ACR EE 构建能力也作为阿里云 Serverless 产品标配构建能力,支持大促期间 Serverless 应用构建及发布提速。
- 在全球同步加速方面,随着越来越多的国际化业务加入到双 11 中,ACR EE 提供了全球化同步加速能力支持实现应用全球化不同地区版本同发,提升了客户应用发版效率。在双 11 大促期间,ACR EE 同步加速能力为内外部客户带来了全球化视角下的应用发布提速体验,支持大促业务服务于全球客户。
-
在分发加速方面,随大促业务的峰谷波动,在业务高峰期来临快速完成应用扩容是客户的核心诉求,同时随着更多客户使用 Serverless 产品构建业务应用,频繁地冷启动对容器镜像拉取效率也提出了更高的要求。在容器应用大规模分发场景,ACR EE 提供了 P2P 分发加速能力,利用集群节点间的带宽资源,大幅提升容器镜像拉取整体带宽。在大体积容器镜像或者冷启动场景,为降低应用启动延时,ACR EE 提供了按需加载加速能力,支持自动化生成按需加速镜像,基于按需能力启动容器应用时,可实现秒级启动 GB 级应用镜像容器。此外 ACR EE 提供了加速套件,支持在在线、Serverless、边缘等差异化场景下应用负载透明启用加速能力,在双 11 期间为内外部客户带来了容器化应用制品分发加速支持。
点击 阅读原文 ,前往容器服务 ACK 官网查看更多相关资讯!