TCLUG Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Reasons not to use Apache?



I'm going to be creating some new client and server software at work to
handle administration of an extensive multi-level hierarchy of things.  (I
would say "objects", but they're not objects in the OOP sense.)  These things
are scattered across... oh... I'd say about 8 XBase-style database tables.

A previous programmer planted the idea in my boss's head that writing an
Apache module to do this would be a good and readily portable way of handling
it.  I disagree and think that it would be much better to create a separate
standalone server to handle these functions.  Philosophically, I believe that
this would be the way to go because I favor the *nix 'lots of little pieces
that each do one thing very well and can be readily combined with each other
to handle bigger tasks' approach.  Practically, running this through a
general-purpose web server and HTTP connections is sure to add a _lot_ of
overhead.  Additionally, the management functions are much better suited to a
connection-based protocol than a connectionless one.

Anyhow, I mentioned on Tuesday that I'd written up a first draft of a
protocol to handle this.  Now my boss wants to have an extensive meeting
tomorrow morning to go over my "propsed API" and make sure I'm "headed in the
right direction".

Aside from overhead issues (bosses are not widely known for being swayed by
philosophy), what other reasons can I give for not doing this in Apache?  The
two reasons he's mentioned for favoring Apache that I can't readily counter
are availablilty of load-balancing options other than round-robin DNS entries
(I'm sure they're out there, but I don't know of any) and a desire to minimize
the number of processes running on each machine (which is, essentially, a
philosophical matter).

Or is he right and it would be best to just roll everything into the web
software?

-- 
Geek Code 3.1:  GCS d- s+: a- C++ UL++$ P+>+++ L++>++++ E- W--(++) N+ o+ !K
w---$ O M- !V PS+ PE Y+ PGP t 5++ X+ R++ tv- b++ DI++++ D G e* h+ r++ y+