engineered是什么意思 engineer( 二 )


让开发人员做 SRE 最显著的优点是,团队规模变大的时候也能很好的扩展 。而且,开发人员将会全面地了解应用的特性 。但是,许多初创公司的基础设施包含了各种各样的 SaaS 产品,这种多样性在基础设施上体现的最明显,因为连基础设施本身也是多种多样 。然后你们在某个基础设施上引入指标系统、站点监控、日志分析、容器等等 。这些技术解决了一部分问题,也增加了复杂度 。开发人员除了要了解应用程序的核心技术(比如开发语言),还要了解上述所有技术和服务 。最终,掌握所有的这些技术让人无法承受 。
另一种方案是聘请专家专职做 SRE 。他们专注于发布部署、配置管理、监控和指标,可以节省开发人员的时间 。这种方案的缺点是,SRE 的时间必须分配给多个不同的应用(就是说 SRE 需要贯穿整个工程部门) 。这可能意味着 SRE 没时间对任何应用深入学习,然而他们可以站在一个能看到服务全貌的高度,知道各个部分是怎么组合在一起的 。这个“三万英尺高的视角”可以帮助 SRE 从系统整体上考虑,哪些薄弱环节需要优先修复 。
有一个关键信息我还没提到:其他的工程师 。他们可能很渴望了解发布部署的原理,也很想尽全力学会使用指标系统 。而且,雇一个 SRE 可不是一件简单的事儿 。因为你要找的是一个既懂系统管理又懂软件工程的人 。(我之所以明确地说软件工程而不是说“能写代码”,是因为除了写代码之外软件工程还包括很多东西,比如编写良好的测试或文档 。)
因此,在某些情况下让开发人员做 SRE 可能更合理一些 。如果这样做了,得同时关注代码和基础设施(购买 SaaS 或内部自建)的复杂程度 。这两边的复杂性,有时候能促进专业化 。
总结在初创公司做 DevOps 实践最有效的方式是组建 SRE 小组 。我见过一些不同的方案,但是我相信初创公司(尽早)招聘专职 SRE 可以解放开发人员,让开发人员专注于特定的挑战 。SRE 可以把精力放在改善工具(流程)上,以提高开发人员的生产力 。不仅如此,SRE 还专注于确保交付给客户的产品是可靠且安全的 。
via: https://opensource.com/article/18/10/sre-startup
作者: Craig Sebenik 选题: lujun9972 译者: BeliteX 校对: wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
点击“了解更多”可访问文内链接

秒懂生活扩展阅读