16 ms·
I'm sure it'll work for some people, but configuration management is one of those things where the devil isn't IN the details, the devil IS the details. What h
by mattzito 11y ago
I'm sure it'll work for some people, but configuration management is one of those things where the devil isn't IN the details, the devil IS the details.
What happens if you have binary files to move around that are big? How do you insure atomicity? What happens when a run dies midway through? Can you make sure operations are idempotent?
That's even before we get into variables, state, coordination/orchestration, and so on.
I spent a lot of time (a troubling amount, really) in the automation space, and while it's true that simple problems are easy to solve, simple problems quickly become hard problems. Then you're building state machines, binary distribution systems, and now all of a sudden you have an enterprise workflow/configuration management system.
I swear, half the products in this space started out exactly as yours, and the author just kept finding edge cases to fix until someone gave them $10m in series A funding and it was suddenly a business.
- heavenlyhash 11y agoAbsolutely. But there's a really wildly underserved niche where I have less computers than netflix and I really just wanna push, not have a push framework engine manager tower of turtles. Sometimes I need kubernetes and orchestration and teleporting state snapshots and oh my. Sometimes I just need three files on the dang VPS box. (I see your point, of course. I wouldn't want to build orchestration in bash. Rather, I'd really like to see at least one tool that looks at all this, and goes "huh. We're gonna KISS. And no, it's never going to orchestrate 200 machines. That's okay.")
- empthought 11y agoThat's Ansible as far as I can tell. Roles, group_vars, dynamic inventory, etc. are all optional; pushing a few files to some VPSes is just a few lines in a YAML file.
- heavenlyhash 11y agoAnd a sprawling python dependency on each side? You can play the "python's everywhere" card now if you like, but I'll look at you funny. How many megs, exactly, is the smallest thing you can have ansible push to an empty slave server with no prior contact?
- empthought 11y agoI thought you were talking about simplicity/ease of use, not network bandwidth efficiency. If you're counting megabytes in a land where low-end mobile phones have 16 gigabytes of storage and 100Mbps wireless, then you probably have a boutique enough use case that you should roll your own.
- mattzito 11y agoAs the other respondent to this post said - ansible does this use case very well. Maybe the best if you don't already know puppet.
- debaserab2 11y agoThere's absolutely nothing wrong with a bash script or makefile for this purpose. Been doing it for years for deployment on a few small hosts I manage. The last thing I want to deal with is "configuration management" management for these lightweight apps.