基础设施配置与测试的最佳实践
1. 单一或多个配置注册表
将所有系统、服务和工具的配置值整合到一处是个诱人的想法,即所谓的“一个注册表统管一切”。但在大型、异构环境中,这并不总是可行的。
许多工具,像监控服务和服务器配置系统,都有自己的注册表。不同的注册表和目录产品在特定任务上表现出色,如许可证管理、服务发现和用户目录。若让所有工具使用单一系统,会带来持续的工作流。每次对工具进行更新时,都需要评估、测试,还可能需要更多工作来维护集成。
更好的做法或许是从存储服务中提取相关数据。要明确任何特定数据或配置项的真实来源系统,并据此设计系统和工具。有些团队会使用消息系统以事件形式共享配置数据。当系统更改配置值时,会发送一个事件,其他系统可监控事件队列,以了解其感兴趣的配置项的更改情况。
2. 处理作为参数的机密信息
系统需要各种机密信息。例如,堆栈工具可能需要密码或密钥来使用平台的 API 创建和更改基础设施,也可能需要将机密信息提供给环境,确保应用程序有连接数据库的密码。
从一开始就以安全的方式处理这类机密信息至关重要。无论使用公共云还是私有云,密码泄露都可能导致严重后果。所以,即使只是编写代码来学习使用新工具或平台,也绝不要将机密信息放入代码中。有很多人将机密信息存入自认为私密的源代码仓库,结果被黑客发现并利用,导致巨额费用的案例。
有几种方法可以在不将机密信息实际放入代码的情况下处理基础设施代码所需的机密信息:
- 加密机密信息 :唯一可以将机密信息放入源代码的情况是对其进行加密。git - crypt、blackbox、sops 和 transcry
超级会员免费看
订阅专栏 解锁全文
5184

被折叠的 条评论
为什么被折叠?



