大家好,我是熊大!
好多读者盆友知道我是做SRE
的,就特别好奇什么是SRE
,可能好多人听都没有听过这个新鲜名词。今天来和大家讲讲。
简单说说SRE
我今年已经工作第四年了,其实我们是腾讯最早尝试私有云的团队,我在里面做监控云的活,那个时候我也不知道什么是SRE
。
摄像头一直在实时录像,到处拍,发现可疑的人;监控嘛,作用差不多,只不过一个是给安保用的,另一个是给SRE
、给业务用的。
SRE,Site Reliability Engineering 的缩写。其中 site 是指 website,可以翻译为网站可靠性工程。
翻译成人话就是保障业务运行的稳定,通常所说的3个9,5个9 业务保证可用,不挂机,不终止服务,就是SRE
要考虑的了。
业务开发有啥区别
很多人听到这里都觉得,业务也要考虑高可用啊,也要考虑高并发啊,还要考虑一致性、可达性、要保证消息不丢失,还得保证安全不被攻击啊。
没错,业务是要考虑这些事情,但这些事情一般是到一定工作年限的业务才考虑的事。其实很多业务开发,更多考虑的是某些设计场景,并发方案,调接口,rpc
。比如金融行业的业务更多注重的是交易安全,和并发安全;医疗行业和政府更注重的是能用就行,不用考虑自适应。
未来找工作的方向,更多的也是往业务开发方向走,掌握各类语言的各种库灵活应用,掌握设计模式、掌握业务方案、掌握各种中间件的使用等等。
SRE 应该具备哪些能力
所以二者还是有很大区别的。我放个JD要求你就知道了。
还有很多虽然JD各不相同,但是要求是类似的
- 网络层(VPN、专线、防火墙、http协议、Tcp协议、BGP协议等)
- 中间件(接入层、消息队列、缓存、文件存储、搜素、大数据等)
- 容器(容器编排、容器、容器网络、镜像管理等)
- 操作系统(CPU管理、内存管理、磁盘I/O、网络I/O、内核等)
- 基础服务(日志、监控、容器云等)
除了这些还得和各种业务团队、运维团队打交道,梳理推动,搞定 故障预防、故障发现、故障定位、故障恢复、故障改进。
SRE平时都在干什么
知道我github
的读者,也看到了我的技术栈。
我以前根本不知道我其实是个SRE
,而我也没想到,我即使做到高级,掌握的也只是皮毛。
做SRE
可比业务开发刺激多的,经常都可以学到新的东西,正是因为SRE
不需要考虑太多业务的东西,所以有更多的时候研究技术。
喜欢学习新技术的,来学SRE
肯定是没错的。
作为业务开发来说,可能很多时候是用不到所谓的面试八股文的。但是作为一个专业的SRE
来说,这些不仅仅是八股文。
而是为了保障业务安全、预防故障发生必须要学的东西。
所以说把同等职级的SRE
和业务开发放在一起比较时,只要不是问太偏业务的东西,绝对是SRE
了解的更多。
泼一盆冷水
看到这里,可能有一些做SRE
的同学要说了,为什么自己整天都是在做运维的工作。
是的!这就是我们的苦逼之处,我们要处理工单、告警、紧急事故,要迎接变更,要及时响应故障,仿佛我们就是运维。
要我们还要自己设计工单系统、开发监控系统、数据处理存储压缩系统等等。
所以SRE
日常的工作是集运维和开发一体的。
像我这样的比较特殊,一开始就是做监控系统的开发,同时又做过实施部署、devops、又做运维上线,不知不觉中走向了这条路子。
这也是我最正确的选择!
我要给大家泼一盆冷水,做这个压力是一定有的,很考验自学能力,如果能力不足够,很大概率会一直扑在运维上,填坑,又挖坑。得学会更多的解决方案、了解各种多数组件的特点,甚至在某些故障找不到原因时,还得去看源码。
你想做吗
虽然我上面放出了很多SRE
的岗位,钱看起也很多,但是三年以下的SRE
只有4页,而总的有22页。。。
也就是说这一块急缺经验丰富的人,而又很少需要3年以下类似工作经验的人。
所以要一开始就做SRE
太难了!大多同行都是从运维,然后接触了好多东西,也主动学习研发。或者从云行业、IT行业等转过来的。
因为除了经验丰富以外还要有足够的安全意识,特别是某些操作不当很可能给企业带来巨大的损失。
面对那么多挑战和压力,虽然看起来这个职业工资很高很香,但是门槛还是有点高。
好处是一个高级专家SRE
将会不存在太多的中年危机,因为这是企业最大的宝藏之一。
评论