服务韧性工程(SRE)论坛演讲实录 | 雅菲奥朗:SRE 是数字化转型时代基础设施能力
![服务韧性工程(SRE)论坛演讲实录 | 雅菲奥朗:SRE是数字化转型时代基础设施能力](https://static001.geekbang.org/infoq/85/85a5329c79e8b7f1366beea81c37e093.png)
2023 年 12 月 15 日,2023 首届服务韧性工程(SRE)论坛在杭州成功举办。本次会议由中国信息通信研究院·稳定性保障实验室、中国移动通信集团浙江有限公司联合主办,中关村人才协会、SRE 专委会、雅菲奥朗、广通优云承办。会议邀请了来自通信、金融、医疗、制造等行业 100 余位 SRE 领域专业人士,共同探讨服务韧性工程的最新发展趋势和创新实践。SRE 专委会发起人、雅菲奥朗刘峰老师带来《数字化转型时代基础设施能力:SRE》主题演讲。
![](https://static001.geekbang.org/infoq/64/64aa7d037cef1b9d3e37c706a7ce4c45.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
SRE 专委会发起人、雅菲奥朗刘峰老师在这次分享中,深入剖析了 SRE 在推动数字化转型过程中的关键作用。强调了 SRE 作为基础设施战略的关键组成部分,如何通过优化可靠性、安全性和效率来支持和加速企业的数字化转型与发展,不仅突显了 SRE 的战略价值,还为业界提供了实现先进基础设施策略的关键思路。
以下为演讲实录:
数字化转型是当今企业面临的一项紧迫任务,旨在利用先进的技术和创新的方法重新定义业务流程,提高效率,并创造更有竞争力的产品和服务。在这一转型过程中,构建稳定、可靠且高性能的基础设施是至关重要的,而 SRE 作为一种融合了软件工程和运维管理的实践,为企业提供了一套有效的工具和方法来应对这一挑战。
一、数字化转型面临挑战
数字化转型虽然带来了许多机遇,但也伴随着一系列挑战,特别是在构建和维护复杂基础设施方面:
(1)复杂性和规模
数字化转型往往涉及到大规模的基础设施,包括分布式系统、微服务架构等。这些系统的复杂性和规模使得传统的运维方法变得不够高效。SRE 通过引入软件工程的实践,通过代码来管理基础设施,从而更好地应对这种复杂性。
(2)故障处理和恢复
在数字化转型中,故障是不可避免的。SRE 通过实施故障注入、定期演练等手段,提前发现系统的弱点,从而增强了系统的鲁棒性。当故障发生时,SRE 的快速响应和恢复能力可以降低业务中断的影响。
(3)安全性和合规性
数字化转型涉及大量敏感数据和业务逻辑,因此安全性和合规性是至关重要的考虑因素。SRE 通过强调自动化和标准化,确保基础设施的安全性,并在持续交付过程中保持合规性。
(4)客户体验
企业在数字化转型中,可能面临服务可用性的挑战,影响客户体验。新的技术和架构可能引入性能问题,影响用户的响应时间。
(5)文化转变
SRE 企业可能存在传统的运维文化,强调稳定性和可靠性。数字化转型需要引入更加灵活和创新的文化,强调快速迭代和持续交付。引领者需要促进文化变革,强调团队间的协作和开放沟通。
(6)技术复杂性
数字化转型通常需要更高程度的自动化,但引入自动化也会带来新的技术复杂性。企业可能采用微服务架构,导致系统的技术复杂性增加。
自动化要求: 数字化转型通常需要更高程度的自动化,但引入自动化也会带来新的技术复杂性。
(7)遗留遗产
部分企业可能有较为老旧的系统,数字化转型可能需要对这些系统进行改造或替换。将遗留数据迁移到新系统可能涉及到复杂的数据转换和同步问题。采用渐进更新的方式,逐步替换或升级遗留系统。制定详细的数据迁移计划,确保数据的完整性和一致性。
二、数字化转型的关键能力:SRE
![](https://static001.geekbang.org/infoq/76/761bc7071ff2c088ab7ae98eb0cb29df.png)
SRE 的全称是"Site Reliability Engineering",即站点可靠性工程,SRE 是一个学科、SRE 是一种最佳实践、SRE 是一类创新岗位。SRE 是一种由 Google 首先引入并采用的运维实践和文化理念。SRE 的核心目标是确保在线服务的高可用性、高性能、高可扩展性和高效性。SRE 通过结合软件工程和系统运维的最佳实践,致力于自动化和持续改进,以保证服务的可靠性。雅菲奥朗是国内知名的 SRE 培训和咨询公司,是 SRE 的实践者与引领者,我们为政企数字化转型保驾护航。
(1)SRE 的起源如下:
SRE:站点可靠性工程(Google 负责 7*24 小时运维的 VP 命名)
SRE 是学科:使用计算机和软件工程手段设计和研发大型、分布式计算机软件系统;
SRE 关注:焦点是可靠性,包括架构设计、运维流程优化—> “足够可靠”;
SRE 主要工作:运维分布式集群系统上的具体业务服务(Service)
SRE 是一种职业:专注于软件系统生命周期管理的 IT 工程师
(2)SRE 的关键特点和原则如下:
● 服务水平目标(SLOs): SRE 团队通过定义服务水平目标(SLOs)来量化服务的可用性。这些目标用于衡量服务的健康状况,并作为团队追踪和改进的依据。
● 错误预算: SRE 引入了错误预算的概念,即在一定时间内允许服务出现的错误次数。SRE 团队通过监控和度量错误来确保服务在可接受的错误范围内运行。
● 自动化: SRE 强调自动化,尽可能地替代手动操作,以减少人为错误并提高效率。这包括自动化部署、监控、扩展和故障排除等方面。
● 持续改进: SRE 倡导持续改进的文化。通过持续地评估服务的表现、故障的根本原因,并进行迭代改进,SRE 团队不断提高服务的可靠性。
● 跨功能团队合作: SRE 团队通常与开发团队密切合作,共同负责整个服务的生命周期。这有助于加速问题的解决并确保新功能的上线不影响服务的可靠性。
● 错误处理: SRE 强调快速而有效的错误处理。通过实施有效的监控和警报系统,SRE 团队能够及时发现问题并快速做出响应,最小化服务中断的影响。
总体而言,SRE 旨在将软件工程的最佳实践引入运维领域,以确保在线服务能够在高度可靠和高效的状态下运行。这种方法的核心理念是通过自动化、度量和持续改进来应对现代复杂的分布式系统和服务架构。
(3)SRE 实践总结
SRE 方法论:
● 确保长期关注研发工作
● 在保障 SLO 的前提下最大化迭代速度
● 监控系统
● 应急事件处理
● 变更管理
● 需求预测和容量规划
● 资源部署
● 效率与性能
三、SRE 的新发展
(1)SRE 与 DevOps 统一文化、融合互补
站点可靠性工程(SRE)和开发运维(DevOps)是两种在信息技术领域崭新且日益重要的文化和实践理念。尽管它们起源于不同的背景,但在很大程度上,SRE 和 DevOps 之间存在许多共通之处,可以通过统一文化和融合互补来实现更强大的效果。
首先,SRE 强调在保持高可用性的同时,通过定义服务水平目标(SLOs)和错误预算等指标来确保服务的可靠性。而 DevOps 注重推动开发和运维之间的协作,旨在加速软件开发和部署的过程。然而,这两者都追求自动化,追求更高效、更可靠的服务。通过统一文化,可以将这两种理念结合起来,实现更为全面和协同的运维方式。
其次,SRE 和 DevOps 在团队协作方面有着共通之处。SRE 团队通常与开发团队密切合作,共同负责服务的可靠性。DevOps 强调强大的团队协作和开发与运维之间的无缝衔接。通过共享责任和知识,这两种文化可以实现更高效的团队协作,使得开发和运维之间的界限变得更加模糊。
再者,SRE 和 DevOps 都强调持续改进。SRE 通过监控和度量服务的性能,并根据实际情况调整 SLOs,以不断提高服务的可靠性。DevOps 通过实施持续集成、持续交付等实践,不断优化整个软件开发和部署的流程。通过统一文化,这两者可以共同追求持续改进,从而更好地适应变化和应对挑战。
最后,SRE 和 DevOps 的融合互补可以创造更加健康和强大的运维生态。SRE 通过其专注于服务可靠性和自动化的特点,为 DevOps 提供了强有力的支持。DevOps 则通过其注重协作和流程优化的特点,为 SRE 提供了更广泛的应用场景。通过将这两者相互融合,组织可以更好地平衡快速开发和高可靠性的需求,实现业务和技术的双赢。
总体而言,SRE 和 DevOps 虽然有着不同的侧重点和起源,但通过统一文化和融合互补,可以创造出更加协同和高效的运维模式。这种整合不仅有助于提高服务的可靠性和稳定性,还能够加速软件开发和部署的过程,使组织更好地适应快速变化的市场和技术环境。在这个信息时代,SRE 和 DevOps 的共同理念和实践将成为推动企业成功的重要力量。
(2)可观测性方兴未艾
![](https://static001.geekbang.org/infoq/6b/6be4d5f59a684b8ceedc06a5ae498fcc.png)
可观测性(Observability)作为信息技术领域的关键概念,正逐渐成为现代软件开发和运维中不可或缺的一部分。这一概念的兴起标志着在复杂而快速变化的技术环境中,仅仅依赖传统的监控和日志已经不再足够,而需要更为全面、深入的数据洞察来支持系统的稳定性和可靠性。
可观测性的概念包括对系统内部运行状态和性能的全面了解,通过监控、日志、指标和分布式追踪等手段,使得开发者和运维团队能够更好地理解系统的行为,并迅速诊断和解决问题。这种全面的数据洞察不仅仅关注系统是否正常运行,更关心系统的运行状况、用户体验、性能瓶颈等方方面面,从而为业务决策提供更加全面的支持。
在当今大规模、分布式的软件系统中,可观测性的重要性愈发凸显。传统的监控系统往往只提供系统的基本状态信息,而缺乏深入的内部运行机制的洞察。可观测性强调的不仅仅是被动地收集数据,更强调主动地探索系统内部的运行情况。通过日志,可以了解系统的每一步操作;通过指标,可以量化系统的各个方面;通过分布式追踪,可以跟踪请求在整个系统中的流转路径。这种全方位的数据收集和分析,使得开发者和运维团队能够更迅速、更准确地发现问题的根本原因,提高系统的稳定性和可用性。
随着云计算、微服务和容器化等技术的普及,系统架构变得更加复杂,传统的监控手段已经无法满足对系统深入洞察的需求。因此,可观测性成为了现代软件开发中的一项战略性投资。通过建立完善的可观测性系统,开发者和运维团队能够更好地理解系统的行为,迅速响应问题,提高效率。
可观测性的兴起也带动了一系列相关工具和标准的发展。开源的监控工具、日志管理系统、分布式追踪框架等层出不穷,为构建可观测的系统提供了强有力的支持。同时,开发者社区也在积极推动可观测性的标准化,使得不同系统之间可以更加方便地实现数据的集成和交互。
总体而言,可观测性的崛起反映了对于更深层次系统洞察的迫切需求。在面对日益复杂和快速演变的技术环境时,构建可观测的系统已经成为确保软件稳定性、可靠性和可维护性的关键一环。未来,随着技术的不断演进,可观测性将继续发挥重要作用,推动软件开发和运维进入一个更加智能、高效的时代。
(3)引领平台工程,实现自助服务
![](https://static001.geekbang.org/infoq/17/17b1abddb9de80775e8219053057fbc1.png)
在现代技术架构中,Site Reliability Engineering(SRE)的角色逐渐演变为引领平台工程的重要驱动力。SRE 不仅仅负责确保系统的稳定性和可靠性,还积极参与构建可靠的自助服务平台,为开发团队提供更灵活、高效的服务管理工具。
SRE 通过引领平台工程,致力于构建自助服务的生态系统,使得开发团队能够更加自主地管理其服务的整个生命周期。这包括了从服务的创建、部署,到监控、维护的全过程。通过提供简化的操作界面、易用的工具链以及自动化的流程,SRE 助力开发者更加高效地进行服务的开发和维护。
自助服务平台的关键目标是降低开发团队对于基础设施和运维的依赖,使得开发者能够专注于业务逻辑而不必过多关心底层技术细节。SRE 通过引入自动化工具,如持续集成/持续部署(CI/CD)系统、自动化配置管理等,简化了服务的部署和配置流程。这样一来,开发者可以更快速地将新版本的代码部署到生产环境,提高交付速度。
此外,SRE 还致力于构建全面的监控和报警系统,通过实时收集和分析关键性能指标,提前发现潜在问题并采取预防性措施。通过自助服务平台提供的监控工具,开发者能够更主动地了解其服务的运行状况,及时发现并解决潜在的性能问题。
总体而言,SRE 引领平台工程,推动自助服务的实现,不仅提高了整个系统的稳定性和可靠性,同时也赋予了开发者更大的自主权和灵活性。通过构建这样的自助服务平台,企业能够更好地应对快速变化的业务需求,加速创新,提升竞争力。这种平台工程的演进体现了技术团队在追求高效协作、自动化和持续交付方面的不断探索和进步。
四、SRE 是新运维的“奇点”
Site Reliability Engineering(SRE)作为新一代运维的"奇点",标志着运维领域的革命性变革。传统的运维注重手动干预、问题应对,而 SRE 则强调自动化、持续改进和高度可靠的系统。
![](https://static001.geekbang.org/infoq/0e/0eac7d8078132e398e6c4496ee28521e.png)
首先,SRE 引入了软件工程的原则和实践到运维中。传统运维通常以手动操作和应急处理为主,而 SRE 将编码、版本控制等软件工程的理念引入运维,将运维任务视为代码来对待。这意味着基础设施和系统的管理可以像软件开发一样进行版本追踪、代码审查,从而提高了运维的可维护性和可扩展性。
其次,SRE 强调自动化,通过自动化工具和流程来减少手动干预,提高效率和降低人为错误。自动化不仅仅包括基础设施的自动化管理,还包括部署、监控、扩展等方方面面。这种自动化的实践使得系统更加稳定,能够更快速地适应不断变化的业务需求。
SRE 还引入了服务水平指标(Service Level Objectives,SLOs)的概念,通过定义清晰的目标,以客观的数据来衡量系统的性能。这使得团队能够更好地理解和管理用户体验,同时也为团队提供了明确的方向,使其更有针对性地进行工作。
此外,SRE 倡导的可靠性工程(Reliability Engineering)思想将稳定性作为系统设计的核心要素,而非事后的补救措施。通过事前预测可能的故障点、引入容错机制、实施灰度发布等手段,系统在面对异常和负载高峰时更具弹性和稳定性。
总的来说,SRE 是运维领域的奇点,是对传统运维方式的颠覆性创新。它将软件工程的原则融入运维实践,通过自动化、可靠性工程等手段提高系统的可维护性和稳定性,从而使运维更加适应当今快速变化的技术和业务环境。这一新运维的"奇点"不仅提高了系统的可用性,也推动了整个 IT 行业向更加高效、智能的方向迈进。
如何系统地进行 SRE 学习?
![](https://static001.geekbang.org/infoq/b1/b17da92eddcb1ed1988d945e7506793d.png)
SRE 培训课程体系旨在培养 IT 专业人员在可靠性工程领域的专业技能。从 SRE Foundation 认证课程入门,您将深入了解可靠性工程的基本原则和实践。可观测性认证课程将培养您在监控、跟踪和日志方面的技能,以实现系统的高可用性。AIOps 认证课程致力于整合人工智能运维的最佳实践,使您能够利用先进的自动化和智能化工具来提升运维效率。SRE Practitioner 认证课程将进一步深化您的实践经验,培养解决真实场景中可靠性问题的能力。整个培训过程强调实际操作和解决问题的能力,为您提供了在复杂系统环境中成功实施 SRE 的实际工具和技术。这一系列 SRE 课程不仅助力个人在 SRE 领域的发展,也为组织提供了构建高度可靠性系统的关键能力。
总结
SRE 作为企业数字化转型基础设施的关键能力,不仅仅是技术创新的象征,更是对组织文化和业务运作方式的深刻影响。通过引入自动化、持续改进和可靠性工程等理念,SRE 为企业提供了稳固的数字化基石,使其能够更加灵活、高效地适应不断变化的市场和技术环境。在未来,随着数字化转型的不断深入,SRE 将继续发挥着关键的作用,为企业的可持续发展提供有力支持。
版权声明: 本文为 InfoQ 作者【雅菲奥朗】的原创文章。
原文链接:【http://xie.infoq.cn/article/bfbebbc8999ccd714603097c3】。文章转载请联系作者。
评论