Having developed more than 100 Drupal sites and having worked with some of the best companies like Intel, I take pride in being a fellow Drupaler. I have also scaled highly database intensive Drupal applications (few million page views per months) and I have always loved Drupal for last 3-4 years without thinking anything else.

Drupal allows for innovation that is not possible otherwise.

But during all these years, we always had problem with handling unrealistic expectations of clients with Drupal. I guess it is largely because of the community that has developed around it. There are 2 usual unrealistic expectations:

a. I see so many articles/postings on the web that say, you can develop this/that site in 40 mins, you find all the beautiful/useful modules on Drupal and use them without spending a penny, time etc, and this makes most (mostly non-technical) people believe that they can create a social networking site like facebook in 10 days on Drupal or they can get a Digg.com done in Drupal in few weeks time.

b. Apart, what is mostly forgotten is it is both resource intensive and database intensive.

It's strength is ease of development, extensibility through modules and low cost. It's downside is that it requires more CPU and RAM than other CMSs once you have content and scale.

This is certainly a concern. How to set the "correct" expectations of the client/user in terms of effort who already knows some of the Drupal? Drupal is great, but I believe the correct estimate on the efforts and telling the performance cost is still not being done by the community in an attempt to make Drupal popular at large.

We have had people wanting us to develop social networking in Drupal in 1-2 months time. I know it is functionally possible, but certainly not if you are looking at quality of facebook.

Recently, we had a client who came to us for Pligg that supposedly ran on low resource server to Drupal/Drigg site. We were excited. When we started to work together, I realized he has very different expectations from Drupal and us at large. Pligg was running on 512MB/dual core linux server. There were 13 tables in pligg and with 227 tables with Drupal. We had so many tables, since, the vast pool of Drupal modules that he wanted in-corporate everything (facebook connect, twitter, this and that). And then so much data from the old Pligg site made the site crawl or crash quite often. It was difficult to handle him. He blamed us. I tried to convince him on Drupal architecture, but all was in vain.

He wanted us to guarantee him that the site is not going to crash and if it does, we would have to pay him, under constraints that he is not going to pay for the extra hardware. Weird? He didn't pay us for the major portion of work we did for him. I have scaled Drupal sites to over few million page-views months, but that required CPU/RAM/Hardware.

This forum message is an attempt to tell that Drupal is great, but all is not rosy with Drupal. Drupal is fast, BUT, it still needs effort to develop something "beautiful". Performance may prove to be costly (in terms of hardware) once you have certain traffic or content. You may already find "related content" module in Drupal, but you still have to theme it, place it on pages around and so many modules with the Drupal architecture around may slow your servers.

I hope there are other drupal service providers who are in the same boat as mine and I want to understand how they handle such requests. Suggestions?

Sudeep

Comments

rachel_norfolk’s picture

You're absolutely right - building a "good" site in Drupal is not a 10 minute job; it's not "magic". To be honest, this could be said about pretty much every CMS I could think of.

I believe the issues you described are not about the technology so much as they are about managing the client and the project. Do you usually try to determine with the client the likely workload and then agree suitable server requirements?

m13’s picture

I am at the same position. And I agree with you when you say that you CAN have a site up and running within a few weeks, but this site will NOT have quality.
I also agree when you say "Drupal sites to over few million page-views months, but that required CPU/RAM/Hardware", indeed, it needs either a GOOD and smart architecture, or a LOT of money on RAM etc. BUT:

my point of view is that the client should know this in advance...and problem solved!

Now how do I deal with clients' other weird demands? :)

I just smile and try to land them down to reality :D

Everybody knows that it COSTS in terms of both time and money, to have a site that actually pays your money (and much much more) back :)