
On Fri, 2025-03-21 at 14:07 +0100, nanog--- via NANOG wrote:
Conclusion: this was mostly just rambling because I suck at writing, but I think the conclusion is that while YANGs are cool and it would make sense for everything to be YANG, and you could build a system from scratch where everything was a YANG, I can't really blame other vendors for not fully integrating their existing systems with YANGs because it's hard.
I don't think it even has to be YANG. To be honest, I don't like YANG, it's overly complex, and doesn't accomplish what it aimed for. I'm a bit frustrated that the networking industry as a whole seems hell-bent on rolling our own solutions, when so many of the approaches to these problems are really pretty well fleshed out in the rest of the IT world. How awesome would it be if we, as networking folk, could use the same tooling and technologies that all of the rest of the IT world uses to talk to our gear and systems and leverage all of the expertise that exists in other teams? We can't, though, but we insist on developing our own transports and tooling, on developing our data modeling languages, and on developing our own observability protocols. Forget standardized YANG data models, forget YANG altogether. The rest of the IT world is using REST as a lowest common denominator, and each vendor is creating their own data model that makes sense for their own systems. And the rest of the IT world is eating it up and building amazing things. I'd love to see a networking system where the core data model is available and exposed through various industry standard (not network industry, IT industry overall) methods, probably first and foremost would be REST (with an OpenAPI schema published), those same data models can be used and sent in other transports as well, but quit trying to use standardized MIBs/YANGs/Data Models. Vendors, roll your own data model, but make that data model interaction be the very first class part of managing your device and let everything else be an interaction with that. I think this is what Saku Ytti is getting at as well. The data model is primary, and expose that data model, then you can mechanically transform that to YANG, or SNMP, or GNMI, or whatever. -- Jeff McAdams