Digital Media Company

about-banner

Building a Modern CMS Platform and Application Platform for a Digital Media Company

Our client, an independent media company operating across various news and media platforms with a variety of content spanning local, national and global stories, was struggling with their existing CMS that relied on Adobe Experience Manager 5.6.1, a legacy system that incurred significant annual operational costs. Moreover, the outdated system was also fragile, leading to a high rate of change failures within the ecosystem. They came to Material needing a modernized system that would streamline their operations and reduce costs.

  • Utilized Drupal as a content as a service with an added abstraction layer that allows for easy replacement in future without heavy engineering

  • Integrated Drupal/Symfony events with microservices through a message broker and implemented the CQRS pattern to separate data actions from queries, enhancing performance

  • Leveraged document DB-based materialized view, which ensures high-read throughput and low latency for faster data access

  • Implemented a caching strategy to efficiently deliver content through CDN, Varnish and Kong, handling up to 200 million requests daily with a 95% cache offload and supported by externalizing the purging process – using dynamic cache tags to ensure the cache stays updated and responses remain swift

  • Built the underlying application platform on Kubernetes and AWS Cloud, leveraging key Cloud Native Computing Foundation (CNCF) products

We achieved a 30% reduction in cloud and operations costs – resulting in approximately $1 million savings annually – and constructed a scalable, API-first Drupal multi-tenant system capable of handling up to 200 million requests per day. In addition, we adopted an API-first approach to enable omnichannel experiences for digital publications on both web and mobile platforms and implemented core APIs that reduce CMS-related engineering efforts and enabled faster adaptation to business needs.


Have Questions? Get In Touch