课时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 架构模式
相关文章
|
8天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
7天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
31 5
|
9天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
9天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
22 3
|
9天前
|
运维 Kubernetes Cloud Native
深入理解云原生架构:从理论到实践
【10月更文挑战第38天】本文将引导读者深入探索云原生技术的核心概念,以及如何将这些概念应用于实际的软件开发和运维中。我们将从云原生的基本定义出发,逐步展开其背后的设计哲学、关键技术组件,并以一个具体的代码示例来演示云原生应用的构建过程。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和实操指南。
|
9天前
|
Cloud Native 持续交付 云计算
云原生技术入门与实践
【10月更文挑战第37天】本文旨在为初学者提供云原生技术的基础知识和实践指南。我们将从云原生的概念出发,探讨其在现代软件开发中的重要性,并介绍相关的核心技术。通过实际的代码示例,我们展示了如何在云平台上部署和管理应用,以及如何利用云原生架构提高系统的可伸缩性、弹性和可靠性。无论你是云原生领域的新手,还是希望深化理解的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
|
8天前
|
弹性计算 Kubernetes Cloud Native
云原生技术的实践与思考
云原生技术的实践与思考
23 2
|
9天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
24 3
|
9天前
|
存储 Cloud Native 持续交付
云原生入门:从理论到实践
【10月更文挑战第38天】云原生技术正在重塑软件开发和运维的面貌。本文将带你走进云原生的世界,理解其核心理念,并探索如何将这些理念应用于实际项目中。我们将一起学习容器化、微服务架构、持续集成与持续部署(CI/CD)等关键概念,并通过代码示例加深理解。无论你是云原生新手还是希望深化知识的开发者,这篇文章都将为你提供宝贵的知识和启示。
19 3
|
9天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    无影云桌面