概述
DevOps 自动化是在 DevOps 技术基础上的升级,通过减少人工干预,高效执行各项任务,帮助您更快地交付解决方案。它可以最大限度地降低复杂性、控制成本并在整个软件开发生命周期确保合规性,从而促进开发和运维团队协同工作。
DevOps
DevOps 是指对企业文化、业务自动化和平台设计等方面进行全方位变革,从而实现迅捷、优质的服务交付,提升企业价值和响应能力。借助 DevOps 实践,我们将开发和运维团队的成员集结成了一个 DevOps 团队。这样可以更快、更有效地让创意和项目从开发走向生产落地。与传统的手动管理策略相比,DevOps 需要更频繁的代码变更,并更灵活地运用基础架构。
IT 自动化
IT 自动化是指运用技术,在减少人工协助的情况下加速执行各项重复性任务和流程。它通过减少手动操作来节省生产时间,同时还能提高整个 IT 团队的工作效率。此外,IT 自动化还可以帮助您扩展环境,构建持续集成和持续交付(CI/CD)工作流。
哪些 DevOps 流程可以实现自动化?
DevOps 环境涵盖了服务器、虚拟机、云服务和各种网络组件。设置和部署这些环境通常需要一系列手动流程,但如果采用自动化,便可以提高效率和速度。
置备
置备(设置 IT 环境)并为这些复杂的环境部署任何变更不仅会非常耗时耗力,而且需要掌握各个组件的相关专业知识。开发人员可以将基础架构即代码(IaC)方法与自动化结合使用,利用代码来配置和管理基础架构。通将基础设施代码化后,系统组件的置备和管理即可实现自动化操作,大幅减少人工干预。
开发
软件开发人员需要 IT 资源来创建、持续测试和部署新的应用与服务。手动 IT 运维(例如设置 IT 环境、部署代码或配置测试基础架构)可能会导致资源供应延迟,并使服务交付管道变得复杂。它们也会阻碍概念验证,最终导致开发速度变慢。
通过结合以应用编程接口(API)为中心的设计与自动化,IT 团队可以更快地交付资源,同时支持快速的概念验证、开发、测试和部署,这些对于一致的工作流至关重要。Jenkins 等测试自动化开源项目有助于实现开发自动化,并提供关于性能分析的见解。
配置管理
IT 团队需要管理一系列广泛的应用和系统,包括云、网络、存储、服务器和边缘设备。正确设置这些系统能够避免安全事故和系统延迟。实现配置管理自动化可以维持系统的预期状态,同时确保系统在整个生命周期内一致地运行,并减少自动化偏差。根据企业组织的需求,IT 团队还可以使用配置管理工具来监控和记录系统指标、合规性以及备份恢复流程,这有助于及早发现问题,从而确保系统处于健康状态,数据安全无虞。
CI/CD
CI/CD 包含两个旨在加快软件开发生命周期的流程:
- 持续集成(CI)可将代码变更集成到共享代码存储库中。
- 持续交付(CD)可自动完成这些代码变更的发布、测试和交付流程。
这些流程统称为 CI/CD 管道。
这种自动化实践可以避免代码出现问题,并且能够在整个软件开发生命周期中提高软件交付效率。CI/CD 的其他关键组件包括回滚和自动测试,这些组件能够确保代码的可靠性和稳定性。GitHub Actions 等项目可以自动执行存储库所需的所有 CI 软件工作流。对于持续交付工作流,Linux® 基金会的 Argo 是适用于 Kubernetes 环境的可靠解决方案。
监控和日志记录
日志管理用于监控安全态势。它不仅能帮助分析和优化环境安全防护,还可实现威胁的实时检测与响应。安全监控生成的日志能清晰记录攻击或入侵行为的发生时间及路径。Prometheus 等项目提供了一个简单且可扩展的监控和日志记录工具包。
红帽 Ansible 自动化平台 | 释放 DevOps 潜力
衡量 DevOps 自动化的成效
有多个指标可以帮助您跟踪和报告 DevOps 自动化的性能,提供有关交付性能和软件稳定性的可量化见解。
这些指标由 DevOps 研究和评估(DORA)团队提出:
- 部署频率(DF)衡量的是交付代码变更所需的时间,或者客户将变更部署到生产环境的频率。
- 交付周期(DLT)是指从编写代码到将其部署到生产环境所经历的时间。
- 平均恢复时间(MTTR)衡量的是在发生中断后恢复产品或服务所需的时间。
- 变更失败率(CFR)可以跟踪生产环境中失败的部署次数,反映管道的整体健康状况,并在流程的早期阶段发现错误。
- 返工率(2024 年最新验证的指标)可以跟踪在特定时间范围内为解决应用中面向用户的错误而执行的计划外部署次数。
如何构建 DevOps 的指标体系
客户如何使用 Ansible 自动化平台
红帽® Ansible® 自动化平台客户已通过 DevOps 自动化实现了应用交付系统的转型。世界各地的企业组织都受益于红帽合作伙伴关系和自动化社区,使用 Ansible 自动化平台来提高弹性、减少手动工作量并拥抱自动化文化。
Kreditplus
总部位于印度尼西亚的金融服务提供商 KreditPlus 借助 Ansible 自动化平台,在红帽 OpenShift 和红帽企业 Linux 上实现了置备、扩展和安全防护自动化,借此将许可成本降低了 70%,加快了自助服务开发速度,并提高了安全性和合规性。Ansible 自动化平台可帮助 KreditPlus 团队实现持续集成和持续交付(CI/CD)管道的自动化,覆盖开发、预演到生产的完整流程。
BankNXT
总部位于埃及的 BankNXT 借助红帽 OpenShift、红帽企业 Linux 和 Ansible 自动化平台对其数字银行平台进行了现代化升级,将部署时间缩短了 40%,并将更新和功能发布的速度提高了一倍。该银行利用 Ansible 自动化平台实现了流程自动化并减少了手动任务,在红帽高级集群安全防护的保护下,运维效率提高了 30%,事件解决时间缩短了 20%。
为什么选择红帽?
DevOps 自动化是红帽软件开发模式的核心引擎。这种模式直接推动了 Linux、Kubernetes和自动化项目的发展与发布,形成了我们作为企业级开源软件产品的坚实基础。
红帽 Ansible 自动化平台
红帽 Ansible 自动化平台能够出色地帮助您落地 DevOps 实践,它可以跨整个开发生命周期自动执行 IT 任务,涵盖从置备基础架构到部署和配置应用等环节。借助红帽 Ansible 自动化平台,您可以自动执行 CI/CD 管道的关键阶段,并使用自动化控制器编排 DevOps 工作流,从而促进 DevOps 的实施。采用红帽的自动化解决方案,您可通过基于角色的访问控制和 Ansible Playbook 带来的人类可读的自动化语言,促进跨部门的持续交付、部署和协作。您可以将相同的自动化内容复用于日常运维以及 CI/CD 管道。此外,由于 Ansible 自动化平台几乎能兼容 IT 基础架构的所有环节,因此您可以更轻松、更快速地部署一致的开发、测试和生产环境,从而提高应用的可靠性和弹性。
红帽 OpenShift
红帽 Ansible 自动化平台可与红帽 OpenShift® 在 DevOps 工作流无缝协作,并通过认证内容集支持混合 IT 环境。它内置 CI/CD 功能,可通过红帽 OpenShift Pipelines(基于 Tekton)和红帽 OpenShift GitOps(基于 Argo CD)轻松实现 DevOps 自动化。
结合红帽开发人员中心,红帽 OpenShift 可帮助团队管理内部开发人员平台,并使用红帽 OpenShift Dev Spaces、红帽 OpenShift Serverless、红帽 OpenShift 服务网格和
无论您是使用自助式 Kubernetes 平台,还是云版本的红帽 OpenShift(例如 AWS 上的红帽 OpenShift 服务),都可以使用这些工具。
AI 时代的平台工程现状
本文全面解读了由 Illuminas 开展的“AI 时代的平台工程现状”调查。了解详情。