当配置文件被编写成代码时,开发人员可以快速自信地按照公司标准使用他们已经熟悉的工具进行工作。
译自 Is Policy as Code the Cure for Multicloud Config Chaos? 。
在公有云和私有云之间托管软件,目前在管理和安全方面本质上比简单的托管范式更难以管理和更不安全——毫无疑问。IBM 2022 年的数据泄露报告指出,15% 的泄露仍然是由于云配置错误所致。
同年,Osterman Research 和 Ermetic 的一份白皮书将检测一般的云配置错误(如未加密的资源和多因素认证)置于组织云成熟度高的关注事项清单之首。
向多云的转移在环境和 IT 的每个层面之间创建了隔阂。IT 运维团队花费宝贵的时间来缓解跨部署基础设施和配置错误的服务带来的负面影响——都使用不同的工具,对他们要执行的策略没有可见性。
但是,有一种更好的方式来管理云,并确保策略执行到位:策略即代码。策略即代码(有时称为 PaC)是一种开发方法,它使用代码而不是硬编码来表达基础设施和应用程序行为策略。
这意味着可以重复使用这些策略来自动执行跨域一致的配置——如安全性、合规性、基线等。策略即代码可以在整个软件开发生命周期中实施配置,而不仅仅依赖于手动检查和流程。
尽管 PaC 对 DevOps 明显有益,但它在行业内仍然不是常见做法——很少被用作解决云配置混乱等糟糕情况的工具。让我们详细说明 PaC 如何帮助弥合当今的云配置差距。
当组织开始将服务迁移到公有云时,大多数组织没有考虑此举的长期影响。过去几年揭示了云迁移对他们花费如此长时间在地面上建立的标准化流程的持久影响:
开发人员也帮助推动了对云的部分狂热。应用层面的开发人员需要云的灵活性(自由选择工具和工作流程的自由)。只有后来组织才意识到,他们与公司政策的脱离导致了跨混合部署的配置错误,使一个本已混乱的范例更加复杂。
即使是逐步进行的云回迁也只会加剧这些问题。今天,一些组织正在缩减他们的云部署,或者通过将主机托管返回组合来使其多样化。但该组合仍然缺乏有效管理所有这些所需的标准化。云回迁远非解决方案,事实上,它是与跨部署基础设施相关的问题的加剧因素。
只要组织一只脚踏实地,一只脚在云端——只要他们用不同的工具集 obscure 他们的云配置方法——云配置错误将继续制约他们的混合云操作的潜力。缺乏标准化将继续导致业务问题,如安全漏洞、未经授权的访问、肆意飘移、资源效率低下、不合规和数据丢失。
通过逆向工程来为您的基础设施创建 PaC 是最佳方式。首先定义您的理想状态,识别在通往那里的路上您将发现的潜在风险和差距,并制定一个框架来缓解这些风险。
以下是一些建议,帮助您开始建立一个 PaC 方法,以在任何部署的环境中强制执行所需状态,以获得更好的基础设施和更好的 DevOps:
不要在新工具上花费大量资源。PaC 并非关于重造轮子——而是关于利用您拥有的工具和流程(如基础设施即代码)在所有基础设施上执行可重复状态。强大的自动化和配置管理是 PaC 的核心,因此使用您已经拥有的工具来建立 PaC 方法。
定义您的数据中心、多云和混合云基础设施的期望状态。识别可能导致配置漂移的潜在风险区域,如合规性错误,并通过状态强制绘制一条返回期望基础设施配置的道路。通过 PaC 的期望状态强制,您可以预先防止甚至跨部署基础设施中的配置错误。
使您的基础设施与其支持的业务目标保持一致。在创建 PaC 时,护栏至关重要,以将您的努力集中在最需要的地方。从您的基础设施管理之旅开始:考虑您组织中谁需要基础设施资源,他们的基础设施主要用例是什么,以及他们在哪里以及如何消费基础设施。将这些需求映射到第 0 天(供应)、第 1 天(配置管理)和第 2 天(状态强制和合规性),以建立一个强大的 PaC 框架,支持您的整个 DevOps 周期。
测试您的 PaC。从业务目标和风险评估的角度测试您的基础设施配置管理和状态强制,以确保它能做您希望它做的事情。
不能指望开发人员在自己的工具中处理策略实施。当他们可以依赖作为代码编写的配置文件时,他们可以快速自信地按照公司标准工作,使用他们已经知道的工具,而不是玩弄功能代码以使其在他们的层面符合要求。
通过 PaC,您的团队可以支持云中的开发人员的需求和不断变化的合规性期望,以帮助您实现最初迁移到云的原因。