http://qs1969.pair.com?node_id=649847


in reply to Large Web Application Ponderings

Unless you have already done so, you will need to hire people with the following skillsets:

Unless you have personally been a DBA or sysadmin on a large project, you will mess it up. This isn't optional. There are a number of critical FAIL-if-you-don't-take-into-account considerations that a programmer will never think of, because that's not their job. I am both a programmer and a DBA, but I'm not a sysadmin, so I make sure I have a list of very good sysadmins I can call when I need to. Just as I'm on that list of DBAs for many monks. Unless you have done this, everything else is completely and utterly worthless.

I'm saying that as someone who's been DBA and developer on a number of large web applications written in Perl using a MySQL backend. If you would like some further advice on the matter, feel free to contact me either here on at rkinyon@cpan.org

Beyond that, it's the basics. Pick a web framework, an ORM, webserver, and application server. I personally prefer Catalyst, DBIx::Class, Apache, and FCGI. I know smart people who like Jifty, Jifty, Apache, and mod_perl. There's a number of choices. The key is to pick one and learn it inside and out.

As for laying out the app, screw the documentation crap. Build it with tracer bullets and week-long deliverables. If you can't break a piece down to week-long chunks, look again.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?