5 ms·
Hello! Adam from System Initiative here. Happy to answer any questions. :)
by holoway 2y ago
Hello! Adam from System Initiative here. Happy to answer any questions. :)
- rmvt 2y agomaybe it's because i'm not in the devops space but i'm 4 paragraphs in and i still don't know what this is about?
- holoway 2y agoPerhaps https://systeminit.com https://systeminit.com would make more sense. :)
- cjm42 2y agoNot to me. It says "System Initiative is an Intuitive, Powerful, and Collaborative replacement for Infrastructure as Code" but I still don't understand what it does or why I would want to use it.
- bbor 2y agoThey get to it if you scroll! I came to the comments with the exact same concern, but they eventually spell out the value-add in (IMO) very clear terms: First, we turned everything into data - a rich system of digital twins that enable safe, easy simluation of changes, and map 1:1 to the upstream resource. Second, we made it all programmable and reactive by modeling it on top of a hypergraph of functions. When one property on a model changes, anything dependent on that property automatically re-calculates. Third, we built a multiplayer user interface that makes working with the model fast, safe, and fun. Seems cool, though I'm far from needing it. AFAIU: it's an attempt to build a reactive infrastructure system from the ground up using a cute Functional Programming paradigm, not just building off of code-like YAML files like we do today. Personally the GUI gives me flashbacks to the dark days where "programming" in my mind was "using Eclipse", but that's a biased take! I can see why WYSIWYG-style functionality was considered too fundamental to make optional.
- losteric 2y agoI read through the blog post and entry page twice each - yeah still confused. The pitch reads like an engineer celebrating their implementation. What I took away is: it’s a collaborative IDE for infrastructure? with some nifty simulators to catch issues earlier, and “somehow” changes are managed outside the popular git+pipelines workflows? There are elements of this that I like (faster validations that CDK deployments ). Those aspects are bundled with confusing, either unnecessary or poorly communicated, other elements. “Replacement for IaC” - is there a new paradigm? Or is IaC just now a graph in this local application? Because you tout being able to program new service models, so the code isn’t gone…
- thayne 2y agoYou're not alone. I am in the devops space, and about half way through I was thinking "ok, I get you're excited about this thing, but what is it?" It looks like it is in the same space as terraform, but uses a gui instead of defining your infrastructure as code, but allows you to "simulate" and review changes before actually applying them.
- epgui 2y agoFirst, I have to say this looks awesome. I am in awe at the level of effort I imagine is required to build and maintain something like this. That being said, I find the rationale a little bit confusing. I rather love IaC, and consider a GUI or no-code/low-code tool to be more of a dead end (not for any fundamental reason, but for more practical reasons) than plain text. I do really appreciate the problems solved by the simulation approach, but to me these two things are orthogonal. I feel like you could have a product that functionally does what your product does, but with a plain text interface. I appreciate that you're really going for something different here, but I am sure I am not the only person who feels this way.
- holoway 2y agoI 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.
- hdjjhhvvhga 2y agoI'm not a Tik-Tok child and have an attention span long enough to focus on coding longer pieces. However, I shouldn't be required to read all this wall of text to understand what this product is about. Could you summarize it in 4 sentences: what it is and why I should use it (instead of X or Y)?
- nickstinemates 2y agoHow about 1 sentence? "System Initiative is an Intuitive, Powerful, and Collaborative replacement for Infrastructure as Code" from https://systeminit.com https://systeminit.com
- mst 2y agoThat sentence reads to me as "the product has been described using marketing." (I don't have a better one sentence tagline as such, mind, but honestly if I'd only read that I'd never have bothered to look - see my sibling comment for an attempt at an actual high level description ... especially since I probably got something wrong you'll need to correct ;)
- nickstinemates 2y agoYour comment is GREAT. We were all really impressed with your interpretation, thank you very much!
- mst 2y agoAmusingly (to me at least) that was based just on the blog post and zooming in to the screenshot at the top. However, thank -you- very much for the response and you're absolutely welcome. Please consider the comment to be licensed under the union of all OSI approved licenses [1] if you want to steal and/or improve any of the wording. [1] The debian ftpmasters once complained about my having released something to CPAN with two licenses inside. I asked if they wanted the next release to be explicitly under said union so they'd have to tag the upload with all of them. They decided their complaint wasn't actually that important after all. (and if that makes you think I'm a monster ... ask Adam to explain just how right you are about that ;)
- pnathan 2y agoSo, my hot take on this is that it's an advanced GUI for AWS with change management built in. 1. Is that a good summary? 2. Why would I pick this? I know you LOVE it, it's your baby. But why should I love it? :-)
- holoway 2y agoIt's not a bad summary, but it is a shallow one. :) You should love it because it's a more intuitive and more powerful way to build this kind of infrastructure automation. What's happening under the hood isn't just infrastructure as code with a UI - it's a full reactive model of how things work. That's what makes the UI possible, but it's also what brings about so much power - the code that drives those models is also fully exposed and versioned. So when you have something like a policy to write, you think about what resources you need, use them as inputs to the function, and then store the results. Check out what an early user had to say about it: https://matthewsanabria.dev/posts/take-the-system-initiative/ https://matthewsanabria.dev/posts/take-the-system-initiative... We'll find out if you love it or not. :)
- mst 2y agoI can see why you went full GUI to begin with now. The example component code reminds me a lot of mobx-state-tree (you have no idea how much cog. diss. I get reading the docs for that thing given they acronym the name everywhere ;) though I find myself much preferring the API shape of mobx-keystone at this point. (I've been experimenting a lot with reactive graphs of late though while it seemed an obvious thing to try at some point I haven't attempted to wire it up to systems automation yet; shall have to do my usual cover-to-cover documentation read on your site and then hopefully I'll be in touch with a baseline to actually chat about that part ;)
- holoway 2y agoI mean, we didn't start there - we wound up there :) But yeah, you're not wrong that it's got a lot of inspiration from things like mobx and rxjs.
- mst 2y agoYeah, I guess I meant "for release 0.999_001" [1] or something rather than a strict interpretation of "to begin with." > But yeah, you're not wrong that it's got a lot of inspiration from things like mobx and rxjs. Please figure out how to deploy a subset of the reactive graph into a k8s operator. It'll be a really cool feature and also it'll probably save me a bunch of time when I want one of those if I can crib from your work :D I ... bah. I am really looking forwards to getting into another of our involved coversations about this stuff but I'm too tired today and besides I definitely do need to mainline your docs first. I'll probably see you on twitter first with the assumption you'll end up chasing me onto Discord sooner or later ;) [1] please interpret that in terms of how you remember me (ab)using version numbers ;)