昨天凌晨5点多,就看到聊聊SRE群里在喊阿里云DNS又出问题了,影响很多互联网公司业务,各公司的运维负责人都在组织业务恢复,持续时间还好几个小时。
后来看也有一些专业分析说是域名劫持,已经讲的很到位了。
我好久不做故障解读,现在做的事情离互联网也有点距离,所以对这种事件敏感度下降了很多。
但是还是联想到一些东西,所以,想到哪算哪,随便说说。
DNS是互联网最最最基础的服务,但凡是在线业务都离不开这个基础的支持。
但越是基础伤害越大,我记得前两年Facebook、Cloudfare、微软都出过DNS的故障,一出就是数个小时,全球业务业务受影响。
相反的,却很少听到哪个网站因为哪个功能或性能问题导致宕机几个小时,按这么多年来高可用架构发展的成果来看,功能和性能上的稳定性基本不是什么问题了。
所以延伸一下,就聊聊什么是基础:
1、所谓基础,就是最全局,全局都依赖的服务,才叫基础,所以一出问题就影响全局。
2、基础的服务,就是一般不会有问题,大家都默认是正常的。如果天天出问题,就不是基础,因为没人敢把你当基础。
带来的问题就是大家习以为常,不会关注,往往出问题就是大问题,一时半会解决不了。
也正是因为通常不会出问题,对于负责维护或设计的人,从公司和管理者角度,就有了留你何用的想法。
3、还有,最基础就是从头一开始就存在的部件,比如DNS服务,在最初一开始,是不是设计的周全完美,不一定,为了业务效率,肯定是有一个先能用就行。
但是慢慢的,业务都跑在上面了,越来越多,依赖越来越重,最后就是谁也不敢动,修修补补可以,但绝不大动,出问题谁也承担不了这个责任。
4、基础的、大家习以为常的东西,往往会得不到重视,大家都忙着搞上层建筑去了。所以这个服务的关键角色一变动,里面的错综复杂,就没人搞的清楚,就非常容易出问题。
一个团队里面不怕技术最牛的人离开,而是怕踩坑最多的的人离开,因为他知道应该怎么避坑。
5、最后,为什么都说夯实基础,这下应该有更深刻的理解了。
就这些,不多延展了。