【DevOps】网站可靠性工程(SRE):DevOps 2.0

简介: 【DevOps】网站可靠性工程(SRE):DevOps 2.0

在DevOps中有没有更好的时间?电视节目如“兴趣人物”和“先生机器人“正在越来越好地显示开发人员的实际工作,使用大量的工作代码。像迈克尔·曼(Michael Mann)的“黑帽”(Blackhat)这样的电影(2015)在几个场景中赢得了Google安全团队的DevOps准确性的赞誉。环顾四周,您将发现DevOps文化过滤出来的更广泛的社会元素,如各界人士讨论他们的正常运行时间或快速接近的代码锁。


另一方面,DevOps中最大的棘手也许是开发人员和运营团队通常不会很顺利。开发人员希望在非常紧张的时间表下赶上前期的一些开创性的代码,而运营团队则尽量减缓每个人的下落情况,以发现事故或恶意行为者的系统性风险。两队都希望能够获得更好的用户体验,但到达那里的时候,就会成为一种权力斗争。


将DevOps融合在一起的梦想是对于可以半开半场的人。这种分裂的愿望正是SRE(现场可靠性工程师)的重点。


定义SRE


在介绍SRE这个术语时,Google的工程副总裁Ben Treynor说:


“当您要求软件工程师设计操作功能时,会发生什么。SRE从根本上做了一些运维团队历来做的工作,但是使用具有软件专业知识的工程师,并且就这些工程师固有地倾向于并且有能力将自动化替代为手动劳动。“


回到2010年,Facebook SRE Mark Schonbach解释了他这样做:


“我是站点可靠性工程师(SRE)的小团队的一部分,这些工作人员日夜工作,以确保您和全球其他4.0亿用户能够访问Facebook,网站加载速度快,所有功能正在... ...我们经常在飞行中擅长工具,帮助我们管理和执行复杂的维护程序,这些程序是世界上最大的,即使不是最大的memcached足迹。我们开发自动化工具来配置新服务器,重新分配现有服务器,以及检测和修复不正常行为的应用程序或服务器。


SREs来自哪里?


可靠性工程是一个从业务世界发展而来的概念,已经有100多年了。第二次世界大战后,IEEE成立了可靠性协会,与电子系统密切相关。十年来,五十九(99.999)成为应用绩效管理的黄金标准。该标准导致创建了一类操作专家,他们知道足够的代码来恢复站点,并将最后的稳定版本尽可能快地重新投入生产。


Treynor解释了在谷歌创造这个新类别的动力,他的典型的幽默幽默:“您通常在操作角色看到的与工程角色相反的一件事是,不仅在责任方面,而且背景和的词汇,最终的尊重。对我来说,这是病态。“


SREs使用哪些工具集?


对于SRE,稳定性和正常运行时间的首要任务。但是,他们应该能够承担起责任,并将自己的方式编入危险之中,而不是添加到开发团队的待办事项列表中。就Google而言,SRE通常是软件工程师,其中有一层网络培训。通常,Google软件工程师必须表现出:


Google自己的Golang和OO语言,如C ++,Python或Java


一种辅助语言,如JavaScript,CSS和HTML,PHP,Ruby,Scheme,Perl等


高级领域,如AI研究,加密,编译器,UX设计等


与其他编码人员联系


除了这些精通之外,Google的SRE必须具备网络工程,Unix系统管理员或更多通用网络/操作技能(如LDAP和DNS)的经验。

SRE的关键作用


艾默生网络能源公司(Emerson Network Power)的一份报告显示,停机时间每小时耗资约30万美元。最明显的影响是流量尖峰下降,电子商务网站在最近的AppDynamics白皮书中被覆盖。然而,Treynor还指出,标准开发商与操作系统的摩擦力如何以其他方式成本高昂。经典的冲突从功能更新发布之前的操作提供给开发人员的支持清单开始。当用户喜欢新开发的功能时,开发者赢得越早越好。同时,在正常运行时间报告中最多有9次操作时,操作胜出。所有变化带来不稳定;你如何调整自己的兴趣?


Treynor的答案是对那些与用户满意度指标有关的人的救济,但并不是那些有心脏病的人。他说,


“100%是基本上所有的错误的可靠性目标。也许起搏器是一个很好的例外!但是,一般来说,对于您可以想到的任何软件服务或系统,100%不是正确的可靠性目标,因为没有用户可以告诉100%可用的系统之间的差异,假设有99.999%的可用性。因为通常情况下,您正在运行的用户和软件服务之间存在许多其他事情,这些边际差异会丢失到其他一切可能出错的噪点上。“


这种反应将焦点从针对用户期望的准确代理的具体正常运行时间指标转移到基于市场现实的可靠性指标。Treynor解释说,


“如果100%是系统错误的可靠性目标,那么系统的正确的可靠性目标是什么?我建议这是一个产品问题。这不是一个技术问题。考虑到他们支付多少,无论是直接还是间接,以及他们的替代方案,用户都会满意的是什么。


谁雇用SREs?


简单的答案是“每个人”,从软件/硬件巨头如苹果到金融门户如晨星到非营利机构,如劳伦斯伯克利国家实验室。伯克利是一个组织的一个很好的例子,既是能源研究的前沿,同时也保留着一些非常古老的遗留系统。确保几代技术的可靠性是一个巨大的挑战。以下是伯克利实验室负责SREs的工作:


Linux系统管理技能来监控和管理由控制室桥梁负责的系统的可靠性。


开发和维护用于支持NERSC中HPC社区的监控工具,使用C,C ++,Python,Java或Perl等编程语言。


在设计软件,工作流程和流程方面提供改进组监控能力的输入,以确保NERSC和ESnet提供的HPC服务的高可用性。


支持测试和实施新的监控工具,工作流程和新功能,为生产中的系统提供高可用性。


通过管理组件升级和更换(软件,硬盘,卡,电缆等)来协助数据集群的直接硬件支持,以确保节点有效地返回生产服务。


帮助调查和评估新技术和解决方案,推动集团的能力向前发展,超越用户需求,并说服受到激励的员工转型创新,持续改进。


与维基百科的在线公司相比,技能简介,其中SRE任务往往不那么技术性和外交性较强:


提高自动化,工具和流程以支持开发和部署


与工程团队建立深厚的合作伙伴关系,致力于改善用户体验


参加冲刺规划会议,并支持部门间协调


排除站点中断和性能问题,包括通话响应


帮助提供系统和服务,包括配置管理


支持能力规划,现场演示分析和其他分析


帮助一般操作问题,包括机票和其他正在进行的维护任务


在过去一年中,出现了更加战略性的决策层面的转变,反映了客户请求和故障转移程序日益增加的自动化。即使像IBM这样的传统公司,由于物联网议程的推进,SREs也可以使用一些最新的平台。例如,爱尔兰IBM的一个SRE开放课程需要OpenStack Heat,Urban Code Deploy,Chef,Jenkins,ELK,Splunk,Collect D和Graphite等方面的经验。


SREs如何变化


现在的网络世界和现在十年前的SRE进入现场是截然不同的。此后,移动已经重新定义了开发周期,轻松访问基于云的数据中心已将微服务引入主流IT基础架构。Startups定期使用Rest和JSON作为移动应用程序的首选协议。根据精益创业的原则,DevOps通常是小型,更集中的团队,作为集体SRE。


您会发现开发和运营之间有更多的协作和更少的冲突,只是因为持续的交付模式将开发和运营的责任分解为一个周期。DevOps这个术语可能会消失,因为两个不同的部门合并在新的世界中,其中UX是一切,更新可能会每周推出。无论在任何给定的SRE工作描述中有多少个9,这个职业生涯路径似乎为您提供最高的工作安全可靠性。

相关文章
|
2月前
|
运维 安全 Cloud Native
解读平台工程,DevOps真的死了吗?不,它只是换了个马甲而已,依然是DevOps的延续
最近平台工程这个概念越来越火爆,Gartner 的预测,到 2026 年,80% 的软件工程组织将拥有平台工程团队,来提供内部服务、组件和应用程序交付工具,作为可重复使用的资源。本篇文章将带你走进平台工程,了解它的起源和解决的问题。
|
4月前
|
存储 安全 Devops
DevOps 中 API 治理的工程问题和落地实践案例
API 的全生命周期管理与 Devops 是紧密相关的,Devops 中的各个环节都会对 API 治理有一定的业务诉求,很多时候企业需要一体化的 API 管理平台来提供相应的业务能力。 在 Devops 工作流中进行 API 全生命周期管理时,成功交付的核心其实就是为企业提供工程问题的解决能力。那么所谓工程问题都有哪些呢?
80 0
DevOps 中 API 治理的工程问题和落地实践案例
|
监控 负载均衡 Cloud Native
【DevOps】什么是混沌工程?
测试您可以预测的事故是必不可少的。但是随着数字化转型和云原生架构带来的复杂性,团队需要一种方法来确保应用程序能够承受生产的“混乱”。混沌工程满足了这一需求,因此组织可以提供在任何条件下都可以正常运行的强大、有弹性的云原生应用程序。
|
监控 负载均衡 网络协议
DevOps之混沌工程
在生产环境中对系统进行破坏,来不断增强软件的健壮性
1384 0
DevOps之混沌工程
|
存储 人工智能 运维
阿里巴巴DevOps实践指南(二十)| 业务系统安全工程
系统的安全受内部和外部双重影响,在防止企业系统受外部影响上,信息安全目前相关的理论研究和产品建设已经较为完善。当前系统故障的更多原因是由于企业内部问题导致的,信息系统安全工程作为降低系统故障的体系化解决方案,未来的相关理论研究、产品服务也将得到快速发展。
阿里巴巴DevOps实践指南(二十)| 业务系统安全工程
|
1月前
|
运维 安全 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
在数字化转型的浪潮中,企业对于IT基础设施的要求越来越高,不仅需要快速响应市场变化,还要确保系统的稳定与安全。本文深入探讨了如何通过融合DevOps文化和容器化技术来构建一个高效、稳定且易于管理的云基础设施。通过实际案例分析,阐述了持续集成/持续部署(CI/CD)流程的优化、自动化测试、监控以及日志管理等关键环节的实施策略,旨在为运维专业人员提供一套切实可行的解决方案。
31 3
|
1月前
|
运维 Kubernetes Devops
构建高效可靠的云基础设施:DevOps与容器化技术融合实践
【2月更文挑战第30天】 在当今快速迭代和竞争激烈的软件开发领域,传统的IT运维模式已难以满足业务发展的需要。本文将探讨如何通过整合DevOps文化和容器化技术,构建一个既高效又可靠的云基础设施。文章首先回顾了DevOps的核心理念及其对运维工作流的影响,接着深入讨论了容器化技术的优势和挑战,并提出了一套结合两者的实施方案。最后,通过案例分析展示了该方案在实际环境中的应用效果和潜在益处。
|
13天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器技术融合实践
【4月更文挑战第15天】 在当今快速发展的信息技术时代,传统的IT运维模式已难以满足业务敏捷性的需求。本文旨在探讨如何通过整合DevOps理念和容器技术来构建一个高效的自动化运维体系。文章将详细阐述DevOps的核心原则、容器技术的基础知识,以及两者结合的优势。此外,文中还将分享一系列实践经验,包括持续集成/持续部署(CI/CD)流程的搭建、微服务架构的应用,以及监控和日志管理策略的优化,以期帮助企业实现快速、可靠且安全的软件交付过程。
|
15天前
|
运维 Devops 持续交付
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【4月更文挑战第13天】 在当今快速迭代和持续部署的软件开发环境中,传统的IT运维模式已难以满足业务发展的需求。本文聚焦于如何通过融合DevOps理念与容器化技术,构建一个高效、稳定且易于管理的云基础设施。文章将探讨持续集成/持续交付(CI/CD)流程的优化、容器化技术的最佳实践、以及微服务架构下的应用管理,以期为企业提供一种改进运维效率、加速产品上市时间,同时保障系统稳定性的解决方案。
|
30天前
|
运维 Kubernetes Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
随着企业数字化转型的不断深入,传统的IT运维模式已经难以满足快速迭代和持续交付的需求。本文将探讨如何通过结合DevOps文化与容器化技术,构建一个既高效又稳定的云基础设施。文章首先概述了DevOps的核心理念及其在现代运维中的重要性,然后详细介绍了容器化技术,特别是Docker和Kubernetes在实现微服务架构中的应用。最后,文中通过案例分析展示了这一融合实践如何在真实环境中提升运维效率和系统稳定性。
21 7

热门文章

最新文章