The Importance of Defining and Implementing Enterprise Standards
I am frequently amazed at the low priority that some businesses and IT teams seem to place on defining and managing enterprise-wide architectural and configuration standards. It seems to be common sense, but it is not uncommon for me to come across a cluster of application or web servers that are serving the same code, but are using different directory paths, naming conventions, environment variables, etc. and I’ve even found a few that are running different versions of the same software on different servers within the same cluster.
Randomly named soft-links run rampant, backup files named anything and stored everywhere, log files in 20 different places… these aren’t just pet peeves that torture an engineer with OCD, or simple signs of laziness, they cost you not only sanity, but time and money.
The next time the discussion comes up in your enterprise and the debate is on for whether or not it’s worth the time and effort to define and implement standards, consider these reasons why it is:
Easier to Troubleshoot
A consistent environment is easier to troubleshoot. Many “intermittent” web issues occur when you have multiple servers performing the same function (for load-balancing, or redundancy) and one or more of these servers has a configuration inconsistent with the others. This type of problem is especially frustrating and difficult to find. These issues are eliminated in a consistent, standardized environment.
Easier to Manage
No time wasted having to investigate. In a consistent environment you know where the log files are located — you don’t have to hunt them down. You know where the backup files for last night’s code deploy are and what they are named. Standard paths make for easy identification of components and quick navigation.
Easier to Document
It goes without saying that a consistent environment is easier to document. It makes creating runbooks a breeze.
Easier Training and Knowledge Transfer
Bringing new-hires up to speed is much faster when the environment is consistent. How can you expect anyone to catch on quickly if every server they log into is configured differently?
Easy to Automate
Once the environment is consistent, it takes very little effort to begin the process of automating its management. If the environment is not consistent, this is an almost useless effort, and let’s face it… it’s 2010. If you’re still manually removing log files or doing code deploys by hand, well… you certainly don’t have to fear falling off the cutting edge.
You Save Time
Look at all of the items listed above. They all equate to requiring less of your time. That leaves you more time to spend doing less mundane things.
You Save Money
This is the one line executive summary: Saving time means that you and your company save money.
It’s an easy cost save. It takes some time up front to define the standards, and if necessary, it will take time to retrofit them to configurations and architectures that already exist in your environment, but the long-term benefits vastly outweigh the initial effort required. Your fellow engineers, your company and your customers will thank you.

Unparalleled accuracy, unequivocal clarity, and undeniable impotarcne!