Update: I have been working with Drupal 8 for months now, and it is awesome. I am sticking with Drupal. My latest article of Drupal 8 impressions.
*** Below article is morally outdated. ***
I have just received a comment for my Should I upgrade my web site to Drupal 8... at all? article. I will quote this comment here, and this short article will be my response.
Drupal 8 is release and...
It is clearly a platform built for enterprises, without even trying to reach a general market. Development, blamed before for being expensive and time-consuming, got even worse. General market, working on shared-hosting-based environments can now kiss Drupal good bye. And good night might be even for Drupal as we know it.
Who's gonna participate in low-level tasks for Drupal? Wasn't this a OpenSource job for amateurs and not for enterprise-employees?
I can see the darkness in it. I'm working as a freelancer, using Drupal for most of my projects. Now I should really drop Drupal. I'm not working for enterprises, I don't want to pay expensive bills for hosting. I don't have projects of this magnitude. But where should I go?
Or the hosting market should change for Drupal? This is a shitty dilemma.
This comment does speak to me. It also echoes loudly across the internet. I myself have also been thinking about all this, and here are my thoughts below.
Drupal 8 IS enterprise.
What do we mean when we say Enterprise anyway?
Simply put, it's written by larger companies for larger companies. Bluntly put, larger companies could assign finance and top developers to work on Drupal, and that came at a price - they built Drupal 8 the way the companies wanted. Drupal 8 will service the needs of those larger companies better than that of smaller companies and freelancers. Is that bad? Not necessarily, but it's just a fact to reckon with.
What does Drupal 8 being Enterprise Mean Practically?
I will list here some thoughts, to indicate, that I generally agree to some of the observations out there. Then, later on, I will show, why, to my opinion, we should not exaggerate or panic over these things.
- Drupal HAS become more complex on the back end. Architectural and programmatic complexity has been increased dramatically with the introduction of the Symfony and rewriting Drupal to work with it. It is easier for the enterprises to handle complex tools for various reasons, some of which I will list next.
- Drupal's development learning curve has gone up. You need to know Symfony, routing, OOP and it's paradigms, knowledge of multiple other techniques that require much deeper knowledge of PHP, which is characteristic for the higher level PHP specialists, and is harder for the self-taught Drupalers.
- Drupal 8 server requirements. Despite superior and innovative caching, Drupal 8 still possesses a much larger code base, that makes it's throughput up to 3 times worse then that of Drupal 7 under some conditions. Drupal 8 will require more RAM and more processing power. This is not a problem for expensive enterprise hosting, but may turn out a problem for smaller businesses, if their sites are stressed.
- Build and support cost will grow. Now... I know that some will disagree with me. In fact, there can be another logic applicable: Drupal 8, being closer to the modern PHP industry standards, will attract wider industry developers and make Drupal more widely used, thus lowering the development cost. I do NOT think, though, that this is true. And I will tell you why. Those people and companies, whom Drupal 8 will attract, are the professional PHP developers, and not the people who charge little. Drupal may spread more - but it's development cost will thus not go down.
- Larger Drupal agencies have been going though some insane unification processes for the last few years, creating international Drupal mega-corporations like Wunderkraut, FFW, ProPeople, that present a new level of enterprise competition for the smaller Drupal workshops. Smaller workshops have been losing client to those new giant for some time now.
This is what Enterprise means - larger Drupal businesses, that can handle more complex code base, that can leverage higher development cost, higher support costs, higher hosting costs, will benefit.
Will I, as a smaller business, survive with Drupal 8?
I have spoken and corresponded with business people and developers from different companies and countries who have been working with Drupal, and they all tell me one thing: "We are trying to get bigger and richer customers so we can stay alive with Drupal 8." If you ONLY service low-budget sites, and don't want to diversify, then you should be concerned.
Even though you should be concerned over whether you will keep your business after switching to Drupal 8 as a main CMS, there are ways to prevent a catastrophe and help you stay in control. I will list some thought below.
Don't Despair - You do NOT need to Close Business.
What can you do to stay afloat and prevent Drupal going enterprise from ruining your long-standing involvement with the CMS?
1. Some Drupal 8 Myths Busted.
I have been studying Drupal 8 intensely over the last few years, and I believe that I am ready to work with it proficiently. Allow me, well, not to bust, but to set proper observations about some of criticisms of Drupal 8.
- Drupal 8 is NOT much less performant. In my tests that I referenced in the top of the article, Drupal 8's throughput was 3x times less than that of Drupal 7. But, there are aspects that make it an edge scenario. In MOST use cases, you will NOT notice any lag for Drupal 8 as compared to that of Drupal 7. In fact, because Drupal 8 renders and caches content in a smarter way, it may well visually seem to you, that Drupal 8 is faster, even though the Time to First Byte (TTFB) appears to be about 1.5x times slower for Drupal 8 - but that's 20 ms vs 30 ms - you won't notice unless you use tools to debug. And in cases, when you have authorized users working on the site, Drupal 8 will outperform Drupal 7. In my experience, it is precisely serving the authorized users that usually creates problems. So - Drupal 8 is much better than the edge case scenario suggests.
- Drupal 8 is NOT much more resource hungry. Drupal 8 ends up using approximately as much RAM as Drupal 7 does, even though it's code base is times larger. Why? Because Drupal 8 loads only the required components into memory, while Drupal 7, being bully procedural, loads all of it's enabled code base into the memory on each run. So, you will NOT have problems with RAM usage.
- Drupal 8 will NOT use much more processor power. Though, it WILL use more than Drupal 7 does. I do not have precise tests, but my profiling indicates, that Drupal 8 will use somewhat more processor power, due to it's architecture. However, that will NOT make it unusable on the shared hosting, unless your shared hosting is strongly outdated. I have tested Drupal 8 with a number of popular hosting platforms, like Hostgator, and Drupal 8 runs just fine there.
- Drupal 8 is NOT un-learnable. No. It's not. And Drupal community has released lots of free stuff to help freelancers like us to catch up. Paid Drupal online tutorials companies are even making their tutorials free for a time, to help us transition. An example - free Drupal 8 back-end course from the KNPUniversity.
- Drupal 8 is NOT unusable for small businesses. Drupal 8 has responsive images, inline editing, and many other smart enhancements, that will be widely desired by both the small and the large customers. If your client can afford a decent shared hosting, then chances are, you can consider doing a Drupal 8 site for them.
2. Don't Panic!
Do not panic! No one cancels out Drupal 7. Under the worst case scenario you will still be able to build sites with Drupal 7 and Backdrop. No need to close your Drupal workshop... yet. There are ways to keep you up, and perspectives to keep you in the Drupal camp.
Well... Diversification does mean that you are losing somewhat, right? Well, yeah. You will NOT be able to build just the Drupal 8 sites all the time like you used to do with previous versions of Drupal. But there is a space to diversify nonetheless. There is still Drupal 7, and there is Backdrop CMS, which has had some wonderful development over the past year.
The idea is that if you diversify, you will still stay within the Drupal industry. You will still be able to build Drupal 8 sites when conditions allow it, and fall back to backdrop and Drupal 7 if not.
4. Learn Drupal 8.
Drupal 8 is lacking modules. Drupal 8 raises errors over some slightest offence. Drupal 8 does not have a good import functionality from Drupal 6 and 7. But - it was something like this with Drupal 7 as well, when it was first released. Now, I do not think that Drupal 8 will become as a hallmark of Drupal as Drupal 7 has been - but I do think, that some rough edges will be soon polished. Also, the way Drupal 8 progresses will show us all, whether current strategy of development will need to be corrected or not, and if yes then how. Also, chances are, there will be more opportunities to create Drupal 8 sites in the future. If not for the poorest of clients, then for the rest. And you can use Drupal 7 for the poorest of your clients, who can't afford Hostgator, or who need a highly visited web site.
So - yeah. Drupal 8 IS more Enterprise. Yes, larger Drupal corporations will provide some serious competition, especially for those projects that have good budgets. And yes, Drupal 8 is much more complex on the back end, and is harder to learn on the back end. And yes, it will have higher cost for development and support, and these will NOT go down in the near future.
At the same time - no. You don't lost your business. Not unless you despair and that influences your business decisions. You CAN use Drupal 8 for even smaller clients. You CAN use Drupal 8 with the shared hosting. You CAN learn Drupal 8 to the level, when you can provide highly customized web sites. In fact, I am sure, that in time, you CAN make Drupal 8 your main tool, even for some smaller clients. And in cases, when you feel, that Drupal 8 won't do, you still have Drupal 7 and backdrop CMS. You have no reason to think that you will be thrown out of business when you have alternatives like Drupal 7 and Backdrop.
What does all this boil to? To the fact that though we may not necessarily like what's happening in the larger Drupal world, or some aspects of where Drupal 8 is heading, or what it's becoming. But, at the same time, we should not over-exaggerate those issues. There is still enough room for maneuver for the small businesses like us, and there still enough diversity within the Drupal world to handle various cases where Drupal 8 will not fit and remain competitive.
You probably see that my response is not very optimistic, but it is balanced. There will always be the enterprise and the budget segment. And, though Drupal will now become friendlier for the first and unfriendlier for the second, I still believe that there is enough room for the second to operate within.