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

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

《CloudOps云上自动化运维 白皮书2.0》—— 五、弹性能力Elasticity——5.弹性工具推荐(2):https://developer.aliyun.com/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):https://developer.aliyun.com/article/1222509?groupCode=ecs

相关文章
|
15天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
37 3
|
19天前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
42 4
|
18天前
|
运维 Linux Apache
Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例
【10月更文挑战第8天】本文介绍了Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例。Puppet通过定义资源状态和关系,确保系统配置始终如一,支持高效管理基础设施。文章详细讲解了Puppet的安装步骤、配置方法及DSL语言示例,帮助读者快速掌握Puppet的使用技巧。
41 2
|
22天前
|
监控 虚拟化 云计算
从物理到云:使用自动化工具简化服务器迁移流程
【10月更文挑战第4天】随着云计算的快速发展,越来越多的企业选择将物理服务器迁移到云环境以提高效率和降低成本。本文详细介绍了使用自动化工具简化从物理到云的服务器迁移流程的技术实现细节,并提供了代码示例。
73 6
|
17天前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。
|
18天前
|
人工智能 运维 监控
自动化运维:从脚本到工具的演变之路
【10月更文挑战第8天】在数字化时代的浪潮中,运维不再是简单的硬件维护,它已经演变成一场关于效率、稳定性和创新的技术革命。本文将带您领略自动化运维的魅力,从最初的脚本编写到现代复杂的自动化工具,我们将一探究竟,看看这些工具如何帮助运维人员简化日常任务,提升工作效率,并最终推动业务发展。
|
23天前
|
机器学习/深度学习 运维 监控
提升运维效率:自动化工具与实践的融合
【10月更文挑战第3天】 在当今信息技术迅猛发展的时代,运维作为保持系统稳定性和性能的关键角色变得越来越重要。本文将探讨如何通过结合自动化工具和最佳实践来优化运维流程,实现高效、可靠的运维管理。从基础监控到高级自动化,我们将一步步引导您了解如何搭建和维护一个高效的运维体系。
23 3
|
24天前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。
|
12天前
|
JavaScript 前端开发 搜索推荐
Gulp:构建自动化与任务管理的强大工具
【10月更文挑战第13天】Gulp:构建自动化与任务管理的强大工具
37 0
|
26天前
|
运维 Prometheus 监控
提升运维效率:容器化技术与自动化工具的结合
在当今信息技术飞速发展的时代,运维工作面临着前所未有的挑战。为了应对这些挑战,本文将探讨如何通过结合容器化技术和自动化工具来提升运维效率。我们将介绍容器化技术的基本概念和优势,然后分析自动化工具在运维中的应用,并给出一些实用的示例。通过阅读本文,您将了解到如何利用这些先进技术来优化您的运维工作流程,提高生产力。

热门文章

最新文章