3 ms·
The configuration management landscape is full of good ideas but there are too many of them and most of them end up being the equivalent of C++ for infrastructu
by dkarapetyan 12y ago
The configuration management landscape is full of good ideas but there are too many of them and most of them end up being the equivalent of C++ for infrastructure automation. You can do anything and everything in 10 different ways that are all equally complex. Chef for example has 9+ levels of attribute overrides ranging from X different cookbook attributes to Y different role attributes. I ask why are there so many override levels and there is no good answer because I've never needed more than 3 levels of attribute overrides. There's more but the override levels on their own are already enough headache. Then there are the ones that use a custom configuration language. I enjoy writing and using DSLs as much as the next guy but the whole point of DSLs is to keep them away from the Turing completeness threshold. As soon as you cross it there is no point in having one. All of the tools commit this sin except for Chef which just embeds the DSL in Ruby.
There is also the fact that none of these tools actually address cloud provisioning. They all work really well once you have your entire topology mapped out but do nothing to actually help with building that topology. That's why I'm hoping Terra takes over because it addresses this aspect of configuration management and I rather use something from Hashicorp than some other vendor.
- bkeroack 12y agoSaltstack (http://docs.saltstack.com http://docs.saltstack.com) and the included salt-cloud handle cloud provisioning rather well.
- dkarapetyan 12y agoYa, it looks like Saltstack has a pretty good handle on it just going from the docs.
- sciurus 12y agoWhat are all the cloud resource types that salt can provision? All I can find are computer instances and volumes, which is not nearly enough to meet my needs. When bring up a new application on AWS, off the top of my head I need to create an autoscaling group, launch config, load balancer, cloudwatch alarms, dns entries, and ec2 instances.
- UtahDave 12y agoLook at the boto_* modules here: http://docs.saltstack.com/en/latest/salt-modindex.html#cap-m http://docs.saltstack.com/en/latest/salt-modindex.html#cap-m
- sciurus 12y agoThat's more promising! Thanks for the pointer. At present the list contains salt.modules.boto_asg salt.modules.boto_cloudwatch salt.modules.boto_elasticache salt.modules.boto_elb salt.modules.boto_iam salt.modules.boto_route53 salt.modules.boto_secgroup salt.modules.boto_sqs
- TheIronYuppie 12y agoChef also has provisioning, which should get St exactly what you want for all the major providers.
- sciurus 12y agoAFAIK chef only handles compute resources, e.g. it can set up EC2 instances but not volumes, IPs, load balancers, autoscaling groups, etc. [0] https://docs.getchef.com/plugin_knife_ec2.html https://docs.getchef.com/plugin_knife_ec2.html