The Curse Of The Infrastructure

time to read 2 min | 380 words

If at all possible, minimize any dependencies on infrastructure that you have in your applications. The more dependencies on infrastructure you have, the less freedom you can get.

I define infrastructure as anything that I can put on my laptop and use without being connected to any network whatsoever.

Some examples of infrastrcuture bound applications are:

  • Domain dependencies - the application must contact a domain controller for autentication, authorization, or just for the hell of it. (The reverse is also true, the application must not be run from a computer which is part of a domain).
  • Forced distributed application - each part of the application cannot (under pain of crash) be run from the same computer.
  • Each part of the application require radically enviornments (server OS vs. client OS, windows/linux, etc)
  • The application uses Oracle.
  • Using very large DB (Greater than 1GB) or multiply thereof.
  • Requiring an exotic component (AS400 to hold the configuration for the application, for instnace).
  • Requriing connection to a remote server accessible from a single point only

An infrastructure bound application is:

  • Harder to deploy.
  • Harder to test.
  • Impossible to develop in a disconnected environment.
  • Usually impossible to run except where it is was developed (or deployed with much effort).

I guess you know my opinion about such applications. I hate to be forced to work from a specific place, because it usually means that I can't "steal" work time on it when I am away from the office.