The economics of application installation
Let's play a numbers game:
1) Think of a number that approximates the cost per hour to your
organization of one of your top IT professionals.
2) Think of a number that approximates the number of hours that person
spends in an average month fighting with problems involving words like
"path", "classpath", "registry", "shared library" or "dll" while
installing applications.
3) Multiply those two numbers to get the product X.
4) Now think of a number that approximates the dollar cost of a gigabyte
of disk space. (Hint 1 dollar is a good number here[1].) Call that
number Y.
5) Divide X by Y.
Let's compare numbers. I arrived at a figure in the hundreds of
gigabytes. You too? I thought so. Interesting isn't it? Skilled IT staff
are worth many hundreds of gigabytes of disk space *per day*.
How ironic then, that developers regularly waste the dollar equivalent
of hundreds of gigabytes of disk space, debugging problems that could be
solved with the addition of a mere handful of gigabytes of disk space.
It seems to me that IT professionals spend an inordinate amount of time
debugging problems that can be traced back to an anachronism in the way
applications are built. The anachronism is the notion that disk space is
more expensive than the person-hour cost of the poor customer installing
the application. That used to be the case but is not the case any more.
The terms I mentioned earlier, namely, "path", "classpath", "registry",
"shared library" and "dll" strike fear into the hearts of many. They are
the source of a seemingly endless parade of application configuration
problems - problems that often take hours of highly skilled developer
time to debug.
These concepts share a common theme - sharing of application program
components. This is considered desirable in order to minimize disk space
on a per-application basis and remove duplication. Unfortunately,
removing the duplication introduces a tight coupling between
applications which is at the root of many application installation
problems. We save some disk space but only at the expense of hours of
debugging time. The economics of it just don't add up.
In a world where a gigabyte of disk space costs less than a cup of
coffee, why do developers regularly spend hours of expensive time
(drinking multiple cups of coffee) in order to sort out problems that
only exist because of a misplaced desire to save a gigabyte of disk
space?
I think the answer to application configuration hell is to adopt a
pragmatic approach to duplication and "waste" of disk space. Ideally, we
would have simple tools to allow us to manage pragmatic duplication
rather than complex tools that allow us to manage anachronistic
"optimal" disk usage.
In my mind's eye, I see an installation system based on Unix's chroot
concept (for establishing virtual hierarchies for applications) and
Unix's symbolic link concept (for managed duplication). I see a world in
which every Java application has its own JVM, its own JDK, its own copy
of *everything* all in a nice tidy directory - a truly self contained
world.
Why not? It would waste a few gigabytes? In the time it has taken you to
read this article you have probably been paid the equivalent of many
gigabytes of disk space.
If simple economics prevail, the days of classpath and "dll hell" should
be numbered.
[1] http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=43
» posted by ITworld staff
ITworld
Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.
Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.
Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.







