1.3.5 可管理性
在控制理论中,可观测性的对偶概念是可控性。可管理性代表了外部输入改变系统状态或有限时间间隔内输出的能力。这个概念引出云原生的最后一个主要特性:可管理性。
再次借鉴控制理论,我们可以说可管理性是一种衡量外部输入改变系统状态或系统输出有多容易的方法。更直白一点来说,它是一种无需更改代码即可修改应用程序行为的能力。不要与可维护性相混淆,可维护性是一个衡量从内部高效地更改系统,也就是说通过更改其代码有多容易的指标。图形 1.6 展示了可管理性是如何工作的。
可管理性的一个方面是部署和更新应用程序,同时保持整个系统是启用的、持续运行的。另一个因素是配置,整本中将深入讨论它。您希望使云原生应用程序可配置,以便在不更改代码和构建新版本的情况下修改其行为。进行配置修改很常见,如修改数据源 URL、服务凭据和证书。比如,根据环境的不同,您可以使用不同的数据源:一个用于开发,一个用于测试,一个用于生产。还可以使用其他类型的配置,用于决定是否应在运行时启用特定功能的标志。
可管理性不仅关系到变更本身,还关系到您应用这一修改是否轻松、高效。云原生系统非常复杂,因此设计应用程序可以适应功能、环境和安全方面不断变化的需求非常重要。考虑到复杂性,您应该致力于尽可能多地通过自动化进行管理,这让我们进入云原生的三个 P 中的最后一个:实践(Practices)。