Friday afternoon, late, and the new system is finally up. Users are logged in, getting their work done, and you’ve just received an email from the CTO (your boss’ boss’ boss’ boss, probably), saying what a good job the team did in getting things up and running so quickly. For once, in fact, the system went in perfectly. There was no close to team breakups over which technology or vendor to use; there were very few unexpected items that crept into the budget, the delays were minimal, and you even learned a couple of new skills to top it all off.
Wonderful, right? The perfect unicorn project.
But before you break open that bottle of bubbly (or whatever cold beverage is your choice), or maybe pop up a bowl of popcorn and sit down to a long deserved break binge watching the shows you missed pulling this thing together, you need to ask one more question:
Did you strip and sand first? Or did you just paint right on top?
Or don’t you remember the time you tried to paint that old trailer that had been sitting in your back yard for ages? Sure, it was covered in rust, dirt, and who knows what else, but the paint said right on the can, “covers anything,” right? Sure, it does, for about fifteen minutes — until you hit the first bump in the road, and all that rust comes loose, flying off in a shower of chips, and making everyone behind you on the highway mad. You know what’s attached to every one of those chips of rust? A little bit of your beautiful new paint, that’s what.
Our networks, today, are testament to the difficulty of translating physical principles into virtual ones. I remember asking a network architect at a major bank once, “what architecture do you use in your data centers?” His reply? “We have every architecture cisco has ever created and sold in some data center someplace.” Or the time I worked on a failed network because they had accrued hundreds of parallel lower speed links, combined with a control plane of mixed routing protocols all munged together with redistribution.
And of course, you’d never do something like that, right? It takes so little time to layer on a new system, a new protocol, a new virtual topology, a new… And the system keeps running. We can add a new area of the network with a different design over there, partitioning it off with a few aggregates, and forget it even exists.
Here’s the point: in the network engineering world, we need to build a culture of scraping and sanding. Rather than just looking at how we can layer the new onto the old, we need to think about how we can actually remove technologies as we’re adding them. Here’s your challenge:
In every project, don’t just ask how the new stuff is going to work, or how it fits into the network, or what needs to change to support it. Ask what this new technology can replace. Ask what you can get rid of. A conscious part of every project undertaken in the network should include stripping and sanding — thinking through what can be gotten rid of as a part of the project.
We need to make cleaning up — removing old technology — a part of our culture, too.