13、云原生应用的外部配置管理

云原生应用的外部配置管理

1. 多环境部署的挑战

在开发云原生架构的应用程序时,我们常常希望将同一个应用包部署到多个不同的环境中,而无需重新构建它。然而,应用程序并非只部署到单一环境,而是会多次部署到不同环境,每个环境的设置和操作方式可能不同,这就要求应用程序在每个环境中以不同的方式工作。

常见的环境包括开发者的本地计算机、软件开发生命周期(SDLC)的各个阶段(如开发、测试、预生产和生产),企业还可能有多个生产环境,例如不同地理位置或不同业务线的环境。虽然这些环境在很多方面是等效的,但它们并不完全相同。例如,开发者的笔记本电脑运行的服务与云平台不同,测试环境和生产环境的数据库服务实例也是分开的。

应用程序应该是不可变的,即使用相同的部署工件部署到每个环境,而无需重新编译或重新构建。如果应用程序在部署到生产环境时需要更改和重新构建,那么生产环境中运行的内容可能与测试环境中测试和批准的内容不同。

2. 硬编码配置的问题

为了让应用程序在不同环境中使用不同的服务实例(如不同的数据库),一种方法是硬编码服务实例的端点和凭据。但每次将应用程序部署到具有新服务实例的新环境时,都需要修改应用程序代码、重新编译并重新测试,这对于不可变的应用程序是不可行的。

另一种方法是硬编码所有环境中所有服务实例的端点和凭据,但这假设开发者知道应用程序将部署到的所有环境,并且服务实例的连接属性永远不会改变,同时还需要开发者访问所有这些设置,包括生产服务的认证凭据,这存在安全风险。而且,应用程序无法知道自己部署到了哪个环境,也就无法确定使用哪组硬编码的值。

此外,将硬编码的设置提交到源代码管理(SCM)系统也存在问题,因为环境设

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值