SRE team的第一课
本文将与大家分享一些新加入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以后往往被无视了,因为还没有真正理解之前就开始抱怨,并不能实现他们应有的价值。笔者也在努力让这种事情不再发生,大家通力合作,共建一种更好的技术文化。
页:
[1]