Drupal - can it be used for a large web application?

2 points by roc123 ↗ HN
I wanted to get some opinions on the pro's and cons of using drupal for web applications vs using something like php with codeigniter. Would it be more difficult to maintain/scale/attract investors etc?

3 comments

[ 5.6 ms ] story [ 12.3 ms ] thread
I haven't had much success scaling Drupal or PHP. Yet, there are tons of sites that have used it very effectively.

If you are starting a new project then I think you'll enjoy picking something more modern to use as your foundation.

Drupal is a monolithic PHP application that uses MySQL for caching and locking.

Scaling MySQL will be your bottleneck, alternating that with optimizing queries and database usage in third-party modules. Most of Drupal Core is written well enough.

Third-party modules support using memcached, mongodb, etc. These mostly help with anonymous, session-less traffic.

Scaling out your authenticated, logged-in users means almost no caching, requiring more web servers and more MySQL scaling, unless you architect your application to support caching page segments updated with JavaScript from the start.

Some of the work to support Edge Side Includes that's going on, and whatever became of the "Butler" initiative, are improving that work for authenticated users.

Like any system, it has its upsides and its downsides.

I agree with this assessment, except that as a person who specializes in scaling Drupal I tend to be familar with the more common problems, and not too intimidated by them. In addition, you can now buy fairly scalable hosting from Pantheon or others.

I would add one comment: most projects fail because they don't get written, and they never get to the stage where scaling matters. Thus, I would focus on picking a tool that will allow you to get your project to the minimum viable product stage as cheaply as possible.