Skip to content

开篇词 互联网公司故障频发,我们应该如何保障服务持续可靠?

你好,我是白园,也是你的服务可靠性之旅的向导。欢迎你加入这段旅程。

在正式开始之前,我想先来介绍一下我自己。2013年我毕业后就加入了百度运维部,负责百度网盘的可靠性保障工作。在那个用户激增的年代,我亲眼见证了百度网盘从一个新星产品成长为全民必备的产品。期间虽然也出过大大小小的故障,但幸运的是,在这个过程中网盘的可靠性保障体系有了质的飞跃,而我也亲历了网盘可靠性保障体系从无到有、从粗糙到精细,从能发现故障到快速定位再到智能决策这一整个过程。

2019年短视频业务爆火,而我也在这个时候加入了快手SRE团队,参与了快手春晚红包的保障工作。后续3年的时间我的工作重心是在快手海外版kwaipro的可靠性保障上,而这也让我有机会将自己的专业领域从国内拓展到了海外,同时也了解到除网盘、地图之外的短视频、直播、电商等业务形态。

为什么说可靠性保障是一门必修课?

在这11年工作生涯中我始终站在一线,直面过无数次故障,每一次都是对业务的巨大考验。故障的背后都有各种各样的问题,而这些故障往往会给企业带来巨大的损失和深刻的影响。如果要应对这些故障,我们必须从基础做起,构建坚实的可靠性保障体系,系统性地提升相关保障能力。

可靠性是什么?

可靠性的英文是Reliability,是SRE(Site Reliability Engineering)中非常关键的一个部分。很多人可能会简单地将可靠性视为系统的稳定性。但实际上,可靠性背后的概念远比这更为深远和全面。

可靠性背后并不仅仅是问题的堆积和解决,而是一个多维度概念,涵盖了科学、技术、工程和应用的各个方面。

  • 作为科学,可靠性探讨了“是什么”和“为什么”,它研究系统失败的原因和规律,以及如何通过理论模型来解释和预测这些现象。
  • 作为技术,可靠性关注的是“怎么做”,它涉及开发和应用各种方法和工具来提高系统的性能和稳定性。
  • 作为工程,可靠性追求的是“怎么做得既快速又经济、高效”,它强调在设计和制造过程中实现可靠性的最优化,以达到成本效益和性能的最佳平衡。
  • 作为应用,可靠性解决的是“如何将理论应用于具体场景”,它指导实际产品和服务的设计,确保它们在现实世界中能够稳定、持续地满足用户需求。

可靠性,作为一个涉及多个领域的综合性学科,远远超出了互联网行业的范畴。它的核心价值在于确保系统、产品和服务的稳定性与持续性,这个需求贯穿于各个行业和生活的方方面面。从我们日常生活中不可或缺的汽车、医疗和消费品,到对安全性和稳定性要求极高的军事国防、航空航天和能源领域,可靠性都是不可或缺的一环。 所以无论身处哪个行业,可靠性保障都是我们必备的一项能力。

图片

可靠性在互联网领域的发展

正是基于这样的广泛需求,可靠性的技术和实践在过去几十年间得到了迅速发展和普及,特别是在互联网领域,从2000年到现在经历了三个阶段,可靠性保障已经逐渐发展成熟。

2000年~2009年就是互联网可靠性发展的第一阶段,随着互联网行业的兴起,服务可靠性保障开始受到重视,各种技术手段如监控、变更管理和容量规划等逐渐出现并开始应用于实践。这一时期的标志性事件是百度的成立,它不仅开启了中国PC互联网的新时代,也为后来的可靠性技术发展奠定了基础。

随后进入2009年~2015年的第二阶段,可靠性技术进一步成熟和系统化。阿里巴巴在2009年正式启动双十一活动,不仅创造了电商奇迹,更标志着可靠性建设从分散的技术手段转变为系统性的工程实践。这一转变对于整个互联网行业的稳定性和可靠性管理具有深远的影响。

到了2015~今天的第三阶段,可靠性在互联网领域的应用达到了新的高度。这期间的两个里程碑事件分别是微信与央视在2015年春节期间合作推出的抢红包活动,以及《SRE:Google运维解密》一书的正式出版。

这些事件使可靠性保障逐渐从一个技术概念转变为行业标准,与此同时,企业和组织对可靠性保障的关注度在逐年提高,对服务稳定性和系统可靠性也有了更高的要求。

2023年的十大故障

虽然我们对可靠性保障的关注越来越多,但是刚刚过去的2023年却是故障频发的一年。相信你也多多少少听说过,2023年几家互联网巨头都出现了一些影响很大的故障。有些人说这些故障是降本增效导致的,但背后的原因真的这么简单吗?

图片

其实背后的原因是多样化的。首先,不可避免地,裁员会导致人力资源短缺,进而影响到相关人员对应急预案的熟悉程度,然而更关键的因素在于监控体系的不完善、基础设施的容灾能力不足以及其他能力缺失等等。

同时,我们也不能忽视人为因素在其中所起的作用。在意识层面,员工可能缺乏足够的安全意识和紧急情况应对能力;而在文化层面,企业可能还没有形成一种安全预防的文化氛围。

这就是我想写这个专栏的一个非常重要的因素, 面对复杂多变的业务环境,我们不仅需要强大的技术支撑,更需要培养一种全面的可靠性思维。所以我希望通过这门课程帮助你:

  • 快速识别和填补监控体系的漏洞;
  • 构建完善的容量保障体系,让资源发挥最大效益;
  • 做好应急预案,提高响应的速度;
  • 强化可靠性保障体系基础设施建设;
  • 养成可靠性保障思维;
  • 借助AIOps工具,让可靠性工作更加全面和智能;
  • ……

从技术到业务,从个人意识到组织文化,全方位提升你对服务可靠性的理解和实践能力。

课程设计

为了循序渐进地达到这个目标,我将课程分为了3个部分。

图片

基础篇

在基础篇,我们会系统学习可靠性保障最必备的六项技能:监控、容量、变更、预案、备份和恢复,以及文化与机制建设,了解这些能力可以解决哪些问题。此外我们还要培养自身的可靠性意识,不仅仅停留在使用工具和技术解决问题的阶段,而是从意识层开始改变。

应用篇

在应用篇,我们将深入分析具体的案例并探讨监控、容量、变更等技能在实践中的应用。特别是互联网公司那些影响非常大的故障,我们将通过分析这些案例看到背后的问题。同时我会介绍一些复杂场景下的应对方案,比如机房故障应该如何应对等等。

智能运维篇

这部分我们会介绍AI跟可靠性的结合能产生哪些火花,以及业界的优秀案例。比如通过异常检测,解决传统监控中难以发现的复杂问题,提高对系统异常的识别速度和准确性;利用AI进行时序数据分析和回归预测,可以更准确地预估系统负载,从而实现资源的优化分配和弹性扩容等。在故障发生的时候如何做出更加智能的决策,给出合理的建议。在数据可靠性方向如何通过AI预测即将发生的磁盘故障,提升数据的可靠性。

时代在发展,有了AI的加持,可靠性保障的效率和准确性也会更上一层楼。我希望你也可以紧跟这个专栏的节奏,在这个快速变化的时代,让可靠性成为你的船帆,为每一行代码、每一项服务、每一笔交易保驾护航!

欢迎加入 课程交流群