AWS Parameter Store – Approaches for Getting Variables into App

awsconfiguration-managementdevops

I'm converting an app to run on AWS Fargate and was going to use the Parameter Store to hold configuration values. Most of the information I've seen about it revolves around injecting Parameter Store values into the container as environment variables. Seems simple enough, but got me wondering about why you wouldn't instead use the AWS SDK to pull the values into your application from the code at app startup. You could then update values in the store and reload them in the app, provided you had a mechanism for restarting the app/updating values on the fly. That seems to be an advantage in that you don't need to re-deploy to change configuration values. Aside from the fact that you need some extra code to handle this, is there a major downside to this approach compared to using task definitions to inject environment variables into the container?

Best Answer

I found a couple articles that, while focused on serverless, have some good answers IMO and seem to lean towards allowing a way to change variables at runtime.

https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b

https://dev.to/hoangleitvn/07-best-practices-when-using-aws-ssm-parameter-store-6m2

Related Topic