“12-Factor” 是构建SaaS服务的一种方法论,这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。
其中有一条很重要的原则是关于配置的, 12-Factor 要求代码和配置严格分离。
为什么要这么做?
如果你的代码放在Github等外部网络,哪一天要是代码不小心泄露了,你的各种密码,密钥,等配置全都暴露于公网中,这是一件非常可怕的事。
判断一个应用是否正确的将配置与代码分离开了,一个简单方法是你的代码是否可以立刻开源,而不用担心有任何敏感信息暴露。
将应用的配置存储于环境变量中是一种常规做法,例如在命令行中加入:
export PASSWORD=123456
windows
set PASSWORD=123456
业务代码中,通过环境变量来加载。
import os
env = os.environ.get