Re:How We Build Code at Netflix
by neduma on Wednesday March 09, 2016 @01:20PM
(#11254639)
How do they 'externalize config' with respect to http://12factor.net/config?
[ Parent
| on HN ]
Re:How We Build Code at Netflix
by conorgil145 on Wednesday March 09, 2016 @01:29PM
(#11254707)
There are many ways to accomplish an external configuration. I do not know how they do it at Netflix, but one could have the prebaked AMI reach out to a service discovery tool to pull its configuration at run time. For example, Consul [1] or etcd [2].
One advantage of this approach is that you can use the exact same AMI in testing as in production. All you would have to do is change the configuration which is pulled. You could determine which configuration to pull based on AWS tags on the EC2 instance, for example.
A combination of things such as Spinnaker providing granular environmental context to an instance by way of user data (things that the ec2 metadata service doesn't readily provide to an instance without API calls), dynamic properties which can be controlled down to the instance-level (http://techblog.netflix.com/2012/06/annoucing-archaius-dynam... ), and other solutions depending on a team's needs.