I've been developing with Drupal for about 8 months now, which of course means that I've been learning Drupal for the last 8 months. It's immensely powerful and a ton to learn. We've been successful in developing Drupal websites in a small-medium business sector. However, the more we develop the more we are being presented with enterprise level opportunities. My question is simple: Is Drupal a viable solution for enterprise level development?

I've been developing with Drupal for about 8 months now, which of course means that I've been learning Drupal for the last 8 months. It's immensely powerful and a ton to learn. We've been successful in developing Drupal websites in a small-medium business sector. However, the more we develop the more we are being presented with enterprise level opportunities. My question is simple: Is Drupal a viable solution for enterprise level development?

I fully understand that Drupal is NOT an enterprise solution out of the box. There are many things that can be done to improve performance such as utilizing memcache, PHP opcode, Varnish, Pressflow, and more. All of which I am good with. I almost enjoy setting up the server stacks for hosting environments. I'm particularly interested in Drupal's integration with node.js, as well as some other powerful open-source services available. However, this is a lot of work, I don't know any other way to truly find out if Drupal can handle the demands of enterprise level web traffic, with out actually developing a website, setting up the hosting environment, and stress testing. Before I commit down any of these roads I'd like to be sure that we're using the best (or at least above average) platform. I'll continue to research the topic, but any first hand knowledge, research, or experiences that anyone would like to share would be greatly appreciated. Thanks!

Comments

Jaypan’s picture

'Enterprise' as a term is a little to vague to really be able to answer with any clarity. The only real answer is 'maybe'. It will really depend on what you want to do with it and what your needs are.

The architecture behind D7 theoretically should be solid enough to create the datatypes (entities) you need, and link them altogether however you want. With a dedicated server, it will run fine even with large amounts of users. And if you need CDN functionality or whatnot, there are groups that discuss how to do this within Drupal.

But that all said, Drupal is built almost as an abstract - it is made to be the framework around which most any kind of site can be developed. As such, if you are using it for a large application, you will probably find that you end up with a lot of code you don't need, while missing some code you do. Compare this to a bespoke solution, which you design from the ground up to meet the purpose it's made for - this isn't likely to have code bloat, since you aren't going to add code you don't need. And if you want to work with CDN functionality, you can, you just have to code it yourself.

So it really just depends on the requirements of your project. It may or may not be good enough for your requirements.

That all said, if Drupal doesn't meet your requirements, I doubt you will find another CMS that will be able to create a generic enterprise solution any better than Drupal. So if it's not for you, then you will most likely need to build your system from scratch.

John_B’s picture

What about TYPO3? I have not used it, but I have to advise on whether to migrate a TYPO3 site to Drupal. TYPO3 can handle large collections of uses, permissions, and content, and create web pages flexibly. It also appears to avoid Drupal's terrible problem (once you go beyond Drupal core) with major upgrades. It is said to be user-unfriendly and horribly difficult to learn.

It is well known that large sites including media sites with tens / hundreds of thousands of users and pieces of content run on Drupal, which kind of proves it can do the job. But to set up a site like economist.com on Drupal you obviusly need an excellent team of developers.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

Jaypan’s picture

Drupal's version upgrade problem is a big one, but that said, it comes with it's benefits. Systems that ensure they are backwards compatible end up with legacy code and get bloated. Drupal is already nearing bloat on it's own without backward compatibility. With the backwards compatibility it would make it near unusable.

aczietlow’s picture

I guess I should have been more specific. I'm looking at having a large repository of content including video streaming, preferably HTML 5. Content would be handled by a team of in house content administrators. (If things were to actually succeed) We may have upwards of tens of thousands of page views a day. From what I have seen, Drupal's backend, despite some bloat, can thrive in high performance situations. That is if it is set up on an appropriate hosting environment, which is what I'm looking at now. I am definitely interested in utilizing available CDN technology. Does anyone have any thoughts on Acquia managed cloud?

"Insanity is doing the same thing over and over again, expecting different results." - Einstein

John_B’s picture

Does anyone have any thoughts on Acquia managed cloud?

Expensive?

Obviously hosting costs will be high however you do it. Anyway if your site is read-heavy you will certainly be using Varnish, so the size of Drupal code should be less of an issue.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

Jaypan’s picture

You should also look at Pressflow.

But the simple answer is, you can build a site as you describe, with the traffic you describe, and Drupal can handle it with some modifications. It's scalable, and with the CDN module, you can also use a CDN. There are other modules to improve caching, aggregate files, use Memcache or varnish etc.

joseonate’s picture

Drupal handles high volume pretty well, and scales even better.

- We may have upwards of tens of thousands of page views a day
I’ve had Drupal running on a shared host getting a million page views per month, so I know first hand that at 30,000 page views per day you may not even be straining a $10/m shared host account. A $200/m dedicated host configured with some advanced cache will probably coast rendering a couple million page views per day without even beginning to worry about a custom setup. At the next step up, a proper hosting company can help you plan expansion with a simple configuration of multiple dedicated servers that should have no issue serving tens of millions of pages per day.

Acquia has some interesting case studies. Here is one about a Drupal site handling 150,000 page views per hour:
http://www.acquia.com/resources/library/drupal-case-study-lifetime-digital

Is Drupal an enterprise solution?
As opposed to what… something like Microsoft options? What are people running these days that is supposed to be enterprise-ready? I tell you with no trace of sarcasm, if Microsoft is enterprise ready then anything is, including Wordpress.

I wouldn’t even dream of building a serious site on anything other than Drupal. IMO the other only viable alternative for a startup set on succeeding is to develop your own framework/CMS, which is only an option for the super serious with a super budget.

If you are worried about the merits of Drupal as an enterprise solution, I’d look into the experiences of others that have implemented it as such.
http://drupal.org/popular-science
http://drupal.org/node/1061630

Look for the work of some of the big Drupal shops. There’s a reason government, universities and large software corporations are turning to Drupal to handle the larger sites. Drupal is actually much more big-site-ready than anything else out there, in terms of quality, cost, development timeframe, security, etc.