5 ms·
I don't think you're alone, and to be honest, I'm as suprised as anyone that it turned out to be better. We built a lot of different implementations on the way
by holoway 2y ago
I don't think you're alone, and to be honest, I'm as suprised as anyone that it turned out to be better. We built a lot of different implementations on the way here, and all of the initial versions started with code and plain text as the interface. But it's very hard (I think impossible) to change the user experience when you do that, because the data gets locked up in code - there isn't a good way to "see" what the real world is like, or what your proposed changes would do.
But you're not alone in thinking this, and I completely understand why you would. The history of things that look like this in this space is.. not great. :)
- epgui 2y ago> the data gets locked up in code I'm really not sure that this is a bad thing. > there isn't a good way to "see" what the real world is like If the IaC system had the same under-the-hood functionality as System Initiative, what's to stop someone from also building a GUI visualization of the IaC-code?
- holoway 2y agoThink about it this way - how do you update the IaC from multiple places? How do you visualize drift? IaC grows like code grows - it gets factored differently, it gets abstracted, etc. It's easy enough to imagine how you would update a single declaration, but thinking about how to make the "code" reactive will break your brain. So what we do instead is have a reactive data model, and shift the code part to a reactive graph of functions.
- epgui 2y ago> How do you update the IaC from multiple places? The same way you update any other code from multiple places. A version control system (eg.: git and github), with CI/CD. > How do you visualize drift? Why do you have drift in the first place? Gitops is an obvious solution to drift. > It’s easy enough to imagine how you would update a single declaration, but thinking about how to make the code reactive will break your brain. I’m sorry, I don’t follow at all here. I’m not sure what the problem is with IaC. If your IaC is declarative, it’s no more complicated than data.