带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(2)

简介: 带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(2)

更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(1):https://developer.aliyun.com/article/1405386


image.png

 

前面主要介绍了CloudOps套件的核心产品,但它包含的产品远不止这些,还包含很多小的工具。上图展示了目前阿里云ECS CloudOps全部的产品。

 

最底层是服务于IaaS层的所有资源,可以分成两大块:平台侧基础能力包括计算形态、基础镜像、基础安全防护,客户侧的原子能力包括Guest OS管理、资源分组管理等等。

 

对于IaaS层基础资源的管理,我们提供的所有CloudOps能力可以分成五个维度。

 

成本优化方面,CloudOps提供了支持多种付费方式,也提供了一些成本优化的基础能力。

自动化服务方面,CloudOps提供了运维托管、批量自动化、运维通道的能力,包括刚刚提到的云助手。除此之外,我们还提供类似于VNC workbench的访问通道。

 

可靠性服务方面,CloudOps提供的能力也分成四个维度:最底层是资源的可观测能力,包括实例的健康状态、云监控,它能够对资源最底层的Metrics进行持续的观测。在此基础上,CloudOps还提供了事件服务,当底层出现问题的时候,我们可以通过事件的方式来通知到用户。此外,CloudOps还提供了自助问题排查的能力,能够从实例内外部的所有配置上给用户做问题的定位和排查,快速缩短业务受影响的时长。最后,CloudOps还提供了应用的管理来提升整个应用的可靠性。

 

CloudOps在弹性服务方面的能力也可以分成两个维度。最底层是根据业务需求进行弹性的扩缩容,包括弹性伸缩,能去做水平的扩缩容,此外还支持垂直的升降配,能够做预测性的扩缩容。同时,CloudOps还提供了弹性保障的能力,当业务有计划性的大规模的资源诉求的时候。比如双十一这种情况下,很多电商或者平台都会去做活动,所有服务都会有额外的算力需求。为了保证当时的业务需求能够得到资源的保障,用户可以借助CloudOps的资源预留或者购买一些预留实例进行资源锁定的,来保证业务在最高峰期,它的资源能够得到响应和保证。

 

安全合规服务方面主要围绕实例安全和操作安全。实例安全包括基础设施安全、数据安全、网络安全、GuestOs安全;操作安全包括访问控制、操作审计。在这两方面,CloudOps都提供了对应的产品能力。

 

以上五大维度最终服务于整个ECS的全生命周期运维。在此基础上,阿里云推出了一个新产品,ECS使用成熟度评估与洞察(ECS Insight)。它在这五大维度的基础上,识别客户在使用ECS的过程中面临的风险,提供优化推荐的建议,帮助业务持续提升在这五个维度上的能力。

 

image.png

 

下面我将围绕CARES这五个维度,分别举一个例子,让大家对每个工具的使用方式和适用场景有更直观的体感。

 

第一个是成本管理。线下我们在做资源的分权和分账的时候,更多的是依赖于个人所属的组织关系。在云上,我们可以通过标签服务,对云资源的使用方和所属的部门进行详细的标识,帮助用户对具有相同特征的云资源进行分类、搜索和聚合,提升资源的管理效率。

 

那么标签是什么呢?

 

标签本质上就是一个键值(KeyValue),我们的云资源最多可以绑定20个标签。举个例子,我们可以根据资源所属的地域、部门以及使用环境进行多维度的区分。因此,我们可以创建三个标签,对于每个资源,我们根据这三个维度对资源进行打标。一旦完成了打标,我们就可以从标签的视角来看详细的分类了。比如打完标之后,我们就能快速的查看北京地域所包含的资源有哪些,信息科技部这个部门包含的资源有哪些,生产环境的资源是哪些。我们也可以组合来看,北京地域下信息部的生产环境包含的资源是哪些。

 

除了查看资源外,我们还可以对这些打完标的资源进行多维度分析。比如,我们能通过阿里云的费用中心,查看打了特定标签资源的账单和费用支出是怎样的,这是我们进行成本优化的前提。

 

此外,一旦我们给每个资源打了标签,我们就可以通过身份认证管理RAM功能,来指定基于标签的策略。通过这种方式我们可以制定一些标签策略,对资源的创建和管理等等合规行为进行限制。比如,我们希望限制环境=生产部门的标签资源,它只能通过什么样的方式购买,或者什么样的人才能购买环境=生产环境的资源。这样既能使整个账号下的所有资源管理是符合规定的,也能限制未来新创建的资源也符合我们所制定的合规和成本的限制。

 

通过标签我们就能实现资源的分账和分权,提升整个资源在成本和安全维度上的管理的效率。

 

image.png

 

第二个是自动化。这里主要介绍一下使用运维编排OOS+云助手,实现大规模资源的管理。运维编排本质上是一个云上自动化任务编排的平台,它能够提供自动化任务的管理和执行。所谓的自动化任务包含批量操作、定时运维任务、事件驱动的自动化操作、跨地域操作等。最终,运维编排提供的是一个类似于自动化任务的管理平台,它能够实现基础设施运维即代码的能力。

 

而云助手是一款针对ECS的原生自动化运维通道,它是安装在ECS里面的一个插件。通过云助手,我们可以在不需要密码也不需要登录实例的情况下,在实例内部做一些命令的执行、文件的上传下载、批量任务执行等等。同时,云助手还能将非阿里云的服务器注册为阿里云的托管实例。在完成托管以后,我们就可以通过运维编排的工具,对阿里云的机器和非阿里云的机器进行统一的编排,实现混合云统一管理的场景。

 

上图下侧是通过运维编排实现蓝绿发布例子。在DevOps的过程中,当应用出现了新版本的时候,我们需要把业务的新版本逐步更新上线,这也就意味着我们需要对老版本的ECS进行逐步的升级,确保在业务在不中断的情况下完成新版本的升级。在传统模式下,我们只能自己写脚本或者手动实现,不仅效率低,而且容易出错。

 

通过运维编排,我们可以把一组老版本的ECS打上同一个标签,运维编排可以分批次的把这些ECS实例从负载均衡上卸载,并通过镜像更新的方式或者执行脚本的方式,分批次把目标ECS进行升级。在升级的过程中,可能需要先把ECS从负载均衡上解绑,更新版本,更新完之后再把ECS挂载回原来的负载均衡上对外提供服务。如果这个过程失败了,我们可以进行回滚。当第一批ECS执行完毕后,我们可以观察一段时间,确保没有问题后再进行第二批ECS进行重复的操作进行升级,直到最后一批资源被替换成新版本,这个滚动升级才结束。

 

与之前手动或脚本方式相比,通过运维编排我们只需要指定好需要分几个批次对这些资源进行升级、升级的方式以及在这个过程中我们要执行哪些额外的操作。运维编排会自动的把这个版本进行升级,提升整个应用的发布效率。

 

image.png

 

第三个是可靠性。阿里云提供了非常多精细化的运维能力来提升整个应用的可观测性和可靠性。可观测性解决了异常提前识别的能力,而可靠性是提升了整个应用的可靠性。虽然阿里云提供了业界领先的SLA,即单个实例的SLA99.975%,而跨AZ多实例的可靠性的SLA99.995%,但我们也无法说ECS100%可靠的。如何进一步提升应用的可靠性呢?这里我们主要提供了三个能力。

 

第一,系统事件。阿里云在过去十几年服务上万家企业客户的经验中,沉淀了非常完善的故障预测机制和热迁移能力,当发现底层宿主机存在软硬件异常时,通过热迁移将其上的ECS无感地迁移到健康的宿主机上去,避免单个ECS实例不可用,最终实现了阿里云单个实例SLA99.975%,业界领先。虽然单个实例的SLA非常高,但并不意味着ECS100%可靠的。当ECS因为底层基础设施出现异常的时候,比如ECS底层的宿主机出现宕机,影响了上面的ECS,阿里云会及时的给用户推送运维事件,告诉用户,方便用户快速的感知基础设施的问题。同时,阿里云的故障预测能力识别到ECS底层宿主机的潜在宕机风险,如果ECS无法通过热迁移进行规避,阿里云也会通过主动运维事件(也叫计划内运维事件)提前通知用户,让用户选择业务低谷期进行响应。所以系统事件反映的是对底层基础设施可靠性的可观测能力。

 

第二,部属集。如果应用对底层基础设施的可靠性非常敏感,我们可以通过部署集来指定集群里的ECS在不同宿主机上的分布策略。比如我们可以指定ECS尽量打散在不同的宿主机上,这样能降低单台宿主机出现的问题,给整个业务集群带来的风险的影响面。

 

第三,ECS诊断工具。诊断工具可以一键扫描并识别ECS Guest OS的内部异常和外部风险。ECS外部问题主要包括ECS的售卖状态、安全组的配置策略、管控的状态是否正常;内部异常包括Guest OS系统配置、重要文件配置、常见服务状态等。通过ECS的诊断工具,我们能够快速的定位并解决ECS无法远程连接、无法启动、性能受损、重复宕机的问题等。

 

借助这三个能力,我们就能快速地提升应用的可观测性和可靠性,够缩短业务的受损时长。

 

image.png

第四个是弹性。这里主要介绍一下通过弹性伸缩提升应用高可用的能力。弹性能力其实是云最基本的能力,也是最能体现云厂商实力的能力。弹性伸缩是根据业务负载的波动自动调整算力的管理服务,所以它所支持的扩缩容的模式越多,能够适配的场景也越多。目前,阿里云的弹性伸缩支持定时的模式、动态的模式、手动的模式、智能模式等组合使用,来更好地匹配业务的变化方式。弹性伸缩支持配置多个可用区和多种实例规格,这样能够避免应用经受单个可用区出现问题时候的高可用能力。

 

给大家看一个简单的例子,对于线上服务而言,在传统的方式下,如果是人工的方式去响应,它会存在一些问题。如果我们前期按照峰谷的方式配备资源,我们就会发现在业务低谷期时,就会产生严重的资源浪费。反之如果出现了超出业务需求的场景下,我们也会出现资源不足的情况。同时当业务的变化比较频繁的时候,如果我们需要人工去介入,那么整个人工介入的时效性以及数量规划的要求是很高的。人工响应也会比较慢,一旦人工没有及时响应或者判断失误,就会导致业务受损。所以,在这种情况下,弹性伸缩可以很好地解决这个问题。

 

此外,我们在弹性伸缩过程中组合使用按量和spot实例能够进一步的降低成本,但它的确也是有门槛的。因为spot实例的成本非常低,但它只有一个小时的保护期。如果超过了一个小时,就需要根据市场的价格波动来决定用户是否能继续使用该实例了,如果出价低于它的市场价,这个spot实例可能会被回收。

 

目前,弹性伸缩组可以和负载均衡包括SLBALBNLB进行自动的联动,也可以和RDSPolarDBADB等数据库进行自动关联。我们只需要通过伸缩配置和启动模板来指定伸缩组每次扩容出来的实例长什么样,以及通过伸缩规则指定扩缩容的时间。在这个过程中,弹性伸缩就会根据业务的波动自动的进行扩缩容,最终让资源的量和业务的负载波动进行完美的匹配,实现业务的高可用,同时也能够降低使用成本。

 

image.png

第五个是安全。ECS的安全能力是需要云厂商和客户共同构建的,所以云上的安全能力遵循责任共担的模型。云厂商负责云本身的安全性,即云厂商需要对底层的基础设施和操作系统之上的虚拟化和云产品负责,它是ECS所依赖的底层基础设施。而客户负责云上的安全,即客户则需要负责和配置使用ECS所有相关的配置来提升ECS本身的安全性。

 

要体系化建设ECS的安全能力,首先需要了解ECS的系统架构。上面这张图其实展示了ECS的完整架构,分成上下两大部分,与前面提到的云厂商和客户各自负责的范围是对应的。

 

底层是基础设施,比如地域、可用区、硬件设备,它包括计算资源、服务器、存储、网络设备等硬件设备,还有底层虚拟化的软件服务,这是ECS依赖的基础设施。这部分的安全性是由云厂商来保障。

 

上层就是ECS实例本身,也是客户直接能看到并能管理操作的部分。实例操作系统内属于客户的范畴,云厂商无权查看或访问实例内的数据,所以,ECS实例本身的安全需要客户自己来把控。从业务角度来说,ECS实例也会分成几层,包括最底层的Guest OS,即镜像和操作系统,应用程序,然后是客户数据等。

 

因此,要提升ECS本身的安全性,我们可以把它分成几个方面。

 

∙        Guest OS安全,主要指的是操作系统的安全。比如我们使用的镜像有没有进行安全加固,我们是否需要使用等保合规的镜像,这是操作系统安全的基础。

∙        访问安全,主要指的是哪些用户能够访问ECS,哪些用户不允许访问,访问的时候是否要使用非root的账号等。访问安全决定了实例是否会被非授权访问。

∙        网络安全,更多指的是做网络的隔离和网络的访问控制。比如VPC的网络隔离,ACL的访问控制,以及安全组的安全规则的限制,来提升整个网络的安全。

 

以上几个安全性更多是单个垂直维度,如果我们想提升ECS的数据安全,它就涉及到端到端的安全体系建设,包括对计算中的数据进行加密,对数据的落盘、存储进行加密,以及当灾难出现的时候,能够做到快速恢复数据等。由于这部分属于客户的数据范围,需要客户自己进行配置,但阿里云在这个维度上也为用户提供了非常多自动化的能力,来帮助用户提升ECS在云上的安全性。

 

image.png

 

通过前面五个维度的介绍,我相信大家对CloudOps在成本、自动化、可靠性、弹性、安全合规,这五个维度能够帮大家解决的问题有了一个初步的了解。但还有一个产品我没有介绍,就是ECS使用成熟度评估与洞察,下面我们来看一下这个产品能够帮大家解决什么问题。


更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(3):https://developer.aliyun.com/article/1405384

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
52 4
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
61 1
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
1月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
1月前
|
存储 运维 Cloud Native
阿里云国际CloudOps的优势和云上运维的特点
阿里云国际CloudOps的优势和云上运维的特点
|
3月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
2月前
|
运维 监控 数据可视化
高效运维的秘密武器:自动化工具链的构建与实践在当今数字化时代,IT系统的复杂性和规模不断增加,使得传统的手动运维方式难以应对日益增长的业务需求。因此,构建一套高效的自动化工具链成为现代运维的重要任务。本文将深入探讨如何通过自动化工具链提升IT运维效率,确保系统稳定运行,并实现快速响应和故障恢复。
随着企业IT架构的不断扩展和复杂化,传统的手动运维已无法满足业务需求。自动化工具链的构建成为解决这一问题的关键。本文介绍了自动化工具链的核心概念、常用工具及其选择依据,并通过实际案例展示了自动化工具链在提升运维效率、减少人为错误、优化资源配置等方面的显著效果。从监控系统到自动化运维平台,再到持续集成/持续部署(CI/CD)的流程,我们将一步步揭示如何成功实施自动化工具链,助力企业实现高效、稳定、可靠的IT运维管理。
|
3月前
|
运维 监控 持续交付
"揭秘Puppet:自动化运维的超级英雄,一键驾驭复杂IT环境,让运维繁琐瞬间灰飞烟灭,引领未来运维新纪元!"
【8月更文挑战第9天】Puppet作为自动化运维的杰出代表,凭借其强大的配置管理和高度可定制性,助力IT运维实现自动化与智能化转型。通过定义资源模型与使用声明式语言描述系统状态,Puppet能自动调整系统至期望状态,实现标准化运维流程。其工作流程包括定义-应用-报告三步,支持从服务器配置到复杂网络、数据库管理等多种场景。示例代码展示了如何自动化部署Apache服务器,体现了Puppet在实际操作中的高效与便捷。随着技术演进与社区壮大,Puppet将持续推动运维领域的创新发展。
71 6
|
3月前
|
运维 应用服务中间件 Apache
震撼登场!Ansible roles 化身自动化运维神器,打破传统束缚,开启运维新时代!
【8月更文挑战第9天】Ansible是一款强大的自动化运维工具,其Roles功能将复杂任务分解为可复用模块,提升代码的可读性、可维护性和可扩展性。通过创建结构化的目录,如tasks、handlers和vars等,可以清晰地组织配置与任务。例如,为Web服务器创建一个Role,包含安装Apache、启动服务等任务,并可在不同的Playbook中重复使用此Role,简化大型集群的配置管理工作,提高效率和质量。
44 6
|
3月前
|
人工智能 运维 Prometheus
构建高效自动化运维体系:打破运维困境的震撼之举,点燃企业发展的超级引擎!
【8月更文挑战第7天】《构建高效自动化运维体系的实践与思考》
64 4
|
4月前
|
运维 监控 安全
云上智能监控:引领未来安防与运维的新纪元
通过智能视频分析技术自动识别违章行为(如闯红灯、超速等)并触发报警机制。同时结合交通流量监测和信号灯控制功能实现交通流量的优化和拥堵缓解。 智能零售监控:在零售行业中云上智能监控可以应用于店铺的客流统计和商品管理。