A modern software architecture view around Drupal

Abstract

In more recent times, as content increasingly occupies center stage with respect to commerce & data strategies and there is a renewed interest in exploring Drupal internals, development & deployment patterns with mental models that have been commonplace in recent times. As distributed content management such as content meshes emerge, it is inevitable that Drupal as a stack comes under closer technology strategy & architecture scrutiny with integration & composability as key considerations.

Considering this next wave of Drupal deployments will be predominantly modern. What this means is that most of the Drupal deployments of the future will be API first and many of them would be headless. In many way, the headless CMS converges into the realm of CMS as a Platform, albeit with a potentially pluggable content repository provider (under the abstraction of APIs);

The business case for these patterns is very sound. Headless CMSes (sometimes known as CaaS - Content as a Service) such as Contentful or Strapi are making the rounds in VC circles as the next big thing in Enterprise content management. In this wake, Drupal is an equally powerful and mature contender towards an evolution down this path.

While these drivers exist, the road to modernizing Drupal isn’t exactly the smoothest one. Some of the constraints around Drupal in an enterprise scenarios are:-

  1. Difficult to scale modules & subsystems independently of each other
  2. Difficult to implement high velocity, high throughput and low latency concerns.
  3. Lack of well defined integration architecture

In this session we will provide perspective about the modern software architecture view around Drupal which addresses concerns mentioned above and provide prescriptive advice to overcome these issues via three main things:-

  1. Externalizing API concerns: We will shed light on how to externalise API concerns like security, traffic management, analytics etc to an API Gateway layer.
  2. Offloading Drupal events into an external event stream: We will shed light on how we can externalise into an immutable event store.
  3. Evolve a cloud native platform approach: We will shed light on how we can run modern Drupal sites at scale with an cloud native platform strategy and specifically talk about
    1. Containerized Drupal deployments on Kubernetes
    2. Creating a standard set of DevOps practices across the stack
    3. Cloud native operations & observability

Figure 1 and Figure 2 below would be some reference architectures which we would be using in our session.

 

Architecture
                                                                                    Figure 1: Modern Drupal Software Architecture
Plaform
                                             Figure 2: Cloud Native Drupal Application Platform

 

Speaker Bio

Ashish Thakur heads DevOps Practice at large in Srijan with keen focus on cloud native technologies and Developer Experience. He (https://www.drupal.org/user/945606/) has been working with Drupal since 2012 and has contributed code to core and contributed modules and since 2018 he has been working extensively to run high performance Drupal Workloads using Kubernetes.

Previous Speaking Experience

Topics
DevOps / Decoupled

Presenters