Skip to Content
基础设施即代码,第2版
book

基础设施即代码,第2版

by Kief Morris
May 2025
Beginner to intermediate
430 pages
4h 37m
Chinese
O'Reilly Media, Inc.
Content preview from 基础设施即代码,第2版

第 21 章 安全更换基础设施 安全地更换基础设施

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

频繁而快速地进行更改这一主题贯穿了本书的始终。正如本书一开始提到的("反对:'我们必须在速度和质量之间做出选择'"),速度不仅不会使系统变得不稳定,反而会促进稳定,反之亦然。本书的口号不是 "快速行动,破坏系统",而是 "快速行动,改善系统"。

然而,单纯从速度上进行优化并不会带来稳定性和质量。第一章中引述的研究表明,试图优化速度或质量,都不会达到预期效果。关键是两者都要优化。重点是能够频繁、快速、安全地进行更改,以及快速检测错误并从错误中恢复。

本书所推荐的一切--从使用代码持续构建基础架构,到让测试成为工作的一部分,再到将系统分解成更小的部分--都能实现快速、频繁和安全的变更。

但是,频繁更改基础设施会给提供不间断服务带来挑战。本章将探讨这些挑战和应对技术。支撑这些技术的思维方式不是将变更视为对稳定性和连续性的威胁,而是利用现代基础设施的动态特性。利用本书中介绍的原则、实践和技术,最大限度地减少变更带来的中断。

缩小变革范围

Agile、XP、Lean 和类似的方法通过以小增量的方式进行变更,优化了交付的速度和可靠性。与大的变更相比,小的变更更容易计划、实施、测试和调试,因此我们的目标是减少批量变更。1当然,我们经常需要对我们的系统进行重大更改,但我们可以通过将事情分解成一系列小的更改来做到这一点,我们可以一次交付一个更改。

举例来说,ShopSpinner 团队最初使用单一的基础架构堆栈构建基础架构。堆栈包括网络服务器集群和应用服务器。随着时间的推移,团队成员增加了更多的应用服务器,并将一些服务器变成了集群。他们意识到,在单个 VLAN 中运行 Web 服务器集群和所有应用服务器是一个糟糕的设计,因此他们改进了网络设计,将这些元素转移到不同的 VLAN 中。他们还决定采纳本书的建议,将基础架构分成多个堆栈,以便于逐个更改。

ShopSpinner 最初采用的是单 VLAN 单堆栈(见图 21-1)。

iac2 2101
图 21-1. 开始实施示例,单堆栈、单 VLAN

该团队计划将其堆栈拆分成多个堆栈。其中包括本书前几章示例中的shared-networking-stackapplication-infrastructure-stack 。该计划还包括一个web-cluster-stack 来管理前端 Web 服务器的容器集群,以及一个application-database-stack 来管理每个应用程序的数据库实例(图 21-2)。

iac2 2102
图 21-2. 分拆多个堆栈的计划

团队还将把单个 VLAN 分割成多个 VLAN。应用服务器将分布在这些 VLAN 中,以实现冗余(见图 21-3)。

图 21-3. 计划创建多个 VLAN

第 17 章介绍了划分这些示例堆栈的设计选择和一些实现模式。现在,我们可以探讨在生产系统中如何从一种实现模式过渡到另一种实现模式。

小变化

我在代码中造成的最大混乱就是在推送之前在本地积累了太多工作。专注于完成你心目中的完整工作是很诱人的。而做一个小改动,只让你向完整的目标更进一步,这就更难了。将大的改变落实为一系列小的改变,需要新的心态和新的习惯。 ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

构建数据集成解决方案

构建数据集成解决方案

Jay Borthen
金融领域的机器学习与数据科学蓝图

金融领域的机器学习与数据科学蓝图

Hariom Tatsat, Sahil Puri, Brad Lookabaugh
可观察性工程

可观察性工程

Charity Majors, Liz Fong-Jones, George Miranda

Publisher Resources

ISBN: 9798341658493