课时5:云原生体系下 Serverless 弹性探索与实践(五)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 云原生体系下 Serverless 弹性探索与实践

Serverless AI训练营:课时5:云原生体系下 Serverless 弹性探索与实践(五)

课程地址https://developer.aliyun.com/trainingcamp/1eeaedf056f14ad98e9986c31068e939?spm=a2c6h.26142516.J_2566289780.1.37c67cbd7bCsFs

课时5:云原生体系下 Serverless 弹性探索与实践(五)

然后应用生命周期管理是可以配置优雅下线,比如执行缩容时应用可能是需要执行一些机械操作,这都可以配置一些通过提供应用生命周期的对应的接口,然后配置对应的脚本来执行。同时建议采取指数重试的机制,实际上也是标配了。

相当于请求的时候,如果是遇到一些情况,然后进行整体的超时重试的处理。以及应用启动速度优化,刚才说的是内部 SE 平台为用户提供一些优化的手段,然后作为用户也可以对应用进行启动优化,其中最主要的是对软件包的优化,比如优化应用的启动时间,减少因内夹带缓存等外部依赖导致的应用的启动,以及优化镜像大小。网上也有很多关于镜像大小如何优化的文章可以参考一下。

2.弹性最佳实践:弹性伸缩配置

在弹性伸缩具体的配置阶段,也要有很多用户困惑具体的指标指的应该配多少,这个也是比较灵活的。弹性伸缩主要配置,刚才说它支持非常多的指标,比如说 CPU 内存等。需要根据应用的具体属性,它是 CPU 敏感还是内存敏感还是IOO 敏感进行灵活的选择。可以通过技术监控或者应用监控它的历史的指标。

比如最近六天,最近十二天七天,或者是它的 CPUP99的数值,然后来预估现在整体的容量负载情况。或者可能这阵儿都没流量,那可以通过 PCS 进行加测,然后来估计应用的负载容量整体是什么情况,然后来了解单实力或者当前应用到底能扛住多少的请求,需要多少 CPU 内存。

以及高负载情况下这个应用会有什么异常的超值还是崩溃等来评估容量大小。而指标值是一个权衡,是一个可能性以及成本的权衡。如果更加侧重于可能性,可以把指标值配低一些,比如 CPU 就是40%就破了。

如果是更加侧重于成本,可以把这个指标值配高一点,如果CPU达到60%再破,或者可能想达到一个平衡,可能性和成本兼具,可以配50%。同时因为这往往应用系统比较复杂,它不是单实业,它是多个系统协作的过程,当一个实际数破的时候,会让整体的上下游,这样也建议梳理整体的上下游,比如依赖的 DB 方向键和相关依赖。并配置相应的弹性规则或者一些垄断的手段来确保扩容时的全连路都是可以曝光可能性。

同时,在配置弹性伸缩之后,也可以通过完善所有性的手段来不断调整弹性配置。刚才说的是指标配置的建议,对于最大值最小值也有一些建议,比如说最大值应该考虑可能区,每个可能区都有对应的IP

要考虑 IP 是否充足,要不就空出来了。最小值建议不要保保持单实力,建议大于等于二,并且配置多层序,这样是可以防止某个可能区有问题就可以迁移到另一个区,或者是单实力完全没有高可用的。因为都是无状态运用,多个实力是完全ok的,可以保证整体的高可能。

3.  弹性最佳实践:弹性伸缩过程

image.png

然后在整个整体的弹性伸缩过程的时候,需要关注几个点,比如说弹性伸缩是否到达最大值了。它意味着一方面可能流量预估不太准,或者是最大值配的可能是有问题,或者是应用可能出现一些异常,可能是异常流量导致实际数已经到达最大值了。

还有可能区再均衡,也是做可能区的时候,扩缩会有一些情况,它的可能区分布不均衡,可以通过重启来实现可能区的再均衡,以及自动恢复弹性配置。在应用部署和自动反应是互斥的,相当于发一个版本的时候会把自动反应给停掉。

因为发版本的时候,势必会影响整个指标移动。可能会把具体实际数和与 HPa 计算的实际数会有冲突,所以实际数给关掉了,但是也非常人性化的这个提供了自动恢复的功能,部署完之后再给回复。

4.  弹性最佳实践:弹性伸缩可观测

image.png

最后是可观测,这里是对弹性的历史记录进行观测,或者是对于弹性的实践进行通知。这是内部的报表,可以看到整体的包括HPA 的配置以及整体的 reconcile,每次请求有一个间隔,还有它的具体的耗时以及对应的监控数据对实际数的整体的变动,内部都可以非常清晰的看懂,对外也是不断完善整体对外报表的开发。

5.  弹性最佳实践:客户案例

image.png

上述是整个用户从配置 HPA,配置弹性伸缩从准备到如何配置,再到配置完之后需要怎么来不断完善的实践。这里讲一个客户案例,这个是在去年相关运行期间,在线教育内非常火。

它流量暴涨七到八倍,硬件成本和业务能性都面临着巨大风险。如果此时用户采取传统的架构,ECS的架构,用户就需要在非常短的时间内来做整个基础架构的升级。这对用户的成本和精力的挑战都是非常大的。

但是如果采用SE,它就充分发挥了 severless 带来的技术能力的作用。用户可以把应用用在SE 上,然后同时通过刚才介绍 SE 的多场景,采用策略的配置,弹性自适性,及时可观测能力,可以轻松应对流量突增的情况。然后通过上述各项能力实现了用户全托管,零改造,极大的减少了它的部署行为的成本,提高它的效率。也保证在流量暴涨七到八倍的情况下,也是保证业务高峰期的SEA

同时借助了刚才说的秒级弹性的节约效率功能,这种特性来节省闲置资源成本,达到了35%

综上在弹性发展上,尤其在收费的场景,更加注重应对突发流量的能力。

SE通过对弹性组件和应用全生命周期的不断优化,达到了秒级弹性,运营在弹性能力上,场景横幅度以及稳定上都有核心的竞争力,是传统应用零改造 severless 的最佳选择。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1天前
|
运维 Cloud Native 持续交付
云原生架构的演进与实践####
【10月更文挑战第16天】 云原生,这一概念自提出以来,便以其独特的魅力和无限的可能性,引领着现代软件开发与部署的新浪潮。本文旨在探讨云原生架构的核心理念、关键技术及其在实际项目中的应用实践,揭示其如何帮助企业实现更高效、更灵活、更可靠的IT系统构建与管理。通过深入剖析容器化、微服务、持续集成/持续部署(CI/CD)等核心技术,结合具体案例,本文将展现云原生架构如何赋能企业数字化转型,推动业务创新与发展。 ####
80 47
|
1天前
|
Kubernetes Cloud Native 持续交付
云计算的转型之路:云原生技术的崛起与实践####
【10月更文挑战第16天】 本文深入探讨了云原生技术在现代IT架构变革中的核心作用,不同于传统概述,本摘要将聚焦于云原生如何促进企业实现敏捷开发、弹性伸缩及高效运维,通过具体案例分析展现其在实际业务场景中的创新应用,揭示这一技术趋势对企业数字化转型的深远影响。 ####
13 2
|
2天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型加速的今天,云原生技术以其高效、灵活、可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生环境下微服务治理的策略与实践路径,旨在为读者提供一个系统性的微服务治理框架,涵盖从服务设计、部署、监控到运维的全生命周期管理,助力企业在云端构建更加稳定、高效的业务系统。 ####
|
6天前
|
敏捷开发 运维 Cloud Native
云端新篇章:云原生技术的崛起与实践
在数字化转型的浪潮中,云原生技术以其独特的优势成为企业实现敏捷开发、弹性扩展和高效运维的关键驱动力。本文将深入探讨云原生的概念、核心组件及其在不同行业的应用案例,揭示其如何赋能业务创新,引领云计算进入新纪元。
|
2天前
|
Cloud Native 持续交付 云计算
云原生技术在现代软件开发中的实践与挑战####
【10月更文挑战第15天】 本文深入探讨了云原生技术的定义、核心组件及其在现代软件开发中的应用,并分析了企业在实施过程中面临的主要挑战及应对策略。通过案例分析,揭示了云原生架构如何助力企业实现敏捷开发、高效运维和成本优化,同时指出了安全性、人才短缺和多云管理等关键问题,为读者提供了全面的理解和实用的建议。 ####
13 1
|
3天前
|
运维 监控 Cloud Native
云原生架构下,微服务治理的艺术与实践####
【10月更文挑战第14天】 在数字化转型的大潮中,云原生技术以其高效、灵活与可扩展性成为企业IT架构的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务治理的策略与实践,揭示了如何通过精细化管理提升系统的响应速度、稳定性和可维护性。不同于传统的摘要概述,本文摘要旨在直接触及读者关注的核心——即如何在复杂多变的云环境中,实现微服务的高效协同与治理,为读者提供一个清晰的行动指南。 ####
12 1
|
10天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用开发中的实践与展望
【10月更文挑战第7天】随着技术的不断演进,云计算已从简单的资源租用模式转变为支持复杂、高效、灵活的云原生应用架构。本文将深入探讨云原生技术的核心概念及其在现代应用开发中的应用,通过分析Kubernetes容器编排和微服务架构的实践案例,揭示云原生技术如何推动软件开发的现代化进程。文章旨在为开发者和架构师提供一套实用的云原生应用开发指南,同时展望未来云原生技术的发展方向。
20 8
|
12天前
|
Cloud Native 测试技术 持续交付
云原生时代的微服务架构实践
【10月更文挑战第5天】随着云计算的普及,云原生概念逐渐深入人心。微服务架构作为云原生的重要组成部分,它强调服务的小型化、自治性和弹性,以适应快速变化的市场需求。本文将探讨如何在云原生环境中设计并实现高效、可靠的微服务架构,包括选择合适的技术栈和最佳实践,以及如何通过持续集成和持续部署(CI/CD)流程来优化开发和运维工作。
|
9天前
|
Kubernetes Cloud Native Serverless
批处理系统:Batch批量计算与云原生Serverless Argo Workflows
本文对比了Batch批量计算与Serverless Argo Workflows在容器化批处理任务中的应用,分析了两者在任务定义、依赖关系、规模并发、高级编排、可移植性等方面的异同,帮助技术决策者根据自身需求选择合适的平台。
|
9天前
|
Kubernetes Cloud Native 微服务
探索云原生:从理论到实践
【10月更文挑战第8天】本文将带你深入了解云原生技术,从其核心概念和优势出发,逐步过渡到如何实际应用这些理念。我们将通过一个实际的代码示例,展示如何在云平台上部署和管理容器化应用,从而帮助你更好地理解云原生架构的实际应用价值。
19 0

相关产品

  • 函数计算