第 5 章. 与第三方合作不应该失败
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
多年来,网站可靠性工程(SRE)的定义不断演变,但最容易消化的主观定义是 "当软件工程被赋予过去被称为'运营'的任务时会发生什么"。1大多数网站可靠性团队认为,运营是指在自己的基础设施上运行的应用程序。如今,越来越多的公司依赖第三方来实现其擅长的特定功能。这包括域名系统 (DNS)、内容分发网络 (CDN)、应用性能管理 (APM)、存储、支付、电子邮件、消息 (SMS)、安全(如单点登录 [SSO] 或双因素身份验证 [2FA])、日志处理等。这些资源中的任何一个资源,如果实施不当,都会造成依赖,有可能导致网站瘫痪。
供应商是我们无法控制的黑盒子吗?不一定。当我们与供应商合作时,重要的是我们要将同样的 SRE 规范应用到与第三方的合作中,努力使其不那么糟糕。
构建、购买还是采用?
在深入探讨与供应商合作的话题之前,我们应该先讨论导致我们购买而不是构建或采用的决策。我们在这一过程中的参与程度将取决于重要性和利益相关者的组合。确定重要性是整个过程的第一步,它将决定其他决定因素的重要性,如成本权重、支持权重、影响因素、服务水平协议(SLA)等。
确定重要性
对于领导一个项目或集成的 SRE 来说,确定重要性可能具有挑战性。例如,如果要决定下一版网站使用哪个 JavaScript 框架,很明显,参与决策过程的利益相关者会很多,受影响的也会更多,如数据科学、质量保证、工具等。
然而,决定选择哪个证书颁发机构(CA)则完全是另一回事。对某些人来说,证书的选择就像说 "我们就用 Let's Encrypt 吧 "一样简单,然后继续前进。但是,也有少数公司必须考虑的问题超出了单名证书和多名证书之间的选择范围。
如果你正在挠头,那很好。让我们再来探讨一下。
对于 SRE 团队来说,证书可能仅仅意味着安全。对其他 SRE 团队来说,证书可能会引起对性能影响的担忧。还有一些SRE 团队可能会质疑证书对协议和密码套件的影响。除了 SRE 团队之外,还有长期所有权、集成、请求流程变更、工作流、访问控制、撤销流程、证书轮换等问题。
尽早确定集成的重要性将有助于避免技术债务和扩展限制。
确定利益相关者
公司越小,决策过程就越容易。但是,随着公司规模的扩大,至少要考虑那些会影响规模、减缓增长、降低生产效率并在未来造成麻烦的因素。此外,了解重要性还能让我们确定哪些人可能会受到我们决策的影响,以便将他们纳入我们的视野。
作为 SRE,我们深知协作在网站可靠性中的第一手资料。谷歌最早的 SRE 团队是与软件工程团队一起组建的,他们在扩展方面提供了宝贵的见解,并采用运营方法来构建可靠的服务。因此,在考虑集成的影响时,我们必须确定对项目整体成功至关重要的利益相关者和影响者。
主人翁意识和重要性对项目的成功起着重要作用。不言而喻,人们不喜欢无计划的工作,也不喜欢被人指手画脚。越早确定利益相关者并征求他们的意见,就越容易落实主人翁意识,也就越容易有更多的人为项目的成功而努力。最糟糕的情况莫过于,启动了一个项目,投入了时间和精力,却因为利益相关者的角色没有得到考虑而被否决。
做出决定
在确定了重要性和利益相关者之后,我们就可以开始评估是构建还是购买的决定。很多时候,关于构建的讨论在很大程度上取决于是否采用开源解决方案,而我认为这是一个全新的考虑类别: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access