数人云推出 SRE 系列译文, 为大家带来国外 SRE 的深刻解读与实践。 今天的文章从一个 SRE 新人的角度出发, 为大家详细列出 SRE 进阶的四个阶段,在准确定位的情况下,指引大家更好地在公司推行 SRE 。
本文将与大家分享一些新加入 SRE 团队时应该考虑的问题。无论你是刚加入一个 SRE 团队的新人,亦或是公司的第一位 SRE ( Ops/Techops/DevOps )。笔者也曾经历过这个阶段,并尝试了很多方法去理解公司 SRE 当时的情况以及确定下一步行动的方向。
我把它分成了几个阶段。大家可以整体来看或者在对应的时间看自己符合的那一部分,然后对它们更加了解。如果立刻照此执行,那么将对你在新公司取得成功有所帮助。这些条目处于一个较高层级,我们可以把它们更加细分。想法从这里开始,由你的好奇心决定深入执行的程度。然而,不要在兔子洞掉得太深……可能会迷路哦。
阶段 1-新入团队,打个招呼
- 尽量地与大家多进行沟通交流,了解他们对于当前系统状态的想法
- 尽可能地思考更多有关团队的问题,了解每个团队希望达成的目标
- 找出所有目前系统中大家的痛点
- 询问每个团队:如果有一处可以改进,那它是什么?
- 找到团队里资格最老的成员,然后让他们讲出团队里一些不为人知的秘密
- 做笔记!!!这一条如何强调都不为过。尽管你很聪明,但是把东西记下来是通向成功的关键
- 弄清楚你和你的团队预期的是什么,都有哪些支持
阶段 2-了解物理 /虚拟设备
你需要了解的物理 /虚拟设备包括:
设备规划
- 云、物理机还是混合式?
- 托管主机 or 自有主机?
- 硬件类型&供应商(底盘, CPU ,内存,磁盘,网络等)
操作系统设计
- OS 发行版&版本
- 基础 or 定制驱动?
- OS/内核调谐
- 包
- 自定义编辑库(如果有)
- 自定义 OS 微调(如果有)
基础设施服务
- 文件当前状态
- 监控系统
- 配置管理(如果有)
- 通用基础设施工具(例如 DNS , DHCP , PXE , LDAP )
- 基础设施工具(用户服务&工具)
- Github/Gitlab/SVN 工作流(团队 repo , CI/CD 等)
- 部署机制
- 外部工具依赖
- 应用团队所使用的数据库 /队列 /服务
阶段 3-了解应用 /服务
你需要了解的应用 /服务包括:
应用 /服务当前状态
- 应用数量(有多少不同的 app )
- 应用类型(这些 app 在做什么)
- 环境语言
- 依赖栈
- 文件的当前状态
- 应用监控
- 应用环境中的常见问题
- 宕机待命和扩展策略(如果有)
应用 /服务未来需求
- SRE 团队组织的期望
- 需要的新技术
- 可以做的改进架构调整
阶段 4-开始工作!
- 改进 /实现当前设施的状态和架构
- 改进 /实现环境部署(物理机或者虚拟机)的进程
- 改进 /实现环境中服务的工具
- 改进 /实现配置管理
- 改进 /实现软件部署的最佳实践
- 改进 /实现团队外部(技术&非技术岗)的人际关系
- 改进 /实现尽可能多你可以为公司目标带来好处的方面
最终的阶段总是最有趣的。这时你已经收集到了足够的信息,可以将你基于公司环境的想法付诸实践。虽然现在并不是所有人所有事都遵从你的建议,但是都在往预期的方向发展。作为团队成员,大家的做法都是有依据的,他们按照自己的想法以一定的方式来执行。无论它是否对你有意义,你都不应该嘲笑或者贬低他们的决定。对于那个时间点的他们来说可能已经做得足够好,这时你应该根据过去的经验和知识为他们提供改进的意见和建议。
你的到来是因为公司认定你会带来价值。然而许多人就职 SRE 以后往往被无视了,因为还没有真正理解之前就开始抱怨,并不能实现他们应有的价值。笔者也在努力让这种事情不再发生,大家通力合作,共建一种更好的技术文化。
作者: Anthony Caiafa 原文: http://anthonycaiafa.com/2016/04/27/new-to-a-team/
