Why you should care about complexity
If you look across a wide array of networking problems, you will see what is an apparently wide array of dissimilar and unrelated problems engineers deal with on a daily basis. For instance—
- Should I split this flooding domain into multiple parts? If so, where should I divide it?
- Which routing protocol should I use on this network topology, and to solve this set of problems?
- How should I configure the Quality of Service parameters on this network?
- Should I use MPLS on my data center fabric, or straight IP?
Over my years as a network engineer, I’ve always treated these as separate sorts of problems, each with their own tradeoffs, concepts, and models. In fact, I’ve been a kindof “collector of models” over the years, trying to find different models to address each situation. In the Art of Network Architecture, there’s an entire chapter on the models Denise and I have run in to over the years, where they seem to be useful, and where they seem to be limited.
But keeping all of these models in my head didn’t help me generalize the problems I faced in building and troubleshooting networks. For instance, in the flooding domain instance Continue reading