SRE vs. DevOps? 成功的平台工程需要两者兼备

SRE vs. DevOps? 成功的平台工程需要两者兼备

对比它们的差异,各自的作用,它们如何造福业务,并解释为什么组织需要同时拥有这两者以取得成功。

翻译自 SRE vs. DevOps? Successful Platform Engineering Needs Both

谈及云原生计算和数字化转型时,经常会涉及到两个行业术语:Site Reliability Engineering (SRE) 和 DevOps 。它们通常被对立地提及:SRE vs. DevOps。但这种观点是错误的。

为了在云原生世界取得成功,组织需要同时拥有 DevOps 和 SRE 。此外,团队在进入云原生领域时还需要第三个要素来确保转型的成功:一个平台工程团队。

因此,了解每个术语的定义,它们之间的区别,它们的作用和对业务的好处,以及为什么组织需要同时拥有这三个要素以取得成功非常重要。

什么是DevOps?

DevOps 是一种软件方法论,也是一种 IT 文化。它将软件开发和 IT 运维相结合,通过优化软件和服务交付,旨在更高效地构建软件,并尽可能利用自动化来推动更快的高质量软件部署。其总体目标是使系统变更变得更容易,并依赖持续改进而不是大规模改进计划。

DevOps 的文化意义来自于它对不同团队之间增强合作和沟通的强调。开发人员、运维人员、质量保证(QA)专业人员和安全专家一起使用自动化工具,加快和规范开发流程。这些团队还使用 CI/CD 技术,尽可能快速可靠地测试、集成和部署软件变更。

DevOps解决了哪些问题?

传统的软件开发实践,如瀑布模型,通常非常缓慢,并可能导致开发人员和运维团队之间的冲突。在引入 DevOps 之前,开发团队可能在运维完成质量保证和安全检查之前就已经开始新项目的开发。开发和运维之间的组织壁垒阻碍了协作以解决问题,而更多地促使相互指责。这让企业客户和其他利益相关者对等待应用程序投入生产的过程感到不满。

DevOps 还解决了传统开发环境中的测试问题。如果没有严格的测试,软件中的错误可能会被忽略,导致关键生产系统的非计划停机、用户的沮丧,甚至收入损失。通过 CI/CD , DevOps 能够较早地实施测试,避免在最后一刻匆忙测试和发布应用程序。

安全是另一个重要问题。DevOps 将持续的安全审计作为开发过程的一部分,以在恶意行为者利用漏洞之前识别和解决安全漏洞。

DevOps的好处

DevOps 文化的一些优点包括:

  • 更快的上市时间:通过简化开发流程并消除瓶颈,DevOps使组织能够更快地将新产品和功能投入生产。
  • 改进协作:团队合作有助于减少隔阂,并改善组织内的沟通。
  • 更好的质量:通过测试和部署自动化,DevOps可以减少错误数量,提高软件的整体质量。
  • 提高效率:自动化通过减少重复任务和手动干预来加快速度。
  • 更高的可扩展性:DevOps提供了一个框架,用于构建支持快速增长业务的可扩展和弹性的软件。

什么是SRE?

Site Reliability Engineering(SRE)是将软件工程应用于运维的一种学科,用于构建和维护高度可靠和可扩展的应用程序。SRE 起源于 Google ,但现在已在技术行业广泛应用。

SRE 的理念之一是“每次故障都是学习的机会”,因此工程师必须找到问题的各种因素,并在系统级别进行调整,以确保该问题不会再次出现。

SRE解决了哪些问题?

首要任务是通过快速识别和解决问题来减少系统故障和停机。通过调查和事故分析,SRE 团队为 DevOps 团队构建和修改高可用和弹性的系统做出贡献。

SRE 帮助提高系统性能,以确保在生产环境中的软件满足所有内部或外部用户需求。SRE 团队还监控使用模式和容量,以确保 IT 环境能够处理预期的流量,避免过载和服务中断。

SRE 团队与 DevOps 团队密切合作,以确保问题真正得到解决。SRE 与 DevOps 之间存在持续的反馈循环,以确保问题从根本上得到解决,而不仅仅是暂时性的修补。

SRE的好处

除了提高系统可靠性-其主要目标外,SRE 团队还有助于设计可操作的系统,这些系统不太可能出现故障或遭遇非计划停机。SRE 促进:

  • 更快的故障处理:采用数据驱动的方法来识别问题,SRE 团队可以快速解决问题,减少故障检测和解决所需的时间。
  • 高效的资源利用:SRE 团队优化资源使用,确保系统能够高效扩展,无需大量额外资源。
  • 改进协作:与开发团队密切合作,确保软件从一开始就考虑了可靠性。
  • 更大的自动化:SRE 团队利用自动化来减少人为错误的风险,提高效率,从而为 DevOps 和 SRE 团队节省更多时间进行更具战略性的工作。

什么是平台工程?

平台工程是构建和维护内部软件平台的实践,包括工具、服务和基础设施,使开发人员能够有效、高效地构建、部署、运行和监控应用程序。平台工程师的目标是使开发人员专注于编写代码,而不是处理基础设施问题。

许多平台工程团队为应用程序开发指定“黄金路径”,以追求最大的可靠性、质量和开发人员生产力。黄金路径是预先设计和支持的构建和部署软件的方法。如果开发团队使用黄金路径,平台工程团队会支持生产环境,开发人员无需了解所有底层技术,从而大大加速应用程序的上市时间。

平台工程师监控整个软件开发生命周期的开发效率,从源代码到生产环境,以确保开发人员拥有所需的工具和支持,以生产最高质量的应用程序。

平台工程解决了哪些问题?

平台工程直接解决了开发人员的整体体验问题。开发人员变得越来越沮丧。根据最近的一项调查,DevOps 团队平均每周花费超过 15 小时在编码以外的活动上。

这包括内部工具维护、开发环境设置和流水线调试。这样的成本是巨大的。仅在美国,据 Garden.io 的估计,企业每年损失高达 610 亿美元。

管理当今云原生应用程序的复杂性让 DevOps 团队筋疲力尽。构建和运行现代应用程序需要大量的基础设施和多样化的工具组合。当个别开发人员或团队选择使用不同的工具和流程来开发应用程序时,这些工具的不一致性和不兼容性会导致延迟和错误。为了解决这个问题,平台工程团队提供了一套标准化的工具和基础设施,所有项目开发人员都可以使用这些工具来更轻松地构建和部署应用程序。

此外,应用程序的扩展是困难和耗时的,特别是在流量和使用模式随时间变化的情况下。平台工程团队通过黄金路径(或旨在快速轻松扩展的环境)和逻辑应用程序配置来解决这个问题。

平台工程还有助于可靠性。使用一组共享的、经过测试的、具有互操作性和设计用于可靠性和可用性的基础设施和工具的开发团队可以生产出更可靠的软件。

它还使开发人员能够自己访问所需的工具。开发人员不需要使用 IT 工单系统或进行有关创建新数据库的对话,而可以直接在用户界面中创建,并了解任何警报、复制和操作参数的配置。

最后,平台工程解决了以传统方式构建应用程序的高成本问题,其中开发团队购买各种广泛的工具和环境,通常功能有所重叠。通过标准化和自动化,平台工程最小化了这些成本。

平台工程的好处

一个设计良好的开发平台,配备经过测试和优化的黄金路径,帮助开发人员通过预构建的组件和基础设施更快地构建和部署应用程序。这减少了从头开始构建和配置这些组件所需的时间和精力。其他好处包括:

  • 标准化和一致性:平台工程提供一套标准的工具和基础设施,确保所有构建在该平台上的应用程序都是一致的,并符合相同的质量标准。
  • 可扩展性和灵活性:平台工程团队提供的环境使开发人员能够快速、轻松地部署和扩展应用程序。
  • 降低运营成本:通过部署、监控和扩展的任务自动化,平台工程释放出 DevOps 团队的时间,让他们专注于更具战略意义的工作。
  • 改进应用程序的可靠性和可用性:平台工程团队提供一套共享的工具和基础设施,专门设计用于高可用性和全天候访问。

Puppet 2023年《DevOps 状况报告》发现,平台工程增加了 DevOps 成功的可能性。

DevOps、SRE 和平台工程之间有什么区别?

进入云原生世界的组织必须采取不同的方法,以获得转型性的结果;云原生问题需要云原生解决方案。

通常,第一步是采用 DevOps 文化,如果他们尚未拥有。但是 DevOps 在转型和在云原生环境中运作时需要支持。SRE 和平台工程团队提供了这样的支持。

也许只有两个团队,甚至只有一个团队,也许可以应付,但是一个希望将一些或全部工作负载现代化到云原生的组织应该考虑建立这三个团队。

  • DevOps:负责应用程序的整个生命周期,从源代码到生产,以及在生产后修改和增强应用程序。
  • SRE:主要关注应用程序的可扩展性、可靠性、可用性和可观W测性。当应用程序的性能或可用性处于风险状态时,该团队通常处于危机管理模式。
  • 平台工程:定义仍在发展中,但是平台工程的角色是设置标准化的工具和流程,以加速从单块到基于微服务的云原生计算的转型过程。

每个团队都有特定的角色和目标,但是这三个团队共同合作,以确保业务能够根据行业最佳实践提供云原生应用程序和环境。

Chronosphere 如何支持这三个团队

引入 DevOps、SRE 和平台工程团队可以促进云原生的采用,并在这些团队对其云原生应用程序和云环境拥有完整的可见性时取得成功。这是通过新一代的监控和可观测性解决方案实现的。

云托管的监控和应用程序性能监控(APM)是诞生于云原生之前的,这是一个具有完全不同前提的世界。难怪它们在云原生架构中面临挑战。像 Chronosphere 这样的云原生可观测性解决方案,为现代数字化业务和可观测性而构建,可以将这三个团队联系在一起。

通过云原生监控和可观测性,Chronosphere 提供了对整体指标使用情况的更多可见性,并具备设置快速增长服务的配额的能力,使组织能够灵活控制整个应用程序生命周期。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注