接手一个新的项目,我会关注的3个问题

作为 SRE,在工作中,接手一个新项目是很平常的事情。离职、入职、组织结构调整等,都可能会让你来接手管理一个项目或者组件。在 take over 的时候,我总结了一些需要关注的重点问题。

1. Where did it deploy?

项目部署在哪里?这是最重要的一个问题。是直接部署在物理机上,还是部署在容器上?是用什么方案部署的,如果发布新的版本,发布的流程是怎么样的?

可以到机器上看下都有哪些进程在运行。如果是一个中间件,可以尝试使用这个中间件写一个小 demo 体验一下。

最好是能画出来部署的架构图。

2. How do we monitor?

当前的部署结构算是一个静态的,那么监控就相当于是一个动态的。

监控可以告诉你当前系统的请求量,系统的运行状态。以后的工作中可能打交道最多的也是监控了。所以学会看懂监控非常重要,需要针对当前的监控面板,问清楚每一个指标代表了什么。

然后,可以从项目所要解决的问题上,去评估,哪些指标可以告诉我们当前的服务状态,发现核心服务的状态需要哪些数据。从而也可以评估当前的监控是否完善。告警是否设置了,设置的是否合理。

3. Where is the code?

以前我可能会问:“这个项目的文档在哪里?”,但是我发现,文档要么是过时的,要么是一团糟,要么没有。但是软件要想跑起来,没有代码是不可能的,所以不如直接问一下代码在哪里?代码中什么都有。(当然,如果有文档更好)。

在开发者和 SRE 之间划一条线,代码的逻辑从不过问,遇到问题就找到开发者说“帮我看下这里问题出来哪里了?” 这样是做不好工作的。我认为一个合格的 SRE 首先要是一个好的程序员。

SRE 看代码可能更会专注于配置类,这个项目是如何连接数据库的,是如何发现其他的服务的,是如何部署在服务器上的,有哪些项目是可以配置的,配置是什么管理的。以及这个项目选择的一些依赖,用了什么开源项目。

如果不去做问题 3,那么了解部署结构、了解监控,也都是做不好的。很多工作只有清楚了代码的逻辑才能进行得更加深入。

如果有时间,多去看看项目的逻辑代码,也是挺有意思的。可以对比一下类似的产品的处理方式,也可以和同事互相学习,了解同事的品味。

 

交接的时候,主要的问题问清楚这些基本就可以了。然后先熟悉一段时间,再发现其中的问题,比如发布流程是否合理,有些运维工作是否能够自动化。慢慢地读代码,搞懂逻辑,再发现更多可以优化的事情。SRE 是和项目一起成长的。

接手一个新的项目,我会关注的3个问题”已经有2条评论

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注