软件配置的最佳实践?

时间:2014-02-12 22:22:59

标签: configuration cloud environment-variables configuration-files ansible

我正在使用Ansible配置我的AWS EC2实例,但我不知道存储我的应用配置的最佳方式是什么。

现在我只是使用Ansible向服务器发送“app.properties”文件,但是我想从源代码控制中删除它。此外,我想将所有内容存储在环境变量上,而不是os文件中,以使其更安全。

有一个很好的工具吗?简单的东西,比如一个key-val配置服务器,你的所有服务器都将连接并获得自己的属性?

像Netflix或亚马逊这样的大家伙如何解决这个问题呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用多种工具来实现此目的。 Ansible就是其中之一。如果要使用Ansible,可以使用“Ansible变量”。您可以根据这些“Ansible变量”的值分配系统环境变量。

您还可以将所有变量存储在git存储库中。这样,在运行Ansible playbooks之后,它们不会作为环境变量显示在服务器中。

您可以在此处查看使用Ansible设置环境变量:http://docs.ansible.com/playbooks_environment.html

说过还有其他工具可以帮助你做到这一点。其中包括:Puppet,Chef,CFEngine,Fabric和SaltStack。所有这些都将帮助您实现您想要的,尽管不同。根据您的需求以及您的架构的外观,它们各有优缺点。

在此处查看我的答案,以获取更多见解:Heroku-like deployment and environment configuration via EC2