序
第2版序言
本书是一本内容全面的技术图书,面向那些已经认识到,所有公司都已经从简单地称自己为“数字型企业”,转变为如果不真的这么做就会面临破产的企业管理人员。银行、保险和其他曾经拥有巨大“护城河”的行业,正在被一些新贵企业所冲击。这些企业能够提供令人惊叹的用户体验,是因为它们的运营方式真的像一家数字型企业一样,而不仅仅是纸上谈兵。
本书对于那些希望在实践中拥有一个高可靠性的可操作路线图、实现现代化运维理念(例如,DevOps、网站可靠性工程等),以及想应用最新技术概念和服务(例如,微服务、云计算、边缘计算)的主管、经理和架构师们来说,绝对是一本全面指南。
我很高兴能够在New Relic公司与Lee共事,New Relic是一家能够让企业在全球范围内监控它们数字业务的公司。在New Relic的时候,Lee周游了世界,帮助许多公司实现了数字化转型,加速了创新的实现,并且交付了百分之百可用的服务。
在许多30分钟的会议上,我一次又一次地看到Lee推动了许多公司的转型。请各位尽情享受这本书!它将对你的公司和职业生涯产生深远的影响!
Ken Gavranovic,New Relic的EVP兼GM,
Interland公司(现在是web.com)的CEO兼创始人
第1版序言
我们生活在一个有趣的时代,可以称它为软件的“寒武纪大爆炸”时代。在发展过程中,构建新系统的成本呈数量级下降,同时系统之间的关联程度呈同等数量级增长。借助于Amazon的AWS、微软的Azure和Google的GCP等资源,我们可以将系统在物理上扩展到一个几年前还只能想象的规模。
这些资源及其似乎无限的能力,正在以各种前所未见的方式,将新的思想、产品和市场极其快速地传播出去。但是,只有当我们构建的系统可以保持扩展的同时,所有这些探索才能成为可能。与以前相比,虽然构建小型系统变得容易很多,但是构建一个可以快速、可靠扩展的系统,并不像增加更多的硬件和存储空间那么容易,实践证明,这要难得多。
每个软件系统都会经历一个可预见的生命周期,从一个人能够完全理解的、小型的、设计精妙的解决方案,迅速增长为一个积累了大量技术债务的庞大系统,随后又逐渐分裂成由一些不完善的服务随机组成的组合,并最终演化成在广度(更多用户)和深度(更多功能)方面均可稳定伸缩的、设计良好的分布式系统。对于这样的系统来说,我们很容易从外部了解要做哪些事情(让它变得更加可靠!),但又很难了解它的内部细节。幸运的是,本书是一本关于这方面不可或缺的指南,从可用性到服务层,从比赛日到风险模型,Lee一步步地介绍了影响大规模系统的各个关键因素和实践方式。
Lee加入我们的时候,是New Relic第一次从仅拥有一个产品正在向多个产品转型的时期,当时我们正沉浸在用户极速增长和公司成功的喜悦中。Lee的到来,为我们带来了他在Amazon的丰富经验,不管是零售业务还是AWS业务都曾经历过巨大的增长。Lee曾是这些团队的领头人,他曾经积极参与过与可伸缩性有关的所有事情,也遇到过很多失败。对我们来说,幸运的是,他已经经历过这些挫折与困苦,其中的教训可以让我们避免再犯同样的错误。
在Lee加入New Relic之前,多年以来,我们一直处于系统服务不可用的尴尬处境。我们原有的庞大系统也逐渐无法支持业务的发展,不管是可用性、可靠性还是性能都不是很好。但是,通过充分运用Lee在本书中所写的各项技巧,我们逐渐克服了这些困难,并构建了如今稳定可靠的企业级服务。其中我们使用的一个工具,建立了可用性工程的四个级别:青铜、白银、黄金和白金。要达到青铜级,团队必须拥有风险模型及预定义的SLA标准。要达到白银级,团队必须能够监控风险模型中标识出来的问题,并使用比赛日的方式来解决。黄金级意味着风险已经被缓解。白金级如同CMM 5级一样,不仅系统可以自愈,而且我们关注于持续性的改进。我们首先集中精力对第一级的服务进行改进,然后上升到第二级的服务,逐步推进,最终使得所有团队都至少达到白银级,并且大多数团队通过了黄金级,甚至有几个团队达到了白金级。
后来,我加入了InVision App这个更年轻的公司。我又一次经历了从早期成功转向高速增长的过程,一直推荐大家去使用Lee之前带给我的技术和工具。在这个新系统、新产品、新公司的爆炸年代,我强烈建议大家跟我做一样的事:向Lee学习如何构建可伸缩的系统。
——Bjorn Freeman-Benson博士