什么是可靠性工程?

已完成

站点可靠性工程 (SRE) 使软件开发人员能够在生产环境中掌握其应用程序的日常运作。 其目的是弥合需要持续交付的开发团队与负责生产环境可靠性的运营团队之间的鸿沟。 站点可靠性工程将生产可靠性的责任转移到了开发团队中的 SRE。

站点可靠性工程师通常会将多达 50% 的时间用于使应用程序保持可靠的日常任务,而其余时间则用于开发软件。

软件可靠性工程师的一项关键技能是,他们对应用程序有深入的了解。 这包括代码知识、应用程序如何运行、如何配置以及如何缩放。

站点可靠性工程师的一些典型职责包括:

  • 主动监视和审查应用程序性能。
  • 处理待命和紧急支持。
  • 确保该软件具有良好的日志记录和诊断信息。
  • 创建和维护可操作的 Runbook。
  • 帮助会审升级的支持票证。
  • 处理功能请求、缺陷和其他开发任务。
  • 为整体产品路线图做出贡献。
  • 执行实时站点评审并捕获系统中断的反馈。

站点可靠性工程与 DevOps

DevOps 可在操作人员和开发团队之间建立良好的工作关系。 通过打破两者之间的孤岛,DevOps 可以生产出更强大、更可靠的产品。

SRE 和 DevOps 都是可以满足组织对生产环境管理方式需求的方法。 正如你在前面的模块中所了解到的,DevOps 反馈系统可以识别问题并向开发人员发出警报,然后由他们解决问题。 利用 SRE,开发团队中的一名人员可以每天查找站点可靠性问题,并且可能也是解决这些问题的人。 尽管除非绝对必要,DevOps 团队通常会选择保持生产环境不变,但 SRE 可能会进行更改。

站点可靠性工程集能

所需的技能类型因应用程序、部署方式和位置,以及监视方式而异。 例如,使用无服务器技术的组织不需要有人深入了解 Windows 或 Linux 系统管理。 但是,这些技能对于使用服务器进行部署的团队至关重要。

良好的 SRE 的其他关键技能集中在应用程序监视和诊断上。 SRE 应该具有应用程序性能管理工具(如 Application Insights)的使用经验。 他们还应了解应用程序日志记录的最佳做法和异常处理。