One year into the transition to their new WebCore serverless platform, the BBC has started to reap the benefits of an architecture that removes the burden on engineers to solve performance and operational challenges and allows them to focus on the value they deliver to customers.
As BBC lead technical architect Johnathan Ishmael explains, going serverless has made it possible for the BBC to improve their services on a number of counts, including personalization, speed of updates, build times, and experimentation.
Serverless has proven to be a powerful tool to help grow the digital offering of one of the worlds largest websites, both from content delivery through to powering our build tooling.
Personalization is a key area for content providers aiming to increase the relevance of pages served to individual users. Unfortunately, personalization translates into higher load and has a potential performance hit, since at least some part of the content must be fetched and rendered specifically for each user. Serverless provided the means to address both challenges, says Ishmael.
The page takes around 500ms to render and be delivered to the audience. In that timeframe we invoke around 30 functions. Around 150ms is spent running React to render the content to HTML, the rest is spent fetching or processing data.
The new platform has also proved effective in handling shorter-lived caching for non-personalized content. This aimed to reduce the time it takes for editorial updates to reach users, which went from 2.5 minutes to 30 seconds throughout the last 8 months and may be further shrunk under 5 seconds, says the BBC.
BBC commitment to serverless has gone so far as to make their entire CI/CD pipelines serverless to enable building and deploying at a higher scale. This brought a radical reduction in build times from 24 minutes down to 5 and aiming to going below the two minutes threshold.
Last but not least, the new WebCore platform has also proved beneficial for handling experiments using A/B testing. When you take into account all the variations of a page, A/B testing can increase significantly the number of pages to be served. Here again using a serverless approach proved useful, says Ishmael.
BBC's experience with their new platform was almost entirely positive, were it not for a performance issue caused by noisy neighbors, i.e. other serverless customers who happened to be sharing the same computing resources. That issue manifested itself through latency peaks at regular intervals and required the service provider intervention for proper diagnosis and fix.
This success story has many additional details that you may want to learn about in our previous coverage. It also has an organizational side that has been explored in another article by BBC engineer manager Graeme Lindsay, which you will not want to miss if you are interested in the organizational challenges that going serverless may pose.