当前位置: 首页 >  在线教学 >  DevOps和SRE还没搞清楚,平台工程又出现了,它会取代DevOps吗?

DevOps和SRE还没搞清楚,平台工程又出现了,它会取代DevOps吗?

导读:DevOps、SRE和平台工程的概念在不同时期出现,并由不同的个人和组织开发。.DevOps作为一个概念是由Patrick Debois和Andrew Shafer在2009年 的敏捷会议上提出的。他们试图通过促进协作文化和在整个软件开发生命周期中共享责任来弥合软件开发和操作之间

DevOps、SRE和平台工程的概念在不同时期出现,并由不同的个人和组织开发。

  • DevOps作为一个概念是由Patrick Debois和Andrew Shafer在2009年 的敏捷会议上提出的。他们试图通过促进协作文化和在整个软件开发生命周期中共享责任来弥合软件开发和操作之间的差距。
  • SRE,即站点可靠性工程,是谷歌在21世纪初首创的,用于解决管理大型复杂系统的操作挑战。谷歌开发了SRE实践和工具,如Borg集群管理系统和Monarch监控系统,以提高其服务的可靠性和效率。
  • 平台工程是一个较新的概念,建立在SRE工程的基础上。平台工程的确切起源不太清楚,但它通常被理解为DevOps和SRE实践的扩展,重点是为支持整个业务视角的产品开发交付一个全面的平台。

值得注意的是,虽然这些概念出现在不同的时期。它们都与软件开发和操作中改进协作、自动化和效率的更广泛趋势有关。

在过去的十年中,工程和技术组织已经将构建和部署云原生应用程序的最佳实践集合在一起。这些最佳实践包括持续交付、容器化和构建可观察系统。

与此同时,云原生组织已经从根本上改变了他们的组织方式,从大型部门(开发、QA、运营、发布)转移到较小的独立开发团队。这些应用程序开发团队得到两个新功能的支持:站点可靠性工程和平台工程。SRE和平台工程是传统运维团队的精神继承者,将软件工程的学科带入运维的不同方面。

站点可靠性工程和平台工程

  • 平台工程团队应用软件工程原则来加速软件交付 。平台工程师确保应用程序开发团队在软件交付生命周期的所有方面都是高效的。
  • 站点可靠性工程团队应用软件工程原则来提高可靠性 。站点可靠性工程师将影响云应用整体可靠性的故障频率和影响降到最低。

这两个团队经常混淆,这两个术语有时可以互换使用。事实上,一些组织将SRE和平台工程合并到相同的功能中。之所以会出现这种情况,是因为这两个角色都适用一套共同的原则。

  • 平台即产品。这些团队应该花时间了解他们的内部客户,制定路线图,制定发布节奏计划,编写文档,以及完成软件产品中的所有事情。
  • 自助服务平台。这些团队构建自己的平台供内部使用。在这些平台中,对最佳实践进行了编码,因此这些平台的用户无需担心——他们只需按下按钮即可。在Puppet Labs的《2020年DevOps现状报告》中,Puppet Labs发现,高功能DevOps组织比低功能DevOps组织拥有更多的自助服务基础设施。
  • 对消除辛劳的持续关注。正如谷歌SRE书中定义的那样,辛劳是手动的、重复的、自动化的、战术的工作。最好的SRE和平台团队能够识别并消除辛劳。

平台工程

平台工程师不断地检查从源代码到生产的整个软件开发生命周期。通过这个内省的过程,他们构建了一个工作流,使应用程序开发人员能够快速编写和发布软件。基本的工作流通常包括与持续集成系统相连接的源代码控制系统,以及将工件部署到生产环境中的方法。

随着使用工作流的应用程序开发人员数量的增长,平台的需求也在变化。不同的应用程序开发团队需要类似但不同的工作流,因此自助服务基础设施变得很重要。自助服务的常见平台工程目标包括CI/CD、警报和部署工作流。

除了自助服务,教育和协作也成为挑战。平台工程师发现,他们花越来越多的时间培训应用程序开发人员,让他们了解最佳实践和如何最好地使用平台。 应用程序开发人员还发现他们依赖于其他应用程序开发人员团队,并期望平台工程团队为他们提供与不同团队高效协作的工具。

站点可靠性工程

站点可靠性工程师创建和改进系统,以自动可靠地运行应用程序。站点可靠性工程的概念起源于谷歌,详细记录在谷歌SRE手册中。谷歌公司负责技术运维的高级副总裁Ben Treynor Sloss将SRE描述为“当你要求软件工程师设计运维团队时发生的事情”。

SRE定义服务水平目标,并构建系统来帮助服务实现这些目标。这些系统发展成为一个平台和工作流程,包括监控、事件管理、消除单点故障、故障缓解等。

SRE文化的一个关键部分是将每一个故障视为可靠性系统中的一个故障。严格的事后分析对于识别故障的根本原因至关重要,并将纠正措施引入自动化系统以继续提高可靠性。

New Relic的SRE和平台工程

我们中的一个人(Bjorn Freeman-Benson)一直管理着New Relic的工程组织,直到2015年,它从少数客户发展到成千上万的客户,所有客户每秒都向云端发送数百万个请求。New Relic有独立的SRE和平台工程团队,他们遵循上述一般原则。

这些团队被分开建立的原因之一是,在这些角色中取得成功的人是不同的。虽然sre和平台工程师除了需要经典的编程技能外,还需要强大的系统工程技能,但这些角色决定了非常不同的性格类型。sre倾向于享受危机管理,并在排除故障时获得肾上腺素飙升 。SRE经理能在巨大的压力下茁壮成长,擅长招募和管理想法相似的人。另一方面,平台工程师是更典型的软件工程师,他们更喜欢不间断地工作在大而复杂的问题上。 平台工程经理更喜欢按照一致的节奏进行操作。

DevOps和GitOps

在过去的十年中,DevOps已经成为描述这些实践的一个流行术语。最近,GitOps也成为了一个流行术语。DevOps和GitOps与平台和SRE团队有什么关系?
DevOps和GitOps都是一套关于如何管理基础设施不同方面的松散编码原则。这两种哲学的核心原则——自动化、基础设施作为代码、软件工程的应用——非常相似。
DevOps是一场广泛的运动,它专注于消除开发和运维之间的传统竖井。随着时间的推移,基础设施自动化和考虑运维的工程应用等策略已经被广泛接受,成为更好地构建高可靠性应用程序的方法。
GitOps是一种应用程序交付方法。在GitOps中,声明性配置用于在任何时刻编码应用程序的所需状态。这个配置在版本化的源代码控制系统中作为唯一的真实数据源进行管理。这确保了可审计性、可再现性和配置的一致性。
简而言之:DevOps是SRE的一套指导原则,而GitOps是平台工程的一套指导原则。

解锁应用程序开发效率

站点可靠性工程和平台工程是优化构建云原生应用的工程组织的两个关键功能。SRE团队致力于为高可靠的应用程序交付基础架构,而平台工程团队致力于为快速的应用程序开发交付基础架构。这两个团队共同提高了应用程序开发团队的生产力。

参考:

  • EP 52: DevOps vs. SRE vs. Platform Engineering
  • Platform Engineering: what is it and why do you need it?

内容
  • 小程序游戏未来的发展会去向何方?
    小程序游戏未来的发展会去向何方?
    2023-12-07
    随着移动互联网时代的到来,越来越多的人参与了小程序开发。目前根据《2022微信小游戏增长白皮书》,微信小游戏开发人员人数
  • 大佬们 有没有unity游戏开发的一些群呀,可以在底下评论一下吗??
    大佬们 有没有unity游戏开发
    2023-12-06
    欢迎大家的评论哦.下面是一些杂谈:.如何提高游戏开发水平.要提高游戏开发水平,你可以考虑以下几个方面:.学习和实践游戏开
  • 【Lua】(一)VSCode 搭建 Lua 开发环境
    【Lua】(一)VSCode 搭
    2023-12-05
    前言.最近在找工作,基本所有的岗位都会问到 Lua(甚至拼 UI 的都要求会 Lua),咱能怎么办呢,咱也只能学啊…….
  • Unity行为树可视化编辑器开发
    Unity行为树可视化编辑器开发
    2023-12-05
    Unity行为树插件开发心得.概述.在ARPG项目的开发过程当中,要涉及到NPC的AI系统,一般来说,简单的AI行为使用
  • Spring面试攻略:如何展现你对Spring的深入理解
    Spring面试攻略:如何展现你
    2023-12-03
    什么是Spring?谈谈你对IOC和AOP的理解。.Spring是一种Java开发框架,旨在简化企业级应用程序的开发和部
  • iOS开发之进阶篇(1)—— 证书、打包上架流程、p12文件
    iOS开发之进阶篇(1)—— 证
    2023-12-03
    iOS开发相关的证书有很多种,iOS开发证书(iOS App Development)、iOS发布证书(iOS Dist
  • 在MacOS下使用Unity3D开发游戏
    在MacOS下使用Unity3D
    2023-12-03
    第一次发博客,先发一下我的游戏开发环境吧。.去年2月份买了一台MacBookPro2021 M1pro(以下简称mbp)
  • 详解驱动开发中内核PE结构VA与FOA转换
    详解驱动开发中内核PE结构VA与
    2023-12-02
    摘要: 本文将探索内核中解析PE文件的相关内容。.本文分享自华为云社区《驱动开发:内核PE结构VA与FOA转换》,作者:
  • 戏说领域驱动设计(廿六)——再谈事务
    戏说领域驱动设计(廿六)——再谈
    2023-12-01
    有关事务的内容,在前面我们已经不只谈过一次,没办法,这是一个绕不开的话题。你敢说你在开发中不用到它?最起码聚合进行序列化
  • Unity 游戏开发、03 基础篇 | C#初级编程
    Unity 游戏开发、03 基础
    2023-12-01
    C#初级编程.https://learn.u3d.cn/tutorial/beginner-gameplay-scrip
  • 戏说领域驱动设计(廿五)——领域事件
    戏说领域驱动设计(廿五)——领域
    2023-12-01
    任何事物都在变化着包括领域驱动设计这门学问。Evans在首次提到DDD概念后,后来出现了陆续又出现了很多的专家与学者对其
  • ***性能优化和调整服务
    ***性能优化和调整服务
    2023-12-31
    ***性能优化和调整服务.***性能优化和调整服务是指针对服务器的硬件和软件进行调整和优化,以提高其运行效率和稳定性的服
  • 科技创新孵化器服务
    科技创新孵化器服务
    2023-12-16
    科技创新孵化器服务.科技创新孵化器是指为初创科技企业提供办公、技术、**和资金服务的机构,而科技创新孵化器服务则是指这些
  • ***迁移与升级解决方案
    ***迁移与升级解决方案
    2024-01-05
    ***迁移与升级解决方案.随着业务的不断扩大和发展,很多企业逐渐意识到原有的***已经不能满足日益增长的需求,因此需要进
  • 虚拟现实技术开发
    虚拟现实技术开发
    2024-01-15
    虚拟现实技术开发.虚拟现实技术已经成为了当今科技行业的热门话题,它的发展日益迅猛,给人们的生活和工作带来了巨大的变革。在
  • 全球电子元件市场趋势分析
    全球电子元件市场趋势分析
    2023-12-31
    全球电子元件市场趋势分析.近年来,全球电子元件市场呈现出不断增长的趋势。随着科技的不断发展和智能设备的普及,电子元件市场
  • 电子元件质量检测与认证服务
    电子元件质量检测与认证服务
    2024-01-05
    电子元件质量检测与认证服务.为什么需要电子元件质量检测与认证服务?.随着电子产业的不断发展,电子元件在各个生产领域都起着
  • ***虚拟化技术咨询服务
    ***虚拟化技术咨询服务
    2023-12-21
    ***虚拟化技术咨询服务.在当今数字化时代,***虚拟化技术越来越受到企业和个人用户的青睐。虚拟化技术通过将物理***划
  • 高性能电子元件**
    高性能电子元件**
    2024-01-10
    高性能电子元件**.随着科技的不断进步,电子行业的发展日新月异。高性能电子元件作为电子产品的关键组成部分,对于产品的性能
  • 定制化电子元件解决方案
    定制化电子元件解决方案
    2024-01-15
    定制化电子元件解决方案.在现代科技发展迅速的时代,电子元件的需求日益增加,同时对于定制化的需求也在不断提升。定制化电子元
  • ***安全加固与防护方案
    ***安全加固与防护方案
    2024-01-10
    ***安全加固与防护方案.随着互联网的快速发展,***安全问题日益凸显。一旦***遭受攻击,可能导致数据泄露、服务中断甚