
On Sun, 2025-03-23 at 18:11 +0100, nanog--- via NANOG wrote:
On 21/03/25 15:06, Jeff McAdams via NANOG wrote:
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.
There isn't some other universal data model or meta-model out there, that's better that we're obviously stupid not to use. They all suck in their own ways. YANG is no worse than any of the others.
YANG is worse than the others, because there's a whole ecosystem of tooling that isn't YANG (or build around YANG) that the networking world has forgone using. OK, maybe it isn't that YANG itself is worse (although, I do think it is, but reasonable people could disagree), but the ecosystem of tooling around YANG is just pitiful compared to the tools and techniques that the rest of IT is using. Let me be clear, it's not about the data model, it's not about standardized MIBs or YANG models, or whatever. Let each vendor build their own model that fits their implementation, again, like the rest of the IT world does when building their systems that are running circles around the networking world in interoperability. Of course, YANG isn't a data model at all, it's a method of encoding data models. OpenConfig is (at least partly) a data model, and it's so ridiculously complex and malleable as a result of trying to make it "standard" that it's a royal PITA to use.
REST isn't even a real protocol. It's an idea that your API should be built around state, rather than operations.
Maybe in original theory. In practice is a set of practices and behaviors that the IT world is using to build amazing things. Yes, occasionally augmented by some other tooling/protocols/etc.
That is, ConfigurePort(1, {duplex=full, mtu=1500, stp=disabled}) rather than SetPortDuplex(1, full); SetPortMTU(1, 1500); STPDisablePort(1);
NETCONF is REST.
Whether NETCONF is REST or not isn't the point. The point is that NETCONF (and YANG) is, effectively, only used in the networking world. To a rounding error, no SREs use it, no systems engineers use it, no storage engineers use it, no database engineers use it.... My point is that networking as a whole is so insular, that we can't even, as a group by and large, see where IT has moved on with the techniques and tooling that they use, with the result that we're stuck 10 years in the past relative to their capabilities. -- Jeff McAdams