卓越运营

更新时间:

卓越运营是指在商业运营中注重细节、流程和效率,从而使企业取得卓越成果的一种管理模式。卓越运营强调持续改进,注重提高业务效率、客户满意度和整体业绩。在企业数字化转型过程中,基于云计算平台服务,可以让企业更加快速构建新业务、减少故障处理、对业务进行持续观测、提升业务系统稳定性,从而使企业更专注于业务本身。

卓越运营设计原则

在持续运营阶段,建议遵循以下设计原则:

  • 做好IT能力和业务需求的平衡:企业需要了解自己的IT架构和技术能力,以确保选择的服务能够与现有应用兼容,并能够顺利集成。其次,企业在进行设计时,需要平衡IT能力和业务需求。

  • 做好技术选型:面对众多的技术/工具选型,组织应参考长期技术演进路线、社区活跃程度、技术成熟度、安全性等几个主要方面进行判断和选型。在选择的过程中,建议优先选择阿里云托管服务,降低维护和运维成本。

  • 做好团队环境和技术选型的对接:团队环境是新技术落地过程中往往被忽略的重要角度,团队的学习成本、组织的支持程度、技术的工作习惯和组织成员对于本次技术升级的看法都是非常重要的。

  • 做好责任分工:做好卓越运营,不仅需要开发/运维团队参与进来,更需要各个团队(财务、安全等)在整个运营过程中扮演业务知识输出的角色,并参与重要节点的业务决策与审批。

  • 做好工作流程制定:与快速实现业务目标相比,先把基础设施与框架搭建起来效果会事半功倍。如在IaC(Infrastructure as Code,基础设施即代码)落地之前设定好基础设施代码管理与本地仓库之间的工作流,如代码评审流程、代码合并流程等,能够使IaC在组织的落地过程中更加顺畅。

  • 做好生产环境的运营:通过自动化能够帮助组织实现多方面的转型和提效,但是生产环境的自动化管理和运营是一个复杂的积累过程,并非一蹴而就,组织可以选择覆盖面广、能快速提升效率的场景入手,通过不断完善自动化做好生产环境的运营。

设计阶段

为了实现卓越运营,需要通过可观测方案实现对业务洞察,并通过流程自动化来支撑业务的快速发展。

可观测性设计

可观测性设计需求是指为了更好地监控、分析和管理系统运行状态而进行的设计。云上的可观测性主要从监控指标、链路追踪、日志记录、监控看板和事件告警五大方面来进行设计,来进行云上全方面的可观测性体系的能力建设。

监控指标

系统需要收集和显示有关运行状况的指标,例如CPU使用率、内存使用率、网络流量等。监控系统的指标可以让我们了解系统的健康状况和性能情况,帮助我们在系统出现异常时快速发现问题。

链路追踪

当系统出现问题时,需要能够追踪系统中每个组件的行为和交互情况。通过在系统中实现分布式跟踪,可以快速定位问题并进行有效的故障排除。

日志记录

系统需要记录关键事件和故障,以帮助诊断问题和解决故障。对于一个系统来说,日志是非常重要的。它可以记录在系统中发生的一切,包括成功的操作、错误的操作、警告信息等等。因此,日志记录是可观测性设计中最基本的需求之一。通过将事件和错误信息记录到日志文件或数据库中,可以方便地进行故障排除和问题诊断。

监控看板

为了更好地理解系统的运行状况,需要将监测指标和跟踪信息可视化展示。可视化可以通过图表、仪表盘等方式来实现。

事件告警

系统需要监测安全事件和行为,例如未经授权的访问、恶意攻击等。安全监测可以通过实现安全日志记录和实时警报来实现。

云上实践

阿里云提供了功能丰富的可观测产品,包括对监控指标采集的Prometheus、云监控等能够定期收集指标,提供可视化的指标报表。企业可以通过阿里云应用实时监控服务ARMS实现链路追踪,通过阿里云Grafana服务配置统一监控报表实现可视化。

自动化方案设计

在自动化方案设计过程中,需要先结合业务发展方向,定义清楚组织在当前阶段的自动化目标,再根据目标选择合适的自动化手段。

定义符合组织当前阶段的自动化目标

制订自动化目标需要符合以下三条原则:

  • 由小至大,灵活组合:是指在组织云上业务自动化中,应该首先从小的业务需求入手,逐步扩大自动化的范围,灵活地组合各种自动化工具和技术,达到最优的自动化效果。这种方式可以帮助组织逐步掌握自动化的技术和方法,并且能够通过逐步了解和抽象自身业务过程中锤炼业务与技术的平衡性,同时也可以最大化地提升业务效率和质量。

  • 业务驱动,逐步成型:业务驱动是指在组织云上业务自动化中,应该以业务为中心,通过逐步实现各项业务需求来驱动自动化。这种方式可以让组织更好地理解自动化的价值和意义,同时也可以降低自动化实施的风险和复杂度,逐步成型,最终实现业务的全面自动化。从业务依赖单一、ROI高的“小闭环”场景入手,并逐步组成由多个小场景组合而成的复杂链路来落地自动化,对组织来说是风险低、可靠性强的解决办法。

  • 场景整合,智能提效:场景整合是指在组织云上业务自动化中,应该综合考虑各种场景,通过智能化的方式提高自动化效率和质量。这种方式可以将各种自动化工具和技术整合起来,实现更加智能化的自动化过程,提高自动化效率和质量。同时,场景整合也可以帮助组织更好地识别自动化和人工操作的边界,从而实现最优的资源利用和效率提升。

选择合适的自动化手段

组织在做自动化技术选型过程中,应从实际组织需求角度出发,而不是管理者偏好出发,选择长期的、可持续的和符合组织发展的技术方案。建议遵循5符合3关注的原则:

  • 符合组织长期战略发展,技术选择应该与组织的长期目标和战略一致。

  • 符合组织业务长线发展,考虑技术与业务的匹配度和可应用性,避免选择的技术无法在实际业务中落地。

  • 符合组织技术演进发展,关注与现有技术的兼容性和可集成性,确保该技术能够为组织技术演进提供支持和帮助。

  • 符合主要技术人员发展,考虑主要技术人员的技术兴趣和技能,为其提供发展机会和帮助。

  • 关注业务成熟度,考虑业务发展的成熟度和所处阶段。

  • 关注社区活跃度,考虑技术社区的贡献和创新能力,必要时能够得到技术社区的支持和帮助。

  • 关注投入回报比,避免过度追求技术的先进性,忽略了投入产出比。

组织在选择自动化手段时,可以参考上述原则对备选方案进行评估,最终设计出最符合组织需求的自动化方案。

构建阶段

服务构建阶段关注风险及效率,在这个阶段主要关注两个层面:

  • 变更管理:变更管理工作贯穿在整个云上环境各类系统生命周期,是ITIL管理中非常重要的一个流程环节,和其他流程关系非常紧密,稍有不慎就容易导致故障。如何让变更有章可循,是组织需要在这个阶段重点考虑的问题。

  • 部署管理:与传统IDC相比,云最大的变化就是基础设施可以通过API编排,极大地提升了整个部署效率。在云上,建议优先采用自动化手段来完成各层资源部署。

变更管理

变更管理是一种IT实践。旨在在对关键系统和服务进行操作的同时最大限度的减少服务中断的风险。变更管理是任何系统稳定运行的重要环节之一。如果变更管理运行良好,可以让业务团队的工作方式更接近标准的行为准则,提升变更操作的规范性,从而降低变更导致的故障数量,最终提升业务运行的稳定性。

针对云上的变更管理,有以下最佳实践建议:

  • 标准的变更管理流程:变更管理流程是变更管理最佳实践的第一步。该流程应该包括变更发起、变更审批、变更实施和变更验证等环节。在引入变更管理流程时,需要确保流程的透明度和可追溯性,以便在变更过程中及时发现和解决问题。

  • 标准的变更管理数据库:标准的变更管理数据库是变更管理最佳实践的第二步。该流程应该包括变更系统、变更等级、变更对象的分类、以及确定不同变更内容的对应标准审批流程。并及时保证数据的完整性与准确性,保证变更发起时可以匹配到对应的数据。

  • 变更数据持续运营:变更数据持续运营是变更管理最佳实践的第三步。该流程应该包括变更结果数据统计、变更看板等。在看板内可对数据进行筛选分析,逐渐规范组织内的变更流程与操作规范。从而让业务更好的连续运行。

部署管理

从基础设施资源开通、配置变更到应用程序发布都需要有一个稳定、高效的流程,来提升企业组织在部署管理方面的效率。借助云的开放能力,可以方便地组合出多种形态的自动化。为了更好的管理资源,建议企业内部管理系统与云平台实现自动化能力的高度集成。常见的自动化手段可以分为下面三类:

  • Infrastructure as Code:基础设施即代码的理念,旨在通过构建可编程的基础设施,来实现资源的高效自动化配置。主要应用场景为基础设施自动化,典型产品如阿里云资源编排服务ROS(Resource Orchestration Service)、Terraform、Pulumi。

  • Configuration as Code:通过配置文件的方式为应用程序、服务器处理和操作系统建立参数和设置的基线。这些文件提供的信息能够实现应用程序或产品根据不同的平台、硬件以不同方式运行。主要应用场景为配置管理,典型产品如Ansible、Chef、Cloud-init。

  • Pipeline as Code:通过脚本和引擎让原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。主要应用场景为应用部署,典型产品如运维编排OOS、云效。

基础设施自动化

云计算改变了基础设施部署的方式。在云时代,自动化技术能够极大的提升基础设施和应用的交付速度,规避一些人为因素造成的风险,让业务能够更敏捷的进行云上创新。同时,针对组织对业务的安全、稳定性等诉求,通过实施自动化技术,能够快速构建出多套灾备环境,并能够确保不同环境之间的一致性,在业务发生故障时能够快速迁移。

阿里云为用户提供了丰富的API,用户可以通过在代码中集成API的调用实现基础设施的自动化部署。对于复杂的基础设施,通过原生API的集成会增加复杂度,建议可以通过资源化的方式集成云服务。主要的方式如下:

云控制API

云控制API提供阿里云面向资源的企业级集成一站式解决方案。提高企业和生态伙伴集成效率, 降低维护成本。高阶开发者需要一套标准化API来避免对多种云服务的OpenAPI业务差异化的理解成本,并能够在后续运维过程中保持持续集成状态。

(应用上云规划-应用上云实施-图5)  备份 6..jpeg
Terraform

Terraform是一款流行的基础设施即代码工具,可以编写可复用的代码模块,简化重复性工作。支持多云平台,可在多个云服务商的云平台上部署基础设施。通过Terraform语言描述的代码可读性高,易于维护。并在代码化过程中支持模拟环境,可以在本地或者CI/CD环境中测试基础设施代码。

(应用上云规划-应用上云实施-图5)  备份 7..jpeg

配置管理

在阿里云上,很多服务或资源都可以通过工具实现自动化的配置。主要工具有:

  • Cloud-init是云平台为Linux操作系统的虚拟机做系统初始化配置的开源服务软件。主流云平台均支持Cloud-init。阿里云版Cloud-init能在ECS实例启动阶段完成系统初始化配置,包括NTP、软件源、主机名和SSH密钥对等,同时执行实例自定义数据(User data)脚本。

  • Ansible是一个配置管理工具,可以简化复杂的部署、配置和管理任务。它是一种轻量级、模块化和可扩展的工具,可用于自动化各种IT操作,例如部署应用程序、配置服务器、管理虚拟机和容器等。阿里云提供了相应的Ansible模块,方便用户集成。

应用部署

企业数字化转型过程中,产研数字化已变成必选项。需要打通业务、产品、开发和运维的价值交付链路,保障业务发展和激发业务创新。

随着业务上云之后,研发模型也在往DevOps转型。企业有必要落地一套研发工具链,统一数字化模型,共享底层数据,连通协作和工程,重构交付链路,提升交付的效率、质量和有效性。

image.png

阿里云平台提供云效(BizDevOps)能够帮助云上客户实现一站式应用部署管理,提升应用研发上线效率。

运营阶段

通过前期的设计,到构建,服务进入日常运营环节。在这个阶段往往会产生大量的运营事件,比如日常的资源申请。企业在持续运营过程中也会产生或大或小的生产故障,需要做好线上故障管理,提升服务SLA。

事件管理

事件是指任何可能中断或降低服务质量(或具有此类威胁)的计划外事件。例如业务出现风险、服务器运行缓慢、接口响应延时过高等一系列问题均属于事件。它可能影响工作效率、降低客户体验但未造成严重后果的,此类问题均可归类为事件。

事件管理是针对事件进行识别、记录、分类、分派、分析、解决和完结的过程。事件管理的目标是及时、准确的接受事件,并进行服务回复。尽可能的减少业务影响。通过事件管理可以事件快速定位问题、提高解决效率、减少重复问题的发生频率、增强业务连续性、提高用户体验、规范企业工作流程。

image.png

运维事件中心是阿里云提供的云上事件管理服务。通过集成监控源告警数据,并按照规则条件分派到具体责任人,并持续跟进解决、归档记录。

故障管理

故障管理是源于ITIL的一个概念,在IT企业或者互联网企业进行故障管理的目的是当生产环境出现重大宕机时尽快恢复正常的服务运营,将组件失败对业务所造成的负面影响降到最低,从而确保满足事先与业务客户之间所约定的服务级别的目标和服务级别质量。

故障管理是单独针对故障的一整套完整的应急相应流程机制,包括:故障应急、故障收敛、故障追踪、故障复盘、故障改进等核心功能。通过建立故障应急机制,可保证服务稳定运行、服务体验保证等。故障管理也可以理解为重大事件的升级。