《阿里云:CloudOps 云上自动化运维白皮书 2.0(2023)(103页).pdf》由会员分享,可在线阅读,更多相关《阿里云:CloudOps 云上自动化运维白皮书 2.0(2023)(103页).pdf(103页珍藏版)》请在三个皮匠报告上搜索。
1、封面页(此页面将由下图全覆盖,此为编辑稿中的示意,将在终稿 PDF 版中做更新)(待分享)CONTENT1前言:提出CloudOps成熟度模型CARES23CloudOps成熟度模型整体及等级说明4自动化能力Automation 背景:DevOps与云不谋而合,亟待融合CloudOps:Cloud x DevOps总结CloudOps的主要衡量纬度和定义企业运维实践的现状与趋势Cloud的特点与趋势CloudOps的定义与主要衡量指标递进的成熟度模型成熟度模型等级说明自动化能力的基本概念自动化的业务价值如何衡量企业运维体系的自动化成熟度阿里云的自动化能力和产品CloudOps云上自动化运维白皮
2、书2.0070911121315181821212225CONTENT5弹性能力Elasticity67安全和合规能力Security弹性能力的基本概念弹性能力的业务价值如何衡量弹性能力成熟度?提升弹性能力的建议与步骤弹性工具推荐可靠性能力Reliabilty基本概念构建可靠性管理能力的业务价值多个层面构建可靠性可靠性衡量标准工具推荐基本概念业务价值多个层面构建的安全与合规能力工具推荐CloudOps云上自动化运维白皮书2.02930313334444445494955565674CONTENT8成本和资源量化管理能力Cost9成本管理能力的基本概念成本管理能力的业务价值如何衡量成本管理能力成
3、熟度10工具推荐CloudOps成熟度模型全景图CloudOps云上自动化运维白皮书2.0成本管理和控制评估自动化能力评估可靠性评估弹性评估安全与合规评估79798788949698100102CloudOps成熟度自评 6 版本说明 一、前言:提出 CloudOps 成熟度模型 CARES 7 一、前言:提出 CloudOps 成熟度模型 CARES 1.背景:DevOps 与云不谋而合,亟待融合 DevOps 已经成为了近年来运维的主要趋势之一,越来越多的企业在拥抱和实践DevOps 文化,也越来越多的企业在公有云中使用 DevOps,但是绝大部分企业都认为自己没有发挥和使用 DevOps
4、 的核心能力。本章节将分享我们对这个问题的看法,并提出我们的解法:CloudOps。1)DevOps 越来越被广泛使用 DevOps 本质是为了协同公司内多个不同团队快速朝着同一个业务目标前进,而衍生出来的一系列流程和自动化工具,强调的就是组织和业务的敏捷性。DevOps 理念囊括团队文化、组织协同和研发运维多个方面,希望消除研发、运维之间的利益差异和差距,促进团队协作,专注于端到端的能力交付和系统建设,让软件交付的全生命周期中的开发、部署、维护和扩展等各个步骤更加有效率,降低故障次数和故障时长,充分体现了以产品和效率为中心来进行软件开发和交付。通过 DevOps 理念的实践,企业提高了研发效
5、率,缩短了业务从研发到上线的周期,从而提升应用交付质量和交付效率。DevOps 模型定义了几个成功的关键分组,这些对于应用成功和提升效率非常有帮助。敏捷开发的过程管理:实现高效协同,定义人与人之间的协同,业务和技术之间的协同,组织和团队的治理以及需求管理等多个要素和因子。持续交付:通过定义更好的 CI/CD 工具来完成灵活变更和持续交付部署,更好地构建环境以及提升可视化能力。技术运营提升:可以快速构建所需要的基础设施和资源保证,对于监控预警、问题发现、容量管理、变更管理和成本管理等,提供体系化的支撑。随着 DevOps 越来越成熟,众多的企业通过 DORA 指标来衡量交付的效率,以及交付和变更
6、的质量,主要包括部署频率(Deployment Frequency)、变更提前期(Lead Time for Changes)、平均恢复时间(Mean Time to Recovery)和变更失败率 一、前言:提出 CloudOps 成熟度模型 CARES 8(Change Failure Rate)这四个维度,这几个指标体现了企业对应用交付的敏捷程度以及对于故障处理的时效性和效率。2)云上运维面临的挑战 在 DevOps 文化被广泛采访的同时,也有越来越多的企业借助云计算来实现数字化转型。云平台提供了巨大的计算力资源,规模化的弹性优势、丰富的标准化云产品、自动化工具,自助服务的模式不仅能帮助
7、企业 IT 设施云化,按需取用随取随用的业务场景和自助服务的模式大大增强了企业基础设施需求和变更的敏捷性,借助于云平台和开源的监控以及运维自动化能力可以大幅提升应用的可观测性,提升故障的发现率,降低故障的恢复时间。然而,研究表明,越来越多的企业在公有云中使用 DevOps,但是绝大部分企业都认为自己没有发挥和使用 DevOps 的核心能力。这是因为,将传统的 DevOps 直接搬到云上,并不能充分利用云的优势,因为相比于传统的 DevOps 的运维模式,云上自动化运维的模式和思维仍然有着不小差异。这也是部分企业上云之后,建立一套云原生自动化运维体系的挑战。操作对象的差别?传统运维:直接操作的是
8、物理的计算、网络、存储的硬件。?云端运维:大多通过软件暴露接口或 OpenAPI 来进行操作经过抽象的资源。资产和资源的区别?传统运维面向的服务器是企业资产,需要提升单机的利用率,并提前很久规划资源。?云端运维则是在弹性租赁资源,除了提升单机利用率,还可按需扩缩容,利用 OpenAPI 和应用分组来管控资源。统一化规模化差异?传统运维一般操作的规模相对较小,管理的机房相对明确和有限。?云端运维可快速通过资源的弹性能力轻松的管理数百台、跨机房的服务器。一、前言:提出 CloudOps 成熟度模型 CARES 9 强调安全可审计?云端操作来源和对象相对复杂,对操作审计和操作来源及报警的时效性要求比
9、较高。?云端可将服务通过命令直接暴露在公网中,需要更多安全和网络规划能力来降低系统风险。?高频的可编程自动化运维需要有比较好的审计和问题追踪能力,避免越权和不容易被追踪的问题。可见,DevOps 需要根据云的特性进行一系列改造,才能与云进行更好地融合。2.CloudOps:Cloud x DevOps 我们看到越来越多的企业在云上实践 DevOps,为了更好地发挥 DevOps 和云的双重敏捷特质,我们在 2021 年提出了 CloudOps(云上自动化运维)的思路来帮助企业在云上更好的落地 DevOps,充分的利用云平台和 DevOps 的技术优势。我们认为 CloudOps 可以更好地贯彻
10、 DevOps 的理念和精神。1)如何理解 CloudOps CloudOps 是运维领域的 DevOps 理念与云原生理念的融合,通过在云平台上借助于云原生架构实现运维的再进化,充分帮助企业降低 IT 运维成本、提升交付速度和系统灵活敏捷度、增强系统可靠性,构建更加安全可信开放的业务平台。基于阿里云服务数千家企业客户的十多年的经验,我们总结了一些常见的最佳实践,撰写了这本云上自动化运维白皮书(简称CloudOps 白皮书),并在其中提出了 CloudOps 成熟度模型,我们会从五个方面建设和评估 CloudOps 能力,期许提供云上自动化运维的最佳实践和参考,帮助客户更加充分地利用云带来的优
11、势,进一步提高业务交付质量。这套模型可以简称为 CARES 模型,即成本管理(Cost)、自动化能力(Automation)、可靠性(Reliabilty)、弹性(Elasticity)和安全与合规(Security)五个方面。CloudOps成熟度模型是对云上企业 Ops 能力的的评估,也是对云厂商产品能力和自服务能力的评估,评估云厂商是否有提供足够全面的工具和能力,让客户便捷地实现这些功能。一、前言:提出 CloudOps 成熟度模型 CARES 10 2)CloudOps 的优势:云与 DevOps 的双重价值 DevOps 给应用软件开发带来了极大的便利性。由于云服务有着“软件定义一切
12、”和“弹性敏捷”等特点,跟 DevOps 的理念非常一致,这两者带来的优点是非常类似的。采用 DevOps 理念,有以下四个方面优点和目的:降低整体成本支出:打通不同团队来降低人员冗余,通过持续的自动化投入,例如 Infrastructure as Code(IaC)、Ops as Code 等,来降低人工成本。提升整体的交付速度:通过敏捷形态和自动化达到。提升灵活性:更快的交付速度意味着可以快速迭代、提升效率。增强系统的可靠性:通过标准化、工具化、自动化实施避免人为错误,以及问题排查的 MTTR(平均修复时间,Mean time to repair)。使用云服务管理的也有类似的优点:降低整体
13、成本支出:减少对硬件的采购和运维的相关人力;企业按需消费,合理选型与计费,避免闲置。提升整体的交付速度:云提供大量开箱即用的资源,分钟级创建与释放,加快部署速度。提升灵活性:更快速、更细颗粒度交付资源,能够快速的适应市场需求与各种运营活动需求。增强系统的可靠性:云服务天然提供了高可用的系统设计,例如多可用区、备份恢复、热迁移等手段,降低物理资源故障带来的损失;通过云服务厂商提供的工具和服务化能力,可以大幅降低部分问题和故障的排查难度,创建更具弹性、安全性和标准化的系统。近几年来,我们欣喜地看到越来越多的企业和个人开发者将自己的测试环境和生产环境迁移上云。我们能看到云和 DevOps 之间有着许
14、多相似的优点,通过将 Cloud和 DevOps 结合,将能发挥更大的价值,包括降成本、提升交付速度、更灵活、提升系统可靠性等。结合了云计算的 DevOps,不仅仅可以提升效率和优化 TCO,同时它还使我们的系统能够在不断变化的复杂环境中更可靠地工作。一、前言:提出 CloudOps 成熟度模型 CARES 11 3.总结 相信基于以上论述,读者们能够更加了解我们为什么认为云端的 DevOps,需要有一套更为成熟和体系化的理念,才能帮助企业在云时代更好地发挥云和 DevOps 的优势。我们提出的新思路CloudOps(云上自动化运维),就是在此背景下诞生。阿里云弹性计算团队内部,联合十多位专家
15、,共同编撰了一套 CloudOps 成熟度模型。如前所述,这套模型的几个维度我们可以称为 CARES,即成本管理(Cost)、自动化能力(Automation)、可靠性(Reliabilty)、弹性(Elasticity)和安全与合规(Security)五个方面,来评估企业的 CloudOps 成熟度。每个维度如何理解,我们将在下面章节展开。二、CloudOps 的主要衡量纬度和定义 12 二、CloudOps 的主要衡量纬度和定义 1.企业运维实践的现状与趋势 根据 Gartner 2021 Top10 Technology Trends Impacting DevOps、Puppet St
16、ate of DevOps Report 2021 以及我们所观察到的业界趋势,我们观测到了企业运维实践有以下几个趋势形态:1)越来越多的企业在公有云中使用 DevOps,但是绝大部分企业都认为自己没有发挥和使用 DevOps 的核心能力 65%的企业已经在公共云中使用 DevOps。只有 20%的企业认为自己充分用到了 DevOps 的全部能力。自动化已经成为 DevOps 实践中最高优先级的任务,通过结合云的优势和自动化能力,可以进一步推进 DevOps 的能力演进。2)微服务架构的实施带来巨大的便利,也带来了新的挑战 服务拆分导致应用激增,统一简单的可观测性是个巨大的挑战。更多的应用拆分
17、和并行的任务开发模式可能会导致更多的故障点。应用之间的依赖关系对于单个应用的可靠性和可用性有了更高的要求。3)分布式应用的复杂性非常高 网络延迟,容错,消息序列化,不可靠的网络和底层资源,异步性,版本控制。可测试性和异步调用让链路复杂。更高更难的 DevOps 要求。4)自助服务(Self-Service)已经是企业的一个迫切的需求 预测到 2025 年,75%的大型企业将建立自助服务基础设施平台,以帮助快速进行产品创新,而 2020 年这一比例为 15%。二、CloudOps 的主要衡量纬度和定义 13 AI 和 ML 将推动 DevOps 快速进化。5)安全成为研发运维一体化关注的重点之一
18、,希望把安全审查前置,让相关人员尽早参与进来,出现了 DevSecOps 的说法。以上趋势也反映了企业在 DevOps 落地过程中的难点或者需要进一步加强的环节,主要包括:要充分发挥 DevOps 的核心能力,突破点在于全局自动化能力的提升。大多数企业做到了局部流程的自动化,但由于组织结构等原因,推进统一的自动化工具开发、管理与维护成本高周期长,导致很难全链路打通。应用可靠性提升的经济和技术门槛高,不仅涉及到物理基础设施的稳定可靠,还需要从架构设计上考虑应用的可用性。可观测性非常重要:对于复杂的分布式系统,快速定位异常点并快速恢复依赖多层级的可观测能力,包括基础设施、应用层、业务层等。自助服务
19、模式的普及迫在眉睫:在 DevOps 模式下,每个开发人员需要自助完成开发、测试、集成、发布、部署等一系列任务,自助化工具可以大大提升开发人员的效率。智能化运维能力的诉求:AI 和 ML 是智能化运维的基础,可以极大提升运维效率,但智能化平台的搭建与校准门槛较高。2.Cloud 的特点与趋势 要充分利用云的优势,首先需要了解云的特点、能力和未来趋势,才能云上快速实现业务的交付。根据 DevOps and Cloud infoQ trend report-June 2022 报告,以及我们服务上万家企业客户的经验,我们总结云服务提供商必须具备的基础能力包括:二、CloudOps 的主要衡量纬度和
20、定义 14 按需取用与成本洞察需要两手抓:云最早被提出来时,就希望做到像水电煤一样按需取用按量收费,所以云资源提供灵活丰富的付费方式是云的基础能力之一。但随着企业用云越来越深入,以及云计算技术红利的释放,成本洞察与优化成为企业深入用云的要求。大规模的弹性:传统 IDC 模式下,从资源规划到真正可使用基本是以年为单位进行规划。但云计算本质上是一个规模经济,云的规模体量不仅可以大大缩短企业所需资源交付的周期,而且还可以灵活应对超出规划外的临时资源需求,随开随用弹性扩展。一致的使用方式:云产品或云服务均提供标准化的 OpenAPI 接口,并支持常见的主流编程语言(包括 Java、Go 等)的 SDK
21、,可快速接入或被集成至各种平台。低成本的可靠性:云服务提供商通常会在多个地域,或一个地域的多个可用区提供云服务,企业可以根据业务需要在多个可用区同时部署业务,避免业务因单个可用区出现异常时变得不可用,自动实现业务的高可用。全方位的安全能力:除了数据合规、数据加密等基础的云上安全能力外,基于云的灾难恢复能力成为云上安全的新趋势,当业务的主要基础设施出故障后,云上灾难恢复能力能备份数据,并通过 IT 设施的快速构建让业务快速恢复。自助服务模式:自助服务是云最重要的能力之一,丰富完善的自助服务能力能大大加快企业在云上构建业务流程的效率。数据化和智能化的趋势:云平台可以完整记录用户的资源使用数据,包括
22、资源规模,使用习惯,资源配置等。通过机器学习算法对这些数据进行分析建模后,可为用户提供定制化和个性化的业务洞察与分析,而无需企业从 0 到 1 进行建设。二、CloudOps 的主要衡量纬度和定义 15 3.CloudOps 的定义与主要衡量指标 正如前言所述,CloudOps 是传统 IT 运维和 DevOps 的延展,通过云原生架构实现运维的再进化,充分帮助企业降低 IT 运维成本、提升交付速度和系统灵活敏捷度、增强系统可靠性,构建更加安全可信开放的业务平台。根据 CloudOps 的定义是 DevOps x Cloud,即 DevOps 和 Cloud 的深度结合,其主要衡量指标也和 D
23、evOps 和 Cloud 息息相关。DevOps 的核心特质是:提升研发速度、提升质量、自动化、敏捷、持续交付、高度透明、节约成本等。Cloud 的核心特质是:节约成本、安全、弹性灵活、增强协作、可观测、质量控制、故障恢复、可持续性等。DevOps 发轫于运维领域,运维领域最关注的,无外乎稳定、安全、降本(成本管理、增效(自动化)等,而在随着互联网“小步快跑、持续迭代”原则的兴起,对企业创新的速度和软件的交付效率有了更高要求,因此,敏捷成为了新时代的共同诉求。综合 DevOps 与 Cloud 的特性来看,运维人员最关注的维度无外乎以上五个,它们分别是:成本、自动化、可靠性、弹性(敏捷)、安
24、全,因此本白皮书将从以上五个维度分别进行阐述和说明。DevOps 已经在组织文化、产品、流程和工具有比较详细的定义,即通过敏捷组织和高效的持续集成持续发布,实现业务高质量的快速交付。因此,本文将不会讨论 DevOps 关于研发支持体系、需求管理、任务管理、代码管理等内容,而是更多地从如何更好的利用公有云的能力与特点,基于我们服务海量客户的最佳实践与经验,为大家分享我们对这五个维度的理解与实践。二、CloudOps 的主要衡量纬度和定义 16 1)成本和资源量化管理 云提供了大规模的资源创建和变配策略,也提供了多种多样的付费和计费手段以及方便灵活的变配方法,如何选择合适的资源规格和付费方式是非常
25、重要的。由于其方便灵活的特性,往往会有类似停机不收计算类资源费用,以及折扣非常低的抢占式实例,特别是按需创建资源和关停不需要的计费资源,需要我们有良好的成本和资源量化管理习惯和能力。2)自动化能力 云计算核心就是自动化的运维能力,通过软件定义计算、存储、网络,来实现高级的可编程能力,从而避免人工配置的错误,充分实现可定制的自动化能力。而公有云的服务模式要求云厂商提供的云产品和云服务都必须是统一标准的,即所有云产品和云服务都可以通过 OpenAPI 进行调用,从而实现完全自动化的能力。3)高可用能力 云计算天生就是为提升可靠性和可用性而设计的,通过大规模数据中心、多数据中心技术,实现数据中心同城
26、灾备,通过对硬件层的虚拟化,来降低和规避物理硬件故障对客户的影响,通过成熟高可用的服务来降低系统的复杂性。为了进一步提升应用的可观测性和问题的排查能力,云平台还会提供比较多的自助服务来做问题的排查和解决。4)弹性能力 云计算另外一个巨大技术红利就是弹性能力,针对计算、网络、存储、安全等基础资源,充分的发挥资源池化和分时复用的价值,通过弹性能力帮助客户应对业务的高峰,充分降低社会成本和企业运营的 IT 成本,提升资源的利用率,可以极速实现资源到应用的水平或者垂直升级,通过秒级到分钟级扩缩容能力,完成计算力的创建和释放。二、CloudOps 的主要衡量纬度和定义 17 自建 IDC 或者私有云面临
27、 2 大突出问题?前提投入高、资源使用不足存在大量浪费。?后期业务发展快,资源难扩展。而公有云自建立之初就定位为:让资源像水电煤等基础设施一样,按需取用,按量付费,快速交付,灵活便捷。这种按需取用,不需要时直接释放的能力其实就是公有云弹性能力的最直观体现,而弹性能力也是云计算最重要的能力之一。公有云采用的是按需付费的服务方式,如果用户持续保有不需要的资源,或者出现资源错配,则会带来不必要的成本支出。因此,对云上用户而言,充分利用云上的弹性能力除了能快速满足业务增长的需求或提升业务的连续性外,还意味着有效降低云上不必要的成本。5)安全和合规能力 云上的安全涉及到多方面,包括底层技术设施和应用层,
28、这里我们主要讨论的跟底层资源相关。首先第一个便是网络安全。区别于传统的 IDC,云计算为了对租户进行隔离,一般会构建私有网络或者专有网络,通常我们称为 VPC(Virtual Private Network)。VPC相较传统网络有更好的灵活性、易用性和安全性,并且暴露了更多的能力来提升网络扩展性。它允许用户按需规划、定义自己的网段划分和路由规则,将传统的路由器交换机抽象成软件,并暴露给最终用户使用。VPC 良好的扩展性,让用户能够构建简单可信的网络配置,实现企业级复杂的网络环境。对于VPC的规则设置和配置,都将大大影响网络安全性。另外,DevOps 中操作审计和追踪是非常重要的能力,在 Clo
29、udOps 中亦然,云计算平台一般也会相应的为您提供面向资源和操作的配置历史追踪、配置合规审计等能力,帮助客户轻松实现基础设施的自主监管,确保持续性合规。三、CloudOps 成熟度模型整体及等级说明 18 三、CloudOps 成熟度模型整体及等级说明 1.递进的成熟度模型 运维是对资源和应用的全生命周期的管理和能力提升,进而在成本、稳定性、效率上达成一致可接受的状态。云上运维也是类似的,也是一个从简单到复杂、从成长到成熟的过程,持续以提升安全合规、降低成本、提高效率为核心目标。在现实中,根据使用者的上云状态、使用规模等,其云上运维的思路都不尽相同,但其规律确是有迹可循。创业公司从第一天开始
30、就在云上部署其生产环境服务客户,而对于已经存在 IT 投入的公司来说,则需要花费更长的时间逐步上云。无论哪种场景,其运维需求都会持续存在,随着业务不断发展,运维也日益复杂,因此有效地规划和制定运维策略及方法就非常重要,该模型致力于提供一个已被大规模验证的最佳实践供各位参考。2.成熟度模型等级说明 在后续章节中,我们会针对 CloudOps 成熟度模型的五大维度进行拆解,并对每个维度进行分级,不同等级说明如下:1)初级 代表了该类别的初步使用状态,企业刚开始考虑到这些特性(自动化、可靠性、安全和合规等),在实践中探索相关的云产品,在使用中以默认的使用方式为主,或接受其推荐的配置模式,简单开启相关
31、的功能,这样即可满足当时的需求,所以定义为初级。该等级往往可以对应到相关云产品的最基础的能力,默认配置、快速配置为主。三、CloudOps 成熟度模型整体及等级说明 19 2)中级 随着业务的不断发展,云上规模的逐步扩大,企业对于这些特性(自动化、可靠性、安全和合规等)的需求不断提升,初级的使用方式已经不能够满足需求,默认的配置不再符合具体的场景,此时需要深入了解各个相关云产品的特性,然后做出更多的、符合自身场景的配置和规划。该等级往往可以对应到相关云产品的中阶能力,需要根据场景调整配置和规划。3)高级 企业云上的资源已经具备了一定的规模,对于这些特性(自动化、可靠性、安全和合规等)的需求更加
32、严苛,提高效能和降低成本甚至成为核心诉求之一。此时对于这些特性(自动化、可靠性、安全和合规等)将会一一拆解并进行调研和分析,如何可以最大化地利用云上已有的能力成为其实施的关键,对于各项指标的要求不断接近行业领先水平。该等级往往可以对应到相关云产品的高级能力,甚至包括很多 beta 能力,以便满足自身严苛的高需求。4)标准化 该阶段的特点是要求企业在常规运维操作上具备极佳的可复制能力,其各项流程和指标都成为公司内的一个基本标准,并且以技术的方式将其落地,可以从一个模块复制到其他模块,新建的模块自动获得以上的高标准能力。公司内部对于这些特性(自动化、可靠性、安全和合规等)已经形成了共识和策略,并持
33、续审视和演进。该等级通常要求一个中心化的标准和策略落地平台,以规范其作业流程和配置,并持续迭代。三、CloudOps 成熟度模型整体及等级说明 20 5)智能化 从分离的 Dev 和 Ops 到一体化的 DevOps,再从 DevOps 到更适合云上场景的CloudOpsCloud 所特有的规模效应将会使 CloudOps 更快实现智能化运维AIOps,实现更多的主动化运维(SmartOps,注:AI 和 ML 以前的智能化运维简称为 SmartOps,即主动和自动化相结合的运维方式),以期更加智能地处理出现的故障,甚至在真正的故障出现之前预先处理故障以避免故障的发生。智能化要求的不仅仅是自动
34、,而是有了部分学习、预测的能力。相同的智能化同样会出现于其他特性中(弹性能力、成本控制等),提供更加准确的预测能力有利于进一步降低成本,而更加智能的成本预测也会帮助财务更早地做出有支撑的决策等。该等级通常从使用具备 AI 能力的各项云产品开始,然后逐步地从局部的、单个的场景开始,逐步演进成系统化的、全面的智能化,最终实现真正的智能化。四、自动化能力 Automation 21 四、自动化能力 Automation 1.自动化能力的基本概念 自动化即是通过运用工具或系统达到减少、甚至是完全取代人工的操作。以完成一个云资源的创建为例,完全人工的操作即在控制台上,完全通过鼠标和键盘在网页上进行操作,
35、以完成资源的创建和购买的目的。这个创建和购买的过程可能包括 10 个,乃至 20 个以上的操作。而自动化的方式,即是减少需要的步骤,从 20 个步骤,减少到 10 个,进而减少到 5 个,3 个,甚至1 个,最终可以一键完成一个自动化操作。这依然需要人工来触发整个自动化的流程,再进一步,则可以自动触发。如在流量高峰时段,自动创建服务器并部署应用就是一个完全的,100%的自动化的例子,整个过程无需人工参与。2.自动化的业务价值 自动化的业务价值整体可以归纳如下:降低成本,提升效率:现代 IT 的核心特点即是快,天下武功,唯快不破,效率提升,永无止境。而达成效率提升的最佳手段即在于将重复的、低效的
36、、容易出错误的人工操作转变为自动的、高效的、稳定的自动化操作,同时也将降低员工所需要付出的时间等成本。减少人工错误:当需要人工不断重复地、机械性地完成一项工作时,非常容易造成疲劳,疲倦,从而操作粗心造成错误,很多云上的大事故,都是因为人工的不当操作而造成的。甚至是在故障的处理过程中,因为缺乏标准流程或标准自动化工具,进而导致更大的故障。提升员工满意度:大概没有人会喜欢这种重复的、机械的人工操作,尤其是还可能造成重大事故的情况下。因此提升自动化,则可以提升员工的满意度甚至是幸福感,进而可以提升运维(Ops)的乐趣,让员工可以快乐地工作。四、自动化能力 Automation 22 3.如何衡量企业
37、运维体系的自动化成熟度 任何事物的成功都离不开客观的数字化,以及相关的衡量指标。依据指标可以清晰地看到自己所处的自动化阶段,自动化的应用程度,以及未来继续发展的方式和目标。1)自动化率 统计出日常工作中所需要的所有和开发及运维相关的操作,然后看看其中多少的操作已经是自动化完成的,多少操作是半自动化所完成的,多少操作是手工所需要完成的,分别占比多少,最终可以形成一个全局的饼图。运维操作自动化占比示例 2)操作时长和频次 毋庸置疑,自动化的操作速度远大于手工操作。如能记录完成操作所需要的时间,再进行自动化前和自动化后的对比,便可轻易地看出自动化的价值所在。尤其是频繁,复杂的操作,业务价值的体现则会
38、更加明显。现代 IT 中最为频繁的操作为:环境部署(Infrastructure)环境配置(Configuration Management)四、自动化能力 Automation 23 应用部署和配置(Application Deployment)日志、报警或故障处理 3)平均修复时间 MTTR 从报警发生到故障被解决,系统被恢复的时间,称之为平均修复时间(Mean Time To Repair),它的公式如下:平均修复时间=总故障时间总故障次数 举例来说,假设一年的总共故障时间是 100 小时,总的故障次数是 12 次,则平均修复时间为 8.3 小时。进一步,则可以根据故障的分类,模块,根因
39、等进行分类,分别进行统计。特别说明:在严格的情况下,请注意平均修复时间和平均恢复时间的稍许区别,前者不包括从故障实际发生到报警的时间,只是包括故障已经被发现,并且开始进行故障修复的时间,而平均恢复时间包括两者:从故障实际发生到故障报警,和故障报警到故障修复的时间。通常来说,故障报警所需要的时间相当于修复所需的时间而言较短,且占比较少,因此在宽松的语境下,两者会被混用。4)高质量的自动化所应具备的特性 自动化能力的构建应该按照正式的产品和项目进行,同样需要需求管理,调研,设计,研发,测试和部署等必要的环节,并保持持续迭代。而部署后的环境同样需要具备健康管理,从而进行监控,报警,故障和修复等。必要
40、时,进行整体性的优化,改造和升级。除此之外,现代化的自动化还应该考虑以下需求:完备的角色管理和授权体系:毋庸置疑的是,自动化能力将会涉及到所有系统的所有环节,包括核心业务系统,机密数据等操作。越是重要的系统应该越依赖自动化能力而非手工方式,因为人工的处理存在种种的弊病,如因为粗心导致的失误操作等。因此,完备的角色管理和授权体系可以保证重要业务持续运行,以及保证机密数据的安全性。四、自动化能力 Automation 24 具备审计能力:所有的自动化都应该具备可以被审计的能力,尤其是当所操作的对象是核心业务或机密数据时,更依赖审计能力去保证其安全。其次审计能力也有利于自动化系统本身故障的排查。Cl
41、oud 上的云产品大多已经接入了Cloud 上的审计服务,应该开启这类服务,并时常检查数据的完整性,保证关键的操作都被记录了下来。标准化和平台化:统一的自动化能力是其他特性的重要依赖,标准化和平台化的目的都是为了统一。统一性的管理也有助于平台自身的建设,尤其应该避免建设多个自动化平台。统一的自动化平台也有利于公司统一进行监督和扩展,如要修改审核规则时,更容易落实规则。5)自动化能力成熟度模型 四、自动化能力 Automation 25 如果您希望对所在企业的自动化能力成熟度进行评估,建议至第十章进行“CloudOps 成熟度自评”。4.阿里云的自动化能力和产品 1)第一层:特定场景的自动化能力
42、 适合“中级”的自动化场景和需求。弹性伸缩?使用场景:当服务器数量需要进行弹性化管理时。?弹性伸缩服务:弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。您可以指定实例的类型,即 ECS 实例或ECI 实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。?产品文档:https:/ 部署模版?使用场景:当需要具备完全自动化的部署能力时,甚至可以达到一键部署。?资源编排服务 ROS:资源编排服务 RO
43、S(Resource Orchestration Service)是阿里云提供的一项简化云计算资源管理的服务。开发者和管理员可以编写模板,在模板中定义所需的阿里云资源(例如:ECS 实例、RDS 数据库实例)、资源间的依赖关系等。ROS 的编排引擎将根据模板自动完成所有资源的创建和配置,实现自动化部署及运维。?产品文档:https:/ 事件驱动?使用场景:当某个特定的事件发生时,应该触发的自动化任务。?说明:事件的来源可以来自 Cloud 的云产品和服务器,也可以主动发送自定义事件。通常 Cloud 本身关注的是基础设施(Infrastructure)层,而自定 四、自动化能力 Automat
44、ion 26 义事件则多是业务系统和业务逻辑层。当事件发生时,可以触发启动相关的自动化任务,如自动检查,自动修复,或者通知某运维人员。事件通知内通常都会包括一些简单扼要的关键信息,如包括实例 ID 等,这类可以提取出来作为自动化任务的参数。报警驱动?使用场景:当需要根据监控报警触发自动化任务时。?说明:和上述场景类似,区别在于这里的触动来源是报警。通常也可以分为Cloud 提供的基础设施(Infrastructure)层的报警和业务系统和业务逻辑层的报警。并以此为触发来源,触发自动化相关的任务。定时运维?使用场景:当需要在预定的时间开始执行的任务。?说明:和上述场景类似,区别在于这里的触动来源
45、是根据预设的时间,通常允许按日,按周,按月等周期性定时运维。2)第二层:通用的自动化能力(原子能力)适合“高级”及以上的自动化场景和需求。自动化运维平台 适合通用的云上运维工作流编排引擎,且应该具备以下能力:?编排任何云产品 Open API 的能力,包括打通服务器内部和容器内部。?丰富的控制手段:并发控制,批量控制,错误控制,暂停控制。?必要的审批环节:事先审批,事中审批,事后通知。?支持多种触发方式:定时触发、事件触发、报警触发,手动触发。?支持代码化,集成版本控制系统如 Git 即可完成版本管理,以及 GitOps,Ops as Code 等先进运维理念。阿里云运维编排 OOS 即是这样
46、一款具备以上能力的自动化运维平台。四、自动化能力 Automation 27 服务器内部运维通道 除了云产品管控面的服务能力之外,更应该更进一步,进入到数据面提供运维能力。因此应该具备打通服务器内部运维的能力:?包括图形化的操作方式,尤其是 Windows 用户。?包括命令行的操作方式,适合 Linux 系统。?应该支持基于 OpenAPI 的命令式执行,方便二次开发。?应该支持所有操作的审计能力,确保操作的安全性和合规性。基础能力、原子能力 当以上的云产品都无法满足自动化需求时,或需要的自动化能力非常灵活时,则可以依赖最基础的能力,云产品的原子能力 OpenAPI、SDK 和 CLI。Clo
47、ud 厂商提供的 SDK 应该是使用 OpenAPI 的第一选择,SDK 不仅给 OpenAPI 的调用提供了方便,更包含了诸多 API 调用的最佳实践等,根据二八原则,如默认配置应该可以满足 80%的场景。除此之外,Cloud 厂商提供的 CLI 也是不二选择,当需要在 Shell 或脚本语言中快速集成时,或者当需要构建一个 PoC 类型的自动化项目时,直接使用 CLI 就可以快速达成目的。且 CLI 的语法相对而言比较简略,因此更容易上手。3)阿里云自动化能力和产品金字塔 四、自动化能力 Automation 28 4)阿里云产品和能力与业界工具对照表 五、弹性能力 Elasticity
48、29 五、弹性能力 Elasticity 1.弹性能力的基本概念 Gartner 从两个维度定义了云服务的弹性能力:从云服务器提供商的角度,云服务的弹性意味着“云服务具备根据需要自动增加或减少系统容量的能力(比如 CPU、内存、磁盘和网络带宽),这会给用户带来一种无限算力的感知”。从客户的角度,云服务的弹性指的是云服务具备自动跟随需求的波动变化增加或减少特定服务容量的能力。弹性能力主要解决在某个具体业务场景下如何实现资源与业务负载波动匹配的能力。当然还有一种更为广义的弹性描述,即云资源支持按需取用,需要时可快速获得,不需要时可随时释放资源的能力,这种能力目前已经成为公有云的能力标配,本文不做更
49、多相关阐述。弹性能力指的是平台具备根据业务负载变化,及时且独立地增加或减少基础设施资源的能力。其中,资源可以是 CPU 核数、内存、网络带宽,磁盘,也可以是 ECS 实例。弹性能力是公有云典型优势之一,根据添加或减少资源的粒度,弹性能力可以细分为以下两类:垂直弹性(vertical elasticity):主要指的是增加或减少计算资源的某个组件,比如 CPU 核数、内存大小、网络带宽大小、磁盘空间大小等。水平弹性(Horizonal elasticity):主要指的是增加或减少相同计算资源的数量。与弹性能力有关的一个概念是可扩展性(scalability),它通常指的是在不中断服务的前提下,系
50、统具备通过增加当前的硬件资源(向上扩容)或增加额外的硬件资源(横向扩容)的方式应对更高业务负载的能力。与弹性能力总是试图提供与当前业务负载匹配的动态能力相比,可扩展性是一个静态属性,即以增量方式通过提供更多资源来满足负载增加的场景。五、弹性能力 Elasticity 30 当业务负载下降时,弹性能力会动态释放不需要的资源,而可扩展性不会。所以,可扩展性只能满足部分弹性场景的需求,可以看做是弹性能力的一个子集。2.弹性能力的业务价值 对于具有周期性峰谷波动,或者面临偶发临时流量激增的业务而言,如何快速响应避免流量高峰期业务不可用,客户侧的常见需求如下:资源交付的速度:指的是获得资源的周期,包含从
51、发起资源请求到资源交付的周期。资源数量的保障:指的是获得所需资源的成功率,成功率也会影响业务是否受损,比如单次资源扩容需要 1000 台算力,但因为资源不足导致只能交付 500台。资源的交付效率:主要指的是资源从获得到可用的时间周期,交付效率最终会影响业务是否受损;如果资源已经交付,但业务初始化配置的周期较长,则会延长最终上线时间。资源的使用成本:指满足业务计算诉求时的获取成本,当然也包括当资源不再需要时,用户可以释放并且不再收费。公有云的弹性能力能为业务带来的价值包括:敏捷性:当业务出现激增需求时,在传统模式下,用户需要经过采购、安装、配置等长周期的流程,无法快速响应业务的变化;而云上的弹性
52、能力能帮助企业快速满足计划外的需求,而无需考虑季节性波动。高可用性:对于周期性波动的业务负载,通过自动化的水平扩缩容能力,可以实现跟随业务负载的波动自动创建或释放资源,提升业务的连续性。对于突发的激增流量,云上快速的弹性能力也能在分钟级完成所需资源的交付,大大提升业务的高可用性。节省成本:在传统模式下,所有资源的成本在采购之初就已支出,不管资源是否被使用。而云上资源按量付费的模式允许客户仅需为使用的资源付费,不需 五、弹性能力 Elasticity 31 要的资源可随时释放。同时,还允许用户跟随波动的实时业务负载需要调整资源的大小,实现成本最优。高效:自动化弹性可以实现根据用户指定的策略或者自
53、适应策略,自动调整资源的数量,完全无需人工参与,不仅能更快地响应业务的变化,而且释放运维人员的维护。3.如何衡量弹性能力成熟度?1)如何衡量弹性能力 在衡量弹性能力之前,可以先看看几个典型的弹性业务场景,包括:电商平台:年度大促或周期性促销需要大量的临时资源来保障促销活动的流量洪峰,比如国内的双 11 大促销、黑五活动,每日秒杀等。社交媒体:类似微博等媒体平台,当出现艺人八卦引发社交用户热议等类似场景时,需要紧急快速扩容,避免服务不可用。在线旅游平台:在长假前一段时间会出现机票酒店查询与订购的请求高峰,比如国庆假长假,春节假期等。在线视频/游戏平台:每天晚上放学或下班后到半夜期间是休闲娱乐的高
54、峰期,平台的访问流量是白天的几倍或几十倍。临时的开发测试:需要快速完成测试资源的交付,并在开发测试结束后释放对应资源。在评估弹性能力之前,首先需要明确不同业务场景在做弹性化改造过程中面临的一些挑战,具体如下:弹性速度:尽管云上计算资源是按需取用,但资源的交付速度(从资源购买到资源可用的延迟)至关重要。当某个流量洪峰突然出现时,留给资源响应的时间通常不会太长,如果资源无法快速交付,则会直接影响业务的正常访问。五、弹性能力 Elasticity 32 弹性成功率:公有云上资源规模庞大,对单个用户而言可以认为是提供无限算力,但不同云厂商在不同地域的资源池规模大小不一。当某个可用区的资源规模有限时,用
55、户可能会遇到因资源不足导致弹性算力无法满足的情况,弹性成功率将直接影响业务的连续性和可用性。弹性效率:对于类似渲染或科学计算等需要大规模算力的场景而言,如果用户分批申请所需算力,只有当全部算力都准备完毕才能开始执行任务,必然会导致部分已申请但未使用的资源浪费,因此,一次性交付大规模算力的效率将大大提升业务的效率。弹性准确性:对于自动响应业务负载波动的弹性场景而言,如果申请的资源需求大于当前业务负载需求,则会出现过度供给带来资源和成本浪费,而如果拥有的资源需求小于当前业务负载需求,则会出现业务服务降级甚至不可用的场景。因此,提供与业务负载匹配的准确资源量,能更好的实现业务与成本的平衡。弹性资源预
56、定:对于非常规的弹性需求,比如类似双十一的年度大促活动或者新游戏开服时,客户在无法确保弹性成功率的情况下,需要额外的弹性资源保障机制以应对预期外的业务流量。2)弹性能力分级 云上的弹性能力与资源的使用和成本密不可分,要全面衡量业务的弹性成熟度需要同时从业务的弹性管理能力和资源成本管理两个维度进行。因此,我们将弹性成熟度分为以下五个等级,对应的能力要求如下:五、弹性能力 Elasticity 33 如果您希望对所在企业弹性能力成熟度进行评估,建议至第十章“CloudOps 成熟度自评”。4.提升弹性能力的建议与步骤 要充分利用云上的弹性能力提升业务的可用性,用户可以根据以下步骤对云上业务形态和架
57、构进行分析,并进行相关业务改造,提升业务的高可用性的同时降低成本:a)分析并识别业务中负载存在波动的业务模块。b)明确不同业务模块对应的负载波动上下限,它们决定了该模块在业务高峰期和低谷期所需资源的数量。五、弹性能力 Elasticity 34 c)分析负载波动所需资源的数量和对应时间分布,明确所需资源是否能通过自动扩缩容满足,还是需要提前准备,比如类似双 11 大促的活动,流量会激增几百倍,一定需要提前准备相关资源。d)明确不同业务模块在应用层的要求或约束,比如系统初始化要求、会话保持、资源释放时的数据处理要求等。e)分析目前不具备弹性能力的业务模块是否可以通过类似弹性伸缩的产品进行改造,提
58、升业务的可用性。f)根据业务历史波动规律,配置相关扩缩容策略,并测试是否满足业务负载变化的需求。g)持续测试并改进弹性伸缩相关配置,直到与业务波动匹配。5.弹性工具推荐 1)开源的弹性工具推荐 目前在虚拟机(Virtual Machine)维度的水平扩缩容暂无主流或广泛使用的开源工具,但容器(Container)维度的水平扩缩容则以 Kubernetes 的调度层弹性组件使用最为广泛。五、弹性能力 Elasticity 35 Kubernetes 的调度层资源主要分为两个维度?Node 级别:即多个服务器组成的一个集群资源池。?Pod 级别:是 Kubernetes 中最小的部署单元,代表一个
59、运行的时机应用程序。Kubernetes 的调度层弹性主要是根据业务负载的变化,自动调整应用对一个副本的数量或资源的大小,从而实现调度层的伸缩。Kubernetes 的弹性组件分为两类:水平伸缩(HPA)组件和垂直伸缩(VPA)组件。容器资源的水平伸缩(HPA)Kubernetes 通过 Horizontal Pod Autoscaler 组件,根据资源使用率或者自定义指标实现 pod 副本的自动增加或减少,其工作原理如下:容器资源的垂直伸缩(VPA)Kubernetes 通过 Vertical Pod Autoscaler(VPA)组件,根据容器资源使用率,自动设置 CPU 和内存调整的请求
60、,允许在 pod 上进行资源的调整。VPA 会基于 pod 资源的使用情况,自动为集群设置资源占用的限制,从而让集群将 pod 调度到有足够的资源的最佳节点上,其工作原理如下:五、弹性能力 Elasticity 36 2)阿里云的弹性工具推荐 阿里云提供了丰富的 VM 粒度的弹性产品与工具,用户可通过控制台或标准OpenAPI,快速完成业务的接入和结合,提升云上业务的可用性和连续性,同时降低云上成本。a)垂直伸缩 对于单体应用、独立应用、或有状态的应用等场景,随着业务不断升级和变化,用户需要快速升级资源配置以应对业务变化。例如,某些视频平台的晚上 6 点到 12 点是业务高峰期,不论是计算能力
61、还是网络资源,其需求量都会大于之前的水平。此时,客户需要对系统进行配置升级,如升级到性能更高的实例规格、提高带宽配置、扩大磁盘大小等。当高峰期结束时,整体负载下降到低谷状态,出于成本的考虑,企业可以对云服务器进行配置降级,如降低实例规格、降低带宽值等。阿里云的云资源均提供控制台和标准的 OpenAPI,用户可以根据需要自助完成云资源的配置变更。目前,阿里云提供的 VM 维度的垂直伸缩能力包括:修改 CPU 核数、内存大小、磁盘大小、公网带宽大小、修改带宽的付费方式等。用户还可以通过运维编排服务(OOS),设置在指定时间或当某个条件触发时自动调整 VM 的规格,满足各种场景需求。五、弹性能力 E
62、lasticity 37 b)弹性供应 对于科学计算、图形图像渲染等场景而言,其业务对算力交付的需求通常较高,包括单次任务所需算力规模较大(可能需要几千上万核的算力)、海量算力尽量一次性满足(否则任务也无法正常执行),希望算力成本越低越好等。因此,海量算力快速交付的能力也体现了云厂商的弹性深度体验。公有云的按量付费模式衍生了一种新的付费形态,叫可抢占式(Spot)实例或竞价实例。Spot 实例的本质是把公有云的闲置资源以较低价格(一般是按量付费价格的10%90%)出售,吸引价格敏感的用户出价购买,价高者得。Spot 实例虽然价格便宜,但因为它采用的是竞价模式,价格会随闲置资源使用波动,也就意味
63、着一旦 Spot 实例的市场价格超过用户出价或者系统因为库存等需求,该实例就会被平台自动回收,实例上运行的业务就会停止,因此用户的应用需要对这种行为进行适配。对于部分价格非常敏感但容错性较高的业务而言,如果能充分利用 Spot 实例的特性,就能以较低成本快速完成业务的交付。阿里云的弹性供应组是一个快速交付 ECS 算力集群的方案,用户只需要指定所需算力的大小和单位(支持 vCPU 核数,ECS 实例个数,内存数量等),以及可用区和实例规格,弹性供应组会自动去指定的可用区扫描指定实例规格的算力,最终交付指定大小的算力。除了交付算力外,弹性供应组可以在以下几个维度进一步满足个性化的弹性需求场景:精
64、细化的成本控制:对于价格敏感的用户,弹性供应组支持指定算力集群中按量和 Spot 实例的比例,在确保基础算力的基础上,通过 spot 实例降低算力集群的总拥有成本。弹性供应组还支持指定实例规格最高出价,以及成本优化类型的交付模式,这样系统会自动在指定可用区下的实例规格中选择价格最低的实例进行交付,进一步降低算力的使用成本。算力自动保持:如果使用了 spot 实例,当 spot 实例被回收以后算力集群的总容量会下降。通过弹性供应组的保持模式,当 spot 实例被回收或者总算力未满足时,弹性供应组会自动寻找算力进行补充,完全无需人工干预。五、弹性能力 Elasticity 38 弹性供应组会根据用
65、户指定的可用区和实例规格进行组合交付 c)弹性伸缩(ESS)对于分布式应用、无状态应用、大型应用等场景,用户手动指定固定数量的云资源已经无法满足业务快速和剧烈的变化。客户可以借助于阿里云的弹性伸缩服务(ESS),根据业务需求和策略自动调整实例数量,在业务需求增长时,弹性伸缩自动增加实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少实例,节约成本。同时,弹性伸缩具备实例健康检查能力,能自动识别并替换不健康的实例,不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序,保障业务的持续运行。目前弹性伸缩(ESS)产品提供了以下几个维度的自动化能力,帮助客户自助实现业务的自动化智能化扩
66、缩容,快速提升业务可用性。灵活丰富的扩缩容模式 对于业务负载波动比较稳定的场景,例如在每天中午12点开始业务需求明显增加,每天晚上 8 点后需求明显减少的场景,用户可以通过定时任务快速完成可预期负载的响应。但对于业务负载变化无明显规律,或者在规律性波动外偶尔有突发负载的 五、弹性能力 Elasticity 39 场景,需要更灵活的伸缩模式来响应业务波动。弹性伸缩目前提供的扩缩容模式包括:?手动模式:允许用户手动进行弹性伸缩,包括手动添加、移出或者删除已有的资源。?固定数量模式:用户设置集群的最小/最大期望资源数量,当实例数量低于下限/超过上限时,系统会自动添加/移出资源,使得资源数量等于下限/
67、上限。?健康监测模式:系统自动检查计算资源的运行和健康状态,如果发现一台计算资源未处于运行中或处于不健康状态时,弹性伸缩服务会自动移出该资源,并创建一台新的资源进行替换。?定时模式:用户可以通过创建定时任务,实现在指定时间内自动创建或释放指定 4 数量的资源。?指标模式:监控集群中资源的性能指标(如 CPU 利用率、网络流量均值)波动,当指标当前值超出制定阈值时,自动触发执行资源的扩缩容。完善的业务指标监控矩阵 一般业务负载的波动都与一个或多个业务指标有强关联性,即用户可以通过监控业务负载的一个或多个指标识别到业务的上下波动。阿里云的弹性伸缩服务不仅支持根据伸缩组内集群实例的十几种性能指标进行
68、扩缩容,比如实例的 CPU 使用率、内存使用率、网络吞吐率等,还支持根据其他产品的指标进行自动扩缩容,比如负载均衡的 QPS。弹性自愈的能力 弹性伸缩自带的健康检查能力,会周期性扫描伸缩组内 ECS 实例的健康状态。如果发现某个实例处于关机状态(不提供正常服务)或实例 OS 内出现异常导致实例无法正常响应,弹性伸缩服务会自动移除该实例,并创建一个新的实例进行替换,确保业务所需算力。此外,当伸缩组与某个负载均衡关联后,如果负载均衡发现伸缩组内某个实例出现异常,自动将该实例摘除后,弹性伸缩也会自动创建一个新实例,确保算力稳定。五、弹性能力 Elasticity 40 有效的成本控制 弹性伸缩目前提
69、供两种方式帮助用户在保障业务可用性的基础上,尽可能降低算力成本。?一是弹性伸缩支持扩容时同时选择按量和抢占式实例,以及指定两种实例的比例。?二是弹性伸缩的动态伸缩模式和预测的伸缩模式均可以自动根据业务负载波动自动计算所需算力的调整,实现资源规模与负载需求直接的完美匹配,避免过度供给带来的成本浪费。个性化的弹性管理能力 对于部分无法做到完全无状态的业务负载,比如在扩容时新交付的实例正式承接负载前,需要下载最新的数据或代码,弹性伸缩的生命周期挂钩可以实现扩缩容时的个性化配置。目前,弹性伸缩支持扩容和缩容两种类型的生命周期挂钩。用户可以创建扩容时的生命周期挂钩,在新扩容出来的实例正式使用前,在实例内
70、做一些自动化的配置任务,比如安装某些应用程序或执行某些脚本。当任务完成之后,才真正将实例投入使用。缩容的生命周期挂钩也是类似的场景,满足多样化的弹性诉求、对于自动化能力较高的用户,希望监控弹性伸缩的各种行为与结果并与其他系统打通,比如当扩容失败时需要及时感知并自动执行其他任务进行兜底,避免业务受损,可以消费弹性伸缩提供的各种事件和通知渠道。目前弹性伸缩支持扩缩容成功、扩缩容失败等场景的事件,并支持 MNS 消息队列、云监控等订阅通道,方便用户快速完成接入和打通。超高的弹性成功率 云上计算资源的获取是通过实例具体规格来指定的,比如阿里云的 c5.large,c6.large,c7.large 等
71、多个实例规格均可以提供 2 核 4GB 的算力。如果客户的业务负载对算力没有特殊的要求,比如实例的网络吞吐上限等,在使用弹性伸缩时,可以选择多个可用区和多种符合要求的实例规格,当遇到临时突发流量时,弹性伸缩 五、弹性能力 Elasticity 41 服务会自动在多个可用区下巡检所有符合要求的实例,尽可能交付所需算力,避免因单个资源库存不足导致业务降级或受损。智能化弹性 对于周期性明显的负载波动,弹性伸缩服务提供了预测伸缩模式,即对业务负载波动历史进行分析建模自动预测业务负载未来 2 天的变化情况,无需用户配置即可实现在需要的时候自动扩缩容所需算力。目前弹性伸缩的预测伸缩模式仅适用于CPU、内存
72、和网络带宽有明显周期性波动的业务负载。智能化弹性能力示例 d)弹性资源预定 对于类似双 11 大促、新游戏开服等可能出现非预期流量洪峰的场景,常规弹性无法 100%满足要求,为了确保某些业务在特殊阶段的 100%可用,客户除了需要提前预估资源外,还需要额外的资源储备,以应对计划外的流量请求。在传统模式下,这些临时额外资源的储备面临 2 大难题:采购周期长且数量难预估,预估不准可能因资源不足导致业务受损,也可能因资源过多导致成本浪费。因临时突增需求的采购,使用周期较短,后期面临闲置问题。阿里云提供的资源预定服务,可以同时满足使用时间不定使用时长不定的峰谷弹性需求,和资源使用了稳定且弹性规模较高的
73、周期性弹性需求。资源预定服务中的弹性保障可以为灵活付费的日常弹性资源需求提供弹性资源的确定性保障。用户只需支付一笔较低的保障费用,阿里云会以私有池的方式 五、弹性能力 Elasticity 42 为用户预留对应的资源池,用户在某个固定周期(支持 1 个月5 年)内都可以获得特定容量的弹性资源,保障所需算力的 100%交付。资源预定服务中的容量预定可以实现指定容量资源的锁定,快速满足弹性规模较大的场景。对于可能面临流量突增的场景,用户通过容量预定可以提前锁定部分资源,在需要的时候优先从锁定资源中获取算力,避免因资源不足导致突增需求无法满足的场景。阿里云资源预定服务根据使用场景提供容量预定和弹性保
74、障等不同类型 参考材料:云原生白皮书:https:/ 阿里云 ACK 产品介绍:https:/ AWS elasticity 架构定义:https:/ AWS automating elasticity:https:/ 五、弹性能力 Elasticity 43 GCP scalable and resilient app:https:/ Azure well-architected framework:https:/ GCP autohealing for highly available app:https:/ VMware elasticity on cloud:https:/ Vmwar
75、e cloud scalability:https:/ 中国信通院 2021 云计算白皮书:http:/ Gartner cloud service elasticity:https:/ hal elasticity:https:/hal.inria.fr/hal-01529654/document HAL-cloud elasticity.pdf HPA 和 VPA 介绍:https:/dasydong.github.io/blog/2019/12/21/k8s-ca-code 综合篇/#概念及原理 六、可靠性能力 Reliabilty 44 六、可靠性能力 Reliabilty 1.基本概
76、念 可靠性指在一定的时间和条件下,系统无故障运行的能力或可能性,一般用 MTBF(平均无故障时间)来衡量。可靠性常作为非功能性需求在系统设计之初被边缘化甚至忽略,当我们再次提起可靠性时,殊不知已经遭受了重大损失。云上的可靠性建设有着天然的优势:首先,可靠性需要在架构上具备高可用性,包括应用的多可用区、多地域部署,甚至异地多活;数据靠考虑多副本容灾能力,通过集群或分片方式提高数据的可用性。这些作为云上的基础资源或组件,已被天然支持,唾手可得。其次,为了进一步可靠性,云还提供了丰富的可观性能力以及自助服务。基于此,用户可用构建多层次的可观测性能力,并基于此实现服务的故障自动发现、自动诊断、以及自愈
77、能力,同时通过混沌工程提前发现生产环境潜在风险。对比于传统的 IDC,云计算的超大规模的数据中心,以及多可用区支持,让用户可基于云以低成本、高扩展、高可靠性快速的构建同城容灾、异地容灾等服务(包括数据)高可用方案。云计算通过虚拟化等技术对客户屏蔽了底层物理硬件,与此同时云厂商通过虚拟化、热迁移等技术,来减少甚至规避物理硬件故障导致的服务受损,进一步提升了用户服务的连续性以及高可用。在可靠性上投入的成本,远比不做可靠性在产生环境代理的损失小得多。一般情况下,高可靠性、低成本和低复杂度是一个不可能三角,更多的时候我们倾向选择提高可靠性的前提下,在成本和复杂度上适度投入。2.构建可靠性管理能力的业务
78、价值 避免损失:根据 Statista 全球头部企业宕机损失统计,2020 年 40%的 IT 企业宕机损失 100 万美元/小时,比如 2019 年提升 6%,17%的 IT 企业宕机损失超过 500 万/小时,构建良好的可靠性能力最直接的收益是尽量避免此类损失。六、可靠性能力 Reliabilty 45 提供确定性:好的可靠性意味着质量匀称,可以提供更长期的确定服务,得到客户的信赖;用户可以在此基础上构建业务,更少去关心不确定的影响,专心做好业务。为业务增值:可靠性在某些服务业务中近似质量,在其它条件相同情况下,好的质量有更高的价值;好的业务(服务)的稳定性是更具竞争力的表现。3.多个层面
79、构建可靠性 云作为基础设施,由于其规模效应积累了大量业务可靠性的经验,并通过产品化方式普惠到每个云上客户。在物理资源层,多地域提供了匀质的资源供给,方便客户根于业务、架构和成本选择最佳资源。在 SaaS 层,提供企业级的免运维服务,业务可以按需方便集成到系统中,基本做到开箱即用。可靠性工程涉及部署方式、系统架构、应用拓扑和代码质量等多方面,除了在这些层面不断引入最佳实践进行探索,也需要工程化的方式对整体业务进行观测,并把混沌工程能力常态化引入到日常运行的业务中,做到提前、持续发现隐患,并常态化治理。1)构建多地容灾架构 对比于传统的运维,云厂商不仅提供了超大规模的数据中心,同时提供了全球多地域
80、服务,每个地域是完全独立的数据中心,多个地域之间完全独立。而每个地域又有多个可用区,每个可用区之间电力和网络互相独立。云计算有天然的规模化和可靠性优势。对于可靠性要求较高的应用,通常会做同城多机房部署,避免由于单机房的网络、电力等物理故障导致应用整体不可用。该场景下,在云上,用户可以使用同一个地域的多个可用区来部署,通过多个可用区的互通能力来完成应用间通讯,同时多可用区的物理隔离性极大提升了应用的容灾能力。针对多可用区部署的服务,云服务厂商不仅会在云资源的供给上提供物理隔离的多个可用区,同时也会开放 OpenAPI能力来供用户查询并控制各个可用区可用购买的不同类型云资源,用户可用基于OpenA
81、PI 服务能力来构建自己的多可用区部署能力。特大型的重要商业系统,对系统的容灾能力提出了更高的要求,同城多机房解决的是机房维度的单点问题,无法解决某个城市因为天灾人祸导致的城市级的故障。该 六、可靠性能力 Reliabilty 46 场景下,在云上可以使用多地域部署,另外,多地域间物理距离适当远一些,避免单地域故障导致服务整体不可用,提升应用的极致高可用。对比于传统的 IDC 异地容灾方案,云天然的多地域支持会极大简化用户跨地域运营服务的成本。对于高阶用户,云服务厂商会提供 GSLB 全球负载均衡以及对应的 CDN 服务来辅助支撑基础设施的高可用,也会提供自动化运维的 Auto Scaling
82、 能力,用户可用通过配置 Auto Scaling 策略来实现自动化的多地域、多可用区自动化部署,保障服务基础设施始终处于高可靠性状态。2)数据备份和容灾恢复能力 云服务厂商在数据的高可靠性上具备天然的优势,不仅体现在存储的多副本,数据可靠性极高的 SLA 保障上,同时以服务化的方式向用户暴露了 OpenAPI,用户可利用云厂商提供的快照、镜像等能力,实现数据备份容灾的高可靠性能力建设。快照能力是云厂商提供的数据备份的核心产品能力,用户可使用快照进行系统盘、数据盘的备份,同时支持增量备份模式,帮助客户节约存储成本。快照支持手动备份与自动备份,推荐使用自动备份方式实现自动快照生成、轮转,对于特定
83、业务场景,可以通过手动方式进行指定快照生成与保留时间,也可以设置为永久保留。当系统出现故障,需要将磁盘(系统盘或者数据盘)数据恢复到历史某一时刻,可以使用快照回滚能力,将指定磁盘回滚,通过快照数据的恢复能力,来提升数据的容灾能力。同样,用户可用自定义镜像,将快照的操作系统、数据环境信息完整的包含在镜像中。然后使用自定义镜像创建多台具有相同操作系统和数据环境信息的实例。对于多地容灾架构下,用户实现多地域部署时,可以使用镜像的跨地域复制能力来实现镜像备份的分发,从而实现多地域部署情况下的数据备份。3)应用可观测能力 为了帮助用户更快、更直观、更简单的发现系统内部问题,云服务厂商提供了完善的工具与服
84、务化能力,用户基于此来构建不同层次的可观测能力,同时利用云厂商提供的自助服务来快速发现云资源、甚至自身业务服务的问题。为了支持不同层次的用户需求,云厂商通常会提供以下几大类监控服务能力:云资源监控、应用层 APM、业务层监控。六、可靠性能力 Reliabilty 47 云资源监控:应用依赖的底层资源监控,比如资源的 CPU、内存、网络等指标的使用率等。通过基础监控,用户可以自助发现云资源发生的异常,这是可观测性最基础的能力。云厂商同时会提供云资源的诊断能力,用户可通过一键发起对云资源的诊断,来自助发现云资源可能存在的问题。更进一步,云厂商会提供运维事件能力,用户基于云提供的 EventBrid
85、ge 事件总线,通过自动化编排能力方式感知到云资源的异常事件,并完成自定义的自动化运维动作。应用层 APM:基于云资源部署的具体应用场景,包括应用指标性能(Metric)、系统调用链(Tracing)、日志监控(Logging)三个维度,比如应用的 JVM 指标、线程池监控、RPC 服务的成功率、时延、错误率等。业务层监控:应用层监控数据一般通过 pull/push 方式在数据聚合服务上进行计算,产出业务指标数据。指标数据异常检测也是云上提供的一项基础服务,用户可以选择传统的曲线异动、同比环比异常,甚至高阶的智能基线对比的自动检测能力对业务进行监控。云资源监控只能发现云资源的问题,对于部署在云
86、上的大规模服务来说,应用层问题的监控和定位能力是更加复杂和困难的。云上需要有应用维度的监控和定位能力,在应用维度具备标准监控能力,比如服务端应用运行时、线程池、数据库、中间件、接口调用等,在前端应用,具备从页面打开速度(测速)、页面稳定性(JS Error)和外部服务调用成功率(API)等维度监控页面的健康度的能力。从生态角度,这些能力要提供诸如 Prometheus、Kubernetes 等开源产品形态。除应用监控外,云上链路追踪 Tracing Analysis 为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,可以帮助开发者快速分析和诊断分布式应
87、用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。云服务厂商会通过产品以服务化的方式来提供日志服务,用户使用日志服务做日志、数据的采集与集成,并基于此做 Logging 和 Metering。用户通过自定义应用系统的内容、格式,并通过日志服务收集,并在日志服务中配置自定义细粒度监控大盘,观测自身业务运行情况,同时配置预警体系,建设用户层问题发现与定位能力。六、可靠性能力 Reliabilty 48 4)弹性容错能力 除了在基础设施多地域部署、数据上多副本备份容灾能力外,云服务厂商通常也会提供应用服务的容错能力,帮助用户构建具备弹性、容错能力的分布式系统。弹性容错能力:分布式系统核心的两个弹性
88、容错能力是流控与降级,通过流控来保护应用过载,通过降级来容忍业务部分有损换取整体可靠性。传统的流控方式是人工判断干预,高阶的方式是通过监控体系自动发现热点流量或者异常流量,自动化选择自适应过载保护或者设置自动降级策略并执行。混沌工程与故障演练:混沌工程(Chaos Engineer)是一种提高分布式系统弹性能力的工程实践,通过主动制造故障,测试系统在各种压力下的行为,在生产环境提前识别潜在的故障,避免故障真实发生。故障演练是遵循混沌工程实验原理的实践之一,其建立了一套标准的演练流程,包含准备阶段、执行阶段、检查阶段和恢复阶段。通过四阶段的流程,覆盖用户从计划到还原的完整演练过程,并通过可视化的
89、方式清晰呈现给用户。结合观测能力和预警能力,通过混沌工程来完成故障巡检、故障注入、以及系统稳态度量。5)全面分析方法:FMEA 设计出可靠性高的系统是一个复杂的过程,由于异常场景很多,只要稍有遗落就会存在隐患,根据墨菲定律“可能出错的事情最终会出错”,因此推荐使用 FMEA 方法对系统做一个全面分析。FMEA(Failure mode and effects analysis)即故障模式与影响分析,具体分布步骤:给出初始的架构设计图。假设架构中某个组件发生故障。分析故障对系统功能造成的影响。根据分析结果(ROI),判断架构是否需要进行优化。六、可靠性能力 Reliabilty 49 4.可靠性
90、衡量标准 如果您希望对所在企业可靠性能力成熟度进行评估,建议至第十章“CloudOps 成熟度自评”。5.工具推荐 1)阿里云相关工具 从基础设施可靠性、数据可靠性到应用可观测性、APM、自助诊断、弹性容错能力等服务可靠性,阿里云都提供了完备的产品解决方案。用户可以利用这一系列能力,提升自身服务的可靠性。全球化超级数据中心 阿里云基础设施目前已面向全球四大洲,开服运营 25 个公共云地域、80 个可用区,此外还拥有 4 个金融云、政务云专属地域,并且致力于持续的新地域规划和建设。六、可靠性能力 Reliabilty 50 通过全球化的布局、超级规模的数据中心、持续的投入与深入布局来保障阿里云基
91、础设施坚实、可靠。快照与自定义镜像 从块存储技术角度,阿里云的块存储设备在具备高性能和低时延的优势下,同时提供了极高 SLA 保障了数据的可靠性,其中云盘采用分布式三副本机制,为 ECS 实例提供 99.9999999%的数据可靠性保证。从数据备份与容灾恢复角度,阿里云提供了快照 2.0 技术,提供了更高的快照额度、更灵活的自动任务策略,并进一步降低了对业务 I/O 的影响,同时增量快照能力可以以更快的快照制作速度和更小的空间占用,帮助用户提升效率并降低成本。用户可以通过自定义快照策略实现快照自动化备份,以极低的成本完成数据备份,在故障场景,用户可以通过控制台或者 OpenAPI 来手动或着自
92、动化完成快照回滚、数据恢复。同样的原理适用于自定义镜像,用户可以通过镜像的制作、复制、恢复来完成数据备份、中转、恢复。自助问题排查 阿里云的基础云产品服务比如 ECS、RDS、虚拟网络均提供了云资源侧的自助诊断能力,以 ECS 和 DAS 诊断为例简单介绍。?ECS 自助问题排查:ECS 自助问题排查提供的实例健康诊断、操作异常诊断、安全组规则检测、以及网络连通性诊断,可以全方位帮助用户诊断实例的操作系统配置、磁盘状态、网络配置、网络状态等配置异常,同时给予修复建议方案,帮助用户及时处理潜在风险。?数据库自治服务 DAS(Database Autonomy Service)是一种基于机器学习和
93、专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助您消除人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。六、可靠性能力 Reliabilty 51 云监控 CMS 云监控服务可用于收集获取阿里云资源的监控指标或用户自定义的监控指标,探测服务可用性以及针对指标设置警报。使您全面了解阿里云上的资源使用情况、业务的运行状况和健康度,并及时收到异常报警做出反应,保证应用程序顺畅运行。基础监控:云上云下统一的主机监控解决方案及百余款云产品监控。网络监控:基于私网和公网的网络可用性监控。业务监控:过日志监控、自定义监控把业务数据归集到云上进行统一监控和管理。日志服务 SL
94、S 日志服务(SLS)是云原生观测分析平台,为 Log/Metric/Trace 等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能,全面提升研发、运维、运营和安全等场景数字化能力。作为云原生观测分析平台。?数据采集:支持 Log/Metric/Trace 统一采集,支持服务器/应用/移动设备/网页/IoT 等数据源接入,支持阿里云产品/开源系统/云间/云下日志数据接入。?数据加工:通过灵活语法,在不编写代码情况下支持各种复杂数据提取、解析、富化、分发等需求,支持结构化分析。?查询分析:提供关键词、SQL92、AIOps 函数等多种方式,支持面向文本
财新智库:机构投资者如何促进高质量发展:以ESG投资创造可持续“共赢”(71页).pdf
赛迪顾问:2022中国科技创新竞争力研究报告(12页).pdf
华为:Sub-3GHz 演进白皮书(2022)(12页).pdf
泰伯智库:高精地图技术与应用白皮书(2022)(66页).pdf
君联资本×DDI智睿咨询:成长期企业管理者领导力调研报告(2022)(28页).pdf
艺恩:2022年10月家电行业市场观察报告(7页).pdf
毕马威:生命科学行业趋势-生命科学的网络安全(2022版)(34页).pdf
普华永道:深圳营商环境改革创新研究报告2022(41页).pdf
果集:2022年双十一之战婴童尿裤赛道谁更技高一筹?(32页).pdf
思略特:科技企业增长与转型战略(2022)(55页).pdf
Meltwater融文:社交媒体营销绩效报告指南(2022)(20页).pdf
中国政务服务掌办指数:2021中国省级移动政务服务报告(45页).pdf
【研报】全球产业策略:全球无人驾驶系列自动驾驶车载芯片谁在国内第一梯队?-20200922(49页).pdf
【研报】锂电池行业深度系列报告(二):从充放电本质看材料创新龙头共进化-20200922(25页).pdf
亚洲开发银行(ADB):2020年COVID-19爆发对亚洲发展中国家的经济影响研(英文版)(14页).pdf
2020年东盟制药报告:2020年及以后制药行业的机遇与威胁 - 亚洲制药原料展览会(英文版)(16页).pdf
2020年COVID-19对旅游业的影响报告:情境分析及建议- Global Journey Consulting(英文版)(34页).pdf
2020年COVID-19 疫情下生命科学领域挑战5大重点领域 - 艾昆纬(英文版)(14页).pdf
2020年IT行业展望- 美国计算机行业协会(英文版)(42页).pdf
2019-2020年全球应用和网络安全报告:消除技术变革时代的安全盲点- Radware(英文版)(40页).pdf
2020年新型冠状病毒(COVID-19)对全球贸易的影响-联合国贸易和发展会议(英文版)(7页).pdf
2020年网络安全趋势报告- ESET WeLiveSecurity(英文版)(29页).pdf
思科:2020年网络安全报告:20个网络安全建议(英文版)(25页).pdf
2020年COVID-19疫情下的网络威胁报告 - McAfee实验室(英文版)(40页).pdf
云园区网络智能运维技术白皮书(2021)(41页).pdf
云计算开源产业联盟:2019年企业IT运维发展白皮书(87页).pdf
阿里云:AI时代下的汽车业数字化变革:汽车数字化转型白皮书2.0(26页).pdf
阿里云:2023在线教育行业云上技术服务白皮书(73页).pdf
阿里云:数智化转型:钻石模型白皮书(37页).pdf
阿里云:安全应急数智化转型白皮书(20页).pdf
SalesDriver&Marteker:2023年营销自动化应用白皮书(40页).pdf
阿里云:数据中台交付标准化白皮书(40页).pdf
阿里云:2022品牌商数智化升级白皮书(85页).pdf
阿里云:企业数字化咨询服务白皮书(2022)(16页).pdf
蜜雪冰城招股说明书-连锁茶饮第一股(724页).pdf
线上健身第一股-keep招股说明书(463页).pdf
麦肯锡:2023中国消费者报告:韧性时代(33页).pdf
罗振宇2023“时间的朋友”跨年演讲完整PDF.pdf
QuestMobile:2022新中产人群洞察报告(37页).pdf
QuestMobile:2022年中国短视频直播电商发展洞察报告(30页).pdf
小红书:2023年度生活趋势报告(34页).pdf
町芒:2022现制茶饮行业研究报告(47页).pdf
QuestMobile:2021新中产人群洞察报告(30页).pdf
锐仕方达&薪智:2022年薪酬白皮书(105页).pdf