Dave Aiello wrote, "In my last sermon on the topic of home maintenance, I talked about the aerobic benefits of snow shoveling. Today, the New York Metropolitan Area got hit with another snow storm, so I thought I'd revisit the topic."
"Nothing teaches you about Total Cost of Ownership (TCO) like manually performing processes that can be automated. Home maintenance tasks are also great metaphors for maintaining an Internet infrastructure. You could pay for a service to come plow your driveway, or mow your lawn, but you choose to do it yourself. And, in the time it takes you to perform the task yourself, you wonder: 'Do I really need the decorative bricks around the garden in the front yard? After all, it's quite difficult to trim the grass around the garden.'"
"Of course the answer is no. If you take the bricks out, you can edge the garden properly. The newfound ease means that you can edge it everytime you mow, not just when you have nothing else planned for the afternoon. And, arguably, the garden looks better."
"Until I started thinking in these terms, I simply could not relate to many of the system administration admonitions I had heard in the past. I used to think, 'CTDATA doesn't have 100 machines, so why do we need a standard OS build? We can just repeat a documented hardening process on each machine after we install the Linux distribution.'"
Dave Aiello continued:
But the truth of the matter is, and we all know it, that no two installs come out exactly alike, even when all other aspects of the environment are equal. We pay the price everytime we run into a situation where we find a meaningless configuration difference between two machines. We have to think a lot harder about defending a box against hackers when knowledge of the configuration is not intuitive.
But, the biggest thing that mowing your own lawn teaches you is that you should not accumulate more lawn than you need. The equivalent idea in system administration is to run as few boxes as you can to safely and reliably handle your services and users.
When CTDATA first became a bit successful, I had a tendency to buy more computers and deploy more services than I could easily maintain with the staff I had available. I even went so far as to buy a system for development use and not properly install it until 10 or 11 months later. This is so wasteful of corporate resources, it almost makes me sick.
Looking back on my life so far, my father proved that he understood Total Cost of Ownership without touching a computer. Whenever I came up with an idea to make the house that I grew up in "more distinctive", he would point out the implicit cost of maintaining whatever I suggested.
I can't really fault him for not relating this to what I decided to do when I grew up. After all, the teachable moments in a relationship like father and son often occur early in the son's life. But also, I think that my father has a difficult time relating Web Sites and their upkeep to everyday tasks in the real world. Come to think of it, at times I do too.
It was the five or six opportunities I had to shovel the driveway by hand this season that brought it all together for me. When I reached the point where I was two-thirds to three-quarters done shoveling, I remembered the wisdom of my father, and related it to the tasks I perform everyday.