I have an Amazon ECS service that relies on configuration files that contain business rules. The business rules are changed periodically by non-programmers. Total size of the rules files is approximately ~100K. Currently we store them in S3 and create a new folder every time anything changes.
I feel that we can manage the business rules better if we put them in a real source control like Git. They would take less space, we would be able to keep history of who changed what when, and we would be able to keep multiple sets of rules in branches. This means, however, that we will have to host a Git repo somewhere and clone it into every container.
The parameters we want to optimize for are:
- Reliability. We don’t want our system to be down, because GitHub or GitLab decided to do some maintenance or suffer from a DDOS attack.
- Cost. We want new system to be cheaper than storing historical files in S3, or at least have comparable cost.
- Startup time. We don’t want new system to cause longer startup time than downloading things from S3.
Hosting git repo on Amazon CodeCommit and using shallow clone (--depth=1
) to copy files over seems like a good solution, but maybe I am missing some important pitfalls.