在IT相关的公司中,sa和sre一般都会被称为运维。 原先我一直认为并没有特别大的区别,但是这2者的概念其实是有很大的区别,出发点也是不一样的。
sa(system admin)这个岗位在大宋是在20多年前产生的,也是伴随着第一代互联网公司产生的。 而他们的工作职责主要是维护服务器,交换机,高级点还有点防火墙什么的。而这些事情可能就花费了大量的时间。当年就看到某游戏公司的2个运维在机房里待了1个月,就为了上架30多个机柜的服务器。
而当年会用kickstart安装操作系统也算是小有成就。更高点的还要进行驱动更新,kernel裁剪这些事情。以及要对整个操作系统的启动流程要烂熟于心。
而我当年还干了一点什么测量服务器最大电流,平均工作负载的电流,就是为了一个机柜里塞更多的机器。
魔都电话电报局的那个机房因为年代久远,管理混乱,经常你推着机房小推车就不知道把谁家的网线电源给兜走了。能知道的就给人插回去,不知道插哪里的就只能扔那里了。
这个第一代sa主要就是针对硬件,操作系统相关的工作。因此他们一般对于操作系统,网络协议都会非常熟悉。这些是跟后面几代的区别差异。
而第二代sa的成长是由于整个硬件和操作系统的成熟度越来越高,而且远程控制卡(iDRAC)这些越来越成熟,终于可以脱离物理的限制进行远程工作了。那时间更多的在操作系统之上的基础软件上了。http server,db server, cache server这些事情上花的时间更多了。
同时因为成熟度越高,对于可靠性大家也不能像第一代那样了。网络层面的heartbeat和keepalived这些就是必备了,而数据库层面的mmm,mha架构也是耳熟能详的。
可见这个时候大家的关注点是在基础软件上,以及针对这些基础软件的监控报警上。我还记得自己把wikipedia上一些完整性比较高的监控软件都测试了一遍。之前也写过一遍贵司监控软件的5代更新。
也就是这里大家借助于一些工具摆脱了很多手动工作的事情了。这个也是现在大部分初中级别运维的所在位置。他们会对一些常用软件和工具非常熟悉,好一点的会关注这些软件背后的原理和常见问题处理。
而贵司的研发评审基本也属于在这个层次,列了很多的研发规范,各种中间件数据库的使用规范,各种的性能优化意见都是在这个层次上的。