带你读《CloudOps云上自动化运维 白皮书2.0》之17:5.弹性工具推荐(3)

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
云服务器(按量付费),48vCPU 186GiB
简介: 带你读《CloudOps云上自动化运维 白皮书2.0》之17:5.弹性工具推荐(3)

《CloudOps云上自动化运维 白皮书2.0》—— 五、弹性能力Elasticity——5.弹性工具推荐(2):/article/1222512?groupCode=ecs



c) 弹性伸缩(ESS)

 

对于分布式应用、无状态应用、大型应用等场景,用户手动指定固定数量的云资源已经无法满足业务快速和剧烈的变化。客户可以借助于阿里云的弹性伸缩服务(ESS),根据业务需求和策略自动调整实例数量,在业务需求增长时,弹性伸缩自动增加实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少实例,节约成本。

 

同时,弹性伸缩具备实例健康检查能力,能自动识别并替换不健康的实例,不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序,保障业务的持续运行。

 

目前弹性伸缩(ESS)产品提供了以下几个维度的自动化能力,帮助客户自助实现业务的自动化智能化扩缩容,快速提升业务可用性。

 

? 灵活丰富的扩缩容模式

 

对于业务负载波动比较稳定的场景,例如在每天中午12点开始业务需求明显增加,每天晚上8点后需求明显减少的场景,用户可以通过定时任务快速完成可预期负载的响应。但对于业务负载变化无明显规律,或者在规律性波动外偶尔有突发负载的场景,需要更灵活的伸缩模式来响应业务波动。弹性伸缩目前提供的扩缩容模式包括:

 

? 手动模式:允许用户手动进行弹性伸缩,包括手动添加、移出或者删除已有的资源。

 

? 固定数量模式:用户设置集群的最小/最大期望资源数量,当实例数量低于下限/超过上限时,系统会自动添加/移出资源,使得资源数量等于下限/上限。

 

? 健康监测模式:系统自动检查计算资源的运行和健康状态,如果发现一台计算资源未处于运行中或处于不健康状态时,弹性伸缩服务会自动移出该资源,并创建一台新的资源进行替换。

 

? 定时模式:用户可以通过创建定时任务,实现在指定时间内自动创建或释放指定4数量的资源。

 

? 指标模式:监控集群中资源的性能指标(如CPU利用率、网络流量均值)波动,当指标当前值超出制定阈值时,自动触发执行资源的扩缩容。

 

? 完善的业务指标监控矩阵

 

一般业务负载的波动都与一个或多个业务指标有强关联性,即用户可以通过监控业务负载的一个或多个指标识别到业务的上下波动。阿里云的弹性伸缩服务不仅支持根据伸缩组内集群实例的十几种性能指标进行扩缩容,比如实例的CPU使用率、内存使用率、网络吞吐率等,还支持根据其他产品的指标进行自动扩缩容,比如负载均衡的QPS。

 

? 弹性自愈的能力

 

弹性伸缩自带的健康检查能力,会周期性扫描伸缩组内ECS实例的健康状态。如果发现某个实例处于关机状态(不提供正常服务)或实例OS内出现异常导致实例无法正常响应,弹性伸缩服务会自动移除该实例,并创建一个新的实例进行替换,确保业务所需算力。此外,当伸缩组与某个负载均衡关联后,如果负载均衡发现伸缩组内某个实例出现异常,自动将该实例摘除后,弹性伸缩也会自动创建一个新实例,确保算力稳定。

 

? 有效的成本控制

 

弹性伸缩目前提供两种方式帮助用户在保障业务可用性的基础上,尽可能降低算力成本。

 

? 一是弹性伸缩支持扩容时同时选择按量和抢占式实例,以及指定两种实例的比例。

? 二是弹性伸缩的动态伸缩模式和预测的伸缩模式均可以自动根据业务负载波动自动计算所需算力的调整,实现资源规模与负载需求直接的完美匹配,避免过度供给带来的成本浪费。

 

? 个性化的弹性管理能力

 

对于部分无法做到完全无状态的业务负载,比如在扩容时新交付的实例正式承接负载前,需要下载最新的数据或代码,弹性伸缩的生命周期挂钩可以实现扩缩容时的个性化配置。

 

目前,弹性伸缩支持扩容和缩容两种类型的生命周期挂钩。用户可以创建扩容时的生命周期挂钩,在新扩容出来的实例正式使用前,在实例内做一些自动化的配置任务,比如安装某些应用程序或执行某些脚本。当任务完成之后,才真正将实例投入使用。缩容的生命周期挂钩也是类似的场景,满足多样化的弹性诉求、

 

对于自动化能力较高的用户,希望监控弹性伸缩的各种行为与结果并与其他系统打通,比如当扩容失败时需要及时感知并自动执行其他任务进行兜底,避免业务受损,可以消费弹性伸缩提供的各种事件和通知渠道。目前弹性伸缩支持扩缩容成功、扩缩容失败等场景的事件,并支持MNS消息队列、云监控等订阅通道,方便用户快速完成接入和打通。

 

? 超高的弹性成功率

 

云上计算资源的获取是通过实例具体规格来指定的,比如阿里云的c5.large,c6.large,c7.large等多个实例规格均可以提供2核4GB的算力。如果客户的业务负载对算力没有特殊的要求,比如实例的网络吞吐上限等,在使用弹性伸缩时,可以选择多个可用区和多种符合要求的实例规格,当遇到临时突发流量时,弹性伸缩服务会自动在多个可用区下巡检所有符合要求的实例,尽可能交付所需算力,避免因单个资源库存不足导致业务降级或受损。

 

? 智能化弹性

 

对于周期性明显的负载波动,弹性伸缩服务提供了预测伸缩模式,即对业务负载波动历史进行分析建模自动预测业务负载未来2天的变化情况,无需用户配置即可实现在需要的时候自动扩缩容所需算力。目前弹性伸缩的预测伸缩模式仅适用于CPU、内存和网络带宽有明显周期性波动的业务负载。

 

image.png

智能化弹性能力示例

 


《CloudOps云上自动化运维 白皮书2.0》—— 五、弹性能力Elasticity——5.弹性工具推荐(4):/article/1222509?groupCode=ecs

相关文章
|
4天前
|
Web App开发 测试技术 API
自动化测试工具Selenium的深度解析
【5月更文挑战第27天】本文旨在深入剖析自动化测试工具Selenium,探讨其架构、原理及应用。通过对其核心组件、运行机制及在实际项目中的应用案例进行详细解读,以期为软件测试人员提供全面、深入的理解与实践指导。
一键自动化博客发布工具,用过的人都说好(51cto篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到51cto上。
一键自动化博客发布工具,用过的人都说好(51cto篇)
|
3天前
|
JSON 数据管理 测试技术
自动化测试工具Selenium Grid的深度应用分析深入理解操作系统的内存管理
【5月更文挑战第28天】随着互联网技术的飞速发展,软件测试工作日益复杂化,传统的手工测试已无法满足快速迭代的需求。自动化测试工具Selenium Grid因其分布式执行特性而受到广泛关注。本文旨在深入剖析Selenium Grid的工作原理、配置方法及其在复杂测试场景中的应用优势,为测试工程师提供高效测试解决方案的参考。
|
4天前
|
安全 测试技术
现代软件测试中的自动化工具与挑战
传统的软件测试方法已经无法满足日益复杂的软件开发需求,因此自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的发展现状和面临的挑战,以及如何克服这些挑战提高测试效率和质量。
11 0
|
4天前
|
Cloud Native jenkins 测试技术
软件测试中的自动化工具与挑战
在当今快速发展的软件行业中,软件测试是确保产品质量和稳定性的重要环节。随着软件规模的不断扩大和复杂度的增加,传统的手动测试已经无法满足需求。因此,自动化测试工具应运而生,能够提高测试效率、降低成本,并且减少人为错误。本文将探讨软件测试中常用的自动化工具以及在实践中所面临的挑战。
13 0
|
4天前
|
安全 数据管理 测试技术
网络安全与信息安全:防范漏洞、加强加密与提升安全意识深入探索自动化测试框架的设计原则与实践应用化测试解决方案。文章不仅涵盖了框架选择的标准,还详细阐述了如何根据项目需求定制测试流程,以及如何利用持续集成工具实现测试的自动触发和结果反馈。最后,文中还将讨论测试数据管理、测试用例优化及团队协作等关键问题,为读者提供全面的自动化测试框架设计与实施指南。
【5月更文挑战第27天】 在数字化时代,网络安全与信息安全已成为维护国家安全、企业利益和个人隐私的重要环节。本文旨在分享关于网络安全漏洞的识别与防范、加密技术的应用以及提升安全意识的重要性。通过对这些方面的深入探讨,我们希望能为读者提供一些实用的建议和策略,以应对日益严峻的网络安全挑战。 【5月更文挑战第27天】 在软件开发周期中,自动化测试作为保障软件质量的关键步骤,其重要性日益凸显。本文旨在剖析自动化测试框架设计的核心原则,并结合具体案例探讨其在实际应用中的执行策略。通过对比分析不同测试框架的优缺点,我们提出一套高效、可扩展且易于维护的自动
|
5天前
|
敏捷开发 监控 IDE
深入理解自动化测试工具Selenium的工作原理与实践应用
【5月更文挑战第26天】 随着敏捷开发和持续集成理念的普及,自动化测试在软件开发生命周期中扮演了至关重要的角色。Selenium作为最流行的自动化测试工具之一,以其开源、跨平台和支持多种编程语言的特性被广泛使用。本文将详细解析Selenium的核心组件,探讨其工作原理,并通过案例分析展示如何高效地实施Selenium进行Web应用的自动化测试。我们将从测试准备到结果分析的全过程,提供一系列实用的策略和最佳实践,帮助读者构建和维护一个健壮的自动化测试环境。
一键自动化博客发布工具,用过的人都说好(公众号篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到公众号篇上。
一键自动化博客发布工具,用过的人都说好(公众号篇)
|
8天前
|
敏捷开发 IDE 测试技术
深入探索自动化测试工具Selenium的高效应用
【5月更文挑战第23天】 在快速演进的数字时代,软件开发周期不断缩短,而质量保证的需求却日益增加。自动化测试作为确保软件质量的关键手段之一,其重要性不言而喻。Selenium作为一种广泛使用的自动化测试工具,因其跨平台、多语言支持和开源等特性,在业界得到了广泛应用。本文将深入分析Selenium的核心功能,探讨其在真实项目中的应用策略,并通过案例分析展示如何通过Selenium提高测试效率和准确性。
一键自动化博客发布工具,用过的人都说好(知乎篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到知乎上。
一键自动化博客发布工具,用过的人都说好(知乎篇)
http://www.vxiaotou.com