CarAdvice: Serverless CMS infrastructure
DiUS helped CarAdvice migrate its existing Content Management System towards a serverless infrastructure; accelerating a shift towards an API-driven architecture.
At a glance
CarAdvice is Australia’s largest independent automotive publisher, and Australia’s most trusted source of new car reviews. With over 400,000 unique visitors to its website every month, CarAdvice reviews every new Australian car model, right down to the last detail.
CarAdvice faced a challenge common to most online publishers with a monolithic Content Management System (CMS); the close architectural coupling of content authoring to content publishing, and a database model designed to primarily support content authoring and versioning, rather than presentation and discovery.
Looking for a technology partner specialising in cloud-based capability, CarAdvice enlisted the help of DiUS to migrate website features from their existing CMS to an open, API-driven architecture. By allowing for decoration and retrieval of content beyond the editorial authoring platform, CarAdvice aimed to unlock new opportunities for enriching and extending the lifespan of their original content.
CarAdvice’s existing CMS consisted of templating logic, application code and content databases that assembles web pages every time a visitor makes a request. Making this work at scale required many separate applications to work together – a content delivery network, reverse proxy cache, web server, application tier, caches and a database.
Coordinating these moving parts in production required further layers of infrastructure code, performing tasks such as web server provisioning, as well as instantiation, configuration and monitoring of virtual machines.
Recognising that the next wave in the evolution of cloud computing is the abstraction of virtual machine infrastructure altogether, DiUS looked for new ways of building application components without having to provision servers or manage scalability and redundancy; allowing the team to focus on building the right thing without the heavy lifting. To achieve this objective, the team used a new set of value-add, higher order AWS services – AWS Lambda and Amazon API Gateway.
AWS Lambda enabled the team to create a backend by defining functions hosted on an AWS platform, and trigger those functions by a set of events, such as a website click or message in a queue – all without the hassle of servers or containers.
Amazon API Gateway allowed the team to easily expose AWS Lambda functions through REST APIs using configuration to define endpoints, the required parameters and responses.
Pulling it together, minimising disruption
Migrating features from CarAdvice’s existing CMS meant carving out some of the current front-end components and re-architecting them to be driven from the new APIs. A further benefit emerged through the enriched content being made available through a standards-based API.
DiUS were able to take advantage of modern front-end technologies such as ECMA Script 6 and React.js to author a set of pluggable, dynamic page components. These components used the API exposed by the Amazon API Gateway to retrieve information for display.
To minimise the impact on the editorial team who publish content on a 24 hour cycle, CarAdvice is still using their existing CMS to provide authoring at the front-end. CarAdvice plans to continue to decouple the rest of its existing platform to deliver more searchable metadata, normalise content syndication and build consistent, and useful APIs.