A discussion point
I get to work on projects deploying new infrastructure fairly regularly where the topic of “best practices” is often cited by both vendor engineers and customers, with normally well meaning intentions. Where it becomes dangerous is when those citing it don’t understand why it’s a best practice, or how it being “best” is measured. Before I explain my logic why I think this is dangerous, let’s lay out what this means.
http://dictionary.reference.com (because if it’s on the internet, it must be true, right?)
Wikipedia
The problem
Generally speaking, these definitions seem to describe the mental model that people have conceived of how a best practice works. Wikipedia’s definition even calls out my exact gripe, which I’ve highlighted in orange.
At least in my little part of the IT realm, vendor best practice documents are also typically CYA material. They are as much “you’re least likely to screw this up and/or complain” as they are truly a good idea, which is understandable when you pay attention to who does the writing and who the target audience is. That this happens, while annoying, makes sense.
The issue is that when people don’t want to to think through a design or try to understand the complicated portions of an install. Rather than using brain power, they simply cite “best practices” as the holy grail of how to do something. Or worse, they make a choice that is being questioned and they hide behind the “best practice” like it’s a magical shield.
If someone asks you why you’re putting virtual machine disks on RAID5 with Fast Cache on an EMC VNX, you should be able to explain how caching offsets the RAID5 write penalty. If someone asks why you only have 2 10Gb NICs in Hyper-V, you should be able to explain how you use multiple virtual adapters and QoS to maintain traffic behavior. If you’re installing XenDesktop using PVS and deploying the virtual machines on vSphere, you should be able to explain how VMXNET3 offers lower overhead by being paravirtualized compared to the E1000.
There is nothing wrong with using best practices. But if you can’t explain the why, you’re just using them as a crutch. Then you’re at risk of someone kicking that crutch out from underneath you, either accidentally or purposefully, and you end up looking like this guy
Remember, a “best practice” is just the most common option. If it was the only valid option, it wouldn’t be a best practice: that’s what they call a requirement.