We've all seen those pictures of data centers that look like a jungle, complete with overgrown multi-colored copper and fiber vines strewn about, like snakes hanging from tree branches.
Or even worse, perhaps you've seen network diagrams that look more like the Pentagon's acquisition process than an efficient network design.
For my inaugural post on this forum, I wanted to write about something that I hope characterizes all my future posts: the importance of simplicity and elegance in computer network design. I see this as a sort of first principle or axiom of network design. Whether your team racks servers, develops applications, or designs massive scale, globally distributed network architectures, this principle applies.
What is an elegant network?
Here are three characteristics of elegant networks:
- Simplicity. Sometimes the best approach to a technical problem is the simplest one. I don't know how many times I've seen engineers proceed down a highly complex technical path to solve a problem just because they can. Just because it can be done doesn't mean it should be done.
- Sophistication. Simple doesn't mean unrefined. Simple and sophisticated are complementary adjectives, not contradictory. Sophisticated networks are intelligent, easily scalable, and employ automation.
- Consistency. An elegant network is internally consistent.
Why does it matter? What does it mean for the future of the enterprise?
I’m glad you asked.
This question can be approached from multiple angles: cost, performance, organizational flexibility, ability to quickly adapt to an increasingly competitive landscape, etc. But by far the most compelling reason, in my opinion, is security. Consider the following premises:
- If elegant networks are simple, sophisticated, and consistent, then inelegant networks are complex, unsophisticated, and inconsistent.
- Complex, unsophisticated, inconsistent networks are more prone to human error.
- Human error is considered by many as the primary risk to network and information security. Most security analysts believe that human error is one of the primary causes of data breaches.
Given these premises, it would logically follow that elegant networks are less prone to security breaches. And given the ever-increasing cost of security breaches, it just makes good business sense to build elegant networks.
Barriers to elegant networks
What are the barriers to building elegant networks? Here are three things to consider:
- Apathy. Sometimes it's "easier" to take the bubble gum and duct tape approach and rig something up to just "make it work."
- Messes are fun. Just as children enjoy making messes at the dinner table, many engineers enjoy building messy systems just because it can be done. It's not that they start out saying, "let's build a kludge today!" But all too often engineers get lost in the weeds and lose track of the big picture. This is a common complaint against CCIEs (hey, I resemble that remark!).
- Management. The vast majority of the time engineers are directed by upper management to "just get it done." Rare indeed is the technology leader who appends "the right way" to his or her imperative "get it done."
So how can technology leaders foster elegant design? Respond in the comments if you have any ideas.
This article is published as part of the IDG Contributor Network. Want to Join?