On 5/31/05, Russ <[EMAIL PROTECTED]> wrote:

> I was wondering if anyone on this list can give some ideas of the pros and
> cons of using CF/MS SQL vs LAMP.

Assuming completely equal competencies at both companies, the
pros/cons are the same as any open source vs. commercial software
solution. The short list includes things like:

+ technical merits
+ licensing 
+ support
 
> I know for a fact that perl code is harder to read and maintain, and that's
> it's probably slower since it's interpreted every time instead of
> pre-compiled as CF is.  

Both not completely true. Bad Perl is a *little* harder to read than
bad CF code, but a competent Perl programmer has no more trouble
reading and maintaining a *well-built* perl program than a ColdFusion
programmer does a well-built CF app. And considering the availablity
of top-notch frameworks like Mason and tools like the
Template-Toolkit, one could argue it's actually *easier* to read Perl
-- or at least comparable to an application built on one of the more
common CF frameworks like Fusebox, MachII, Tartan, or Model-Glue.

As far as performance goes, running mod_perl on Apache can be
blazingly fast. So can CF for that matter -- but its going to depend
on the details of the application and the load for both alternatives.
Comparisons for speed between platforms is a *very* difficult thing to
measure for non-trivial measurements, so as a blanket statement I
don't think that argument (CF is faster than Perl) will get very far,
especially when presented to a knowledgeable tech decision-maker.

As an aside, are they a pure Perl shop? Because LAMP also can imply
PHP and Python...

>I know MS SQL has more features (such as stored procs) that MySQL lacks.

MySQL has stored procs in the 5.0 branch, which is in widespread beta.
And it also has transactions (since late 3.23 in InnoDB tables). And
foreign key support (ditto). And views (implicit views in 4.0 branch,
explicit in 5.0 branch). MS-SQL (2005 in specific) has better XML and
a much richer (though vendor-specific) SQL programming language
(T-SQL) as well as better management tools.

> What other pros does CF/MySQL have over LAMP that might sway a potential
> client?  Personally, except for the fact that LAMP is free, I don't see any
> advantages of it at all.

There are many advantages for the LAMP stack. For example, if
price-sensitivity in scaleout is a large issue. A CF/MS-SQL solution
requires software costs that are at a minimum
W*(1295+795)+D*(5000+795)] at the low end, where W is the number of
web servers (CF standard plus Win license) and D is the number of
database servers (unlimited MS-SQL standard plus Windows license).
Plus hardware. And support. For a LAMP solution, the cost is simply
the hardware, the OS license (which could be free since there's no
Windows dependency), and support.

Compare the costs of 4 dual-proc web servers with a pair of clustered
quad-proc database servers running CF/MS-SQL vs LAMP for fun :)

There's also the strong argument of avoiding vendor lockin, which
could resonate strongly as the Macromedia and Adobe merger worries
folks (I think that worry is misguided personally, but it's a hard
argument to counter). Not to mention as MS lurches the Longhorn
schedule all over the place *and* considering there's a new (and more
expensive) MS-SQL  2005 server to contend with.

That said, I haven't used Perl for a significant application that I
can recall (PHP, now that's a different matter). CF imho, provides
significant advantages in development speed. I feel that difference
whenever I switch over to PHP for a project (which I also find is
faster than Perl for me).

CF is also much more naturally amenably to Java shops (at least until
Zend gets the PHP to Java compilation working as well as native
compilation -- sound familiar to you old CF hands?) which can be an
enormous benefit compared to LAMP.

I'd suggest thinking about considering a ColdFusion/MySQL stack. CF
runs on many platforms and can run on a number of web and J2EE servers
-- and so can MySQL. Then the pitch becomes the expense of ColdFusion
licenses is offset by the productivity improvements. The user can then
run Windows or Linux/etc, Apache or IIS/etc, and only worry about one
commercial vendor (Macromedia).

Open source has many compelling argument beyond simply "cheap" --
commercial products more and more need a much more compelling argument
about why they are better than OSS, in other words -- what am I
getting for the money? If there isn't a slam-dunk answer to that
question, the decision starts tipping towards OSS. CF has a number of
useful extras that can justify the corresponding expense (Flash and
Java integration, event gateway, reporting engine, Verity, FlashPaper,
some of the new deployment options, session clustering, etc) if the
application requires them.

As the database world is finding out, MS-SQL (and Oracle and DB2)
don't necssarily make financial or technical sense for many new
(especially web-based) products. And while it's nice to see Oracle and
DB2 down around the $5k mark now as well, it's still not enough for
many projects -- especially when you're planning to scale.

<anecdote>
True story. MySQL and Informix recently were competing for a contract
at a large enterprise (which I can't name). The *software license*
ONLY for Informix for their 96 (!) processor SGI Origin (maybe it was
48 -- doesn't really matter all that much) was $1.2M. MySQL's
per server commercial license was $600 -- the same as it is for a 1
CPU Dell 750 server.
</anecdote>

Obviously Informix would have to bring about 1.2 million dollars of
extra value to the project to displace MySQL. This is obviously a bit
of an edge case as far as comparisons go -- but those MS-SQL
unlimited/processor licenses for web apps really *do* add up,
especially if you're also clustering at the OS and/or db level.

Good luck!
-- 
John Paul Ashenfelter
CTO/Transitionpoint
(blog) http://www.ashenfelter.com
(email) [EMAIL PROTECTED]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:208076
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to