Monolith was a common buzzword through out 2014 and 2015. In software a monolith refers to a single large piece of software that handles a lot of different types of tasks. Microservices being the popular alternative, breaking the tasks out to smaller stand alone pieces of code.
If you look at the above definition it’s clear what category Drupal a site built with Drupal falls into: It’s a monolith. Just the common statement of “there’s a module for that” directs users to creating large software handling all kinds of tasks with Drupal.
Drupal core itself is relatively lean and has a rather focused task. Sure there are still “monolithic” modules like blog, comments and more in Drupal 8 core – but they don’t get in the way of things. Drupal offers tools for storing content and managing layouts.
In this trend of breaking tasks down to smaller pieces of software the Drupal community, leaded by Dries Buytaert has been drumming up the thought of decoupled Drupal by playing catch-up with WordPress as it hits 15 years of age. This quote underlines how Drupal is seen as a tool for everything:
Drupal may not always be the best solution, but it is almost always a solution
– Building bridges, linking islands
But maybe you shouldn’t set up for “a solution”, but look at purpose built software and orchestrate them to work together? Why should you build a mediocre forum to your website with a Drupal module when you could just use something better suitable for that?
This has already happened with comments moving to services like Muut or Disqus. Other fields like commerce are ripe for this and the role of CMSes is increasingly focusing on the basics: Providing a content repository.
Maybe the prime time for a monolithic platform like Drupal and other traditional CMSes is past us. Big is not beautiful.