You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

4.4 KiB

第一章 SRE与Devops之间的关系

运维是一门很难的学科。

不应将运维视为一个成本中心,否则想要取得实质性的改进变得举步维艰。

关于DevOps的背景情况

DevOps是一套松散的实践理论、指导原则和工作文化,旨在打破IT组织中开发、运维、网络和安全各自为政的局面。

CA(L)MS

Cultrue 文化

Automation 自动化

Lean continuous 精益持续改进

Metrics 监控指标

Sharing 分享

DevOps核心思想

  • 不再各自为政,即打穿门墙。

  • 意外乃兵家常事。 意外不仅仅是某个人的孤立行为而导致的,而是因为在发生了不可避免地意外故障时,保障措施的缺位。

  • 变更要小步快跑。每次的变更要小一点,做的次数要多一点。这种小步快跑的模式,再结合自动测试,出错回滚,就可以实现变更管理方式的转型了,变迁到持续集成(CI)和持续交付或部署(CD)的模式

  • 工具与文化休戚与共。 工具是DevOps非常重要的组成部分,但企业文化更应受到高度重视。良好的文化可以解决糟糕的工具造成的麻烦。

  • 准确的度量至关重要。 在业务的视角中度量显得尤为重要,尤其是在避免各自为政和解决事故方面。

关于SRE的背景情况

SRE是一个工作岗位,是一系列工作的实现方式,以及一些使这些工作实践充满动力的信念。如果DevOps是一种理念和工作方法,SRE实现了DevOps中所描述的部分理念,而且比DevOps所定义的工作更加具体、清晰。

SRE构成原理

  • 运维的痛点也是软件问题 SRE的基本信条:做好运维是一个软件开发问题。

  • 以服务质量目标(SLO)为准绳 SRE不会企图提供100%的可用性。产品团队和SRE团队会为服务的用户群体选择合理的可用性目标,并以SLO为准绳来管理该服务。

  • 尽量减少琐事 对于需要由机器来做的运维任务,通常情况下就应该让机器去完成。琐事绝对不是工作,项目工作才能帮助我们让服务更可靠,更具扩展性。

生产的智慧:通过在生产环境中运行事物而获得的智慧

  • 确定本年度要自动化的工作 要明确哪些内容需要自动化,在什么条件下自动化,如何自动化。

  • 故障解决的越快,进度就越快 SRE参与工作的主要收益不只是提高可靠性,还改善了产品开发的输出。

  • 与开发人员同舟共济(Share ownership) SRE倾向于关注生产问题,而不是业务逻辑问题。理想情况下,产品研发和SRE团队都应该对产品技术栈有整体的了解。

  • 岗位虽不同,工具可统一。

比较与对照

DevOps与SRE的共性:

  • 实施改变是进步的源泉。

  • 协作与共同负责制

  • 小步快跑的做变更

  • 使用正确的工具

  • 度量

  • 对事不对人

  • 一种整体行为: 通过特别的方式共同合作,使整个团队变得更好。

DevOps与SRE的差异:

DevOps是一种更宽泛的理念和文化。SRE的职责定义就相对狭窄,其工作通常是面向服务而非面向整体业务。

SRE与DevOps所认可的东西相同,但认可的原因略有不同。

因地制宜才能事半功倍

有效的运维方法都是相似的,而出问题的方式各不相同。

  • 片面、刻板的激励机制会阻碍成功 不要将激励措施与发布相关的,可靠性相关的成果联系在一起。要允许回撤那些难以驾驭,无可救药的产品支持。

  • 解铃还须系铃人,勿怨他人 请完全消除将生产事故或系统故障归咎于其他团队的念头。

    • 应当允许并鼓励在产品需要时修改代码和配置。同时授予职责范围内较高的自由度

    • 支持对事不对人的事后总结报告。

  • 维护可靠性是专业化角色 SRE和产品开发可以是两个独立的部门,每个团队都可以有自己的工作重点、优先事项和管理模式,而不必和其他的团队一一对应。这两个团队是相辅相成的。

  • 毋庸斟酌是否,只需推敲时机

  • 尽量在职业发展和物质激励上一视同仁

小结

推荐书籍

  • Site Reliability Engineering

  • Effective DevOps

  • The Phoneix Project

  • The Practice of Cloud System Administration: DevOps and SRE Practices for Web Service, Volume 2

  • Accelerate: The Science if Lean Software and DevOps