Reliability

1 min read

可靠性工程师顾名思义就是保证可靠性的工程师。非常著名的《Site Reliability Engineering: How Google Runs》提到了Google内部是如何保障可靠性的。网络行业中有类似但相对小众一点的概念Network Reliability Engineer——网络可靠性工程师,当然就是保障网络稳定性的工程师。

NRE的三个单词刚好对应了这个职务的关键技能:网络、可靠性(保障)和工程能力,而这三者中又以Reliability最为关键。遗憾的是,大部分网络工程师都不能计算出一个相对复杂点网络的可靠性,如果对而求其次,很多人甚至不能逻辑自洽(不论结果是否正确)。

一个流行的观点是,NRE需要大量依赖网络自动化,或者infrastructure-as-code的理念。我当然完全认同用自动化的方式来替代重复(且很可能易错)的手动工作,但我认为自动化不能机械地复制原有手动工作——有些步骤需要简化,有些需要重新评估,而有些可能增加额外的步骤。同时原本手动工作中有问题的理不清的东西,也不应该自动化,否则自动化只会让原有的问题的积累速度越来越快。

厂商们通常为了宣传自身产品而片面的强调自动化过程,但是一个不可靠的设计,是无法通过自动化来解决根本上的可靠性问题。

Ken lai

Read more posts by this author.