BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News BBC Online Going Serverless

BBC Online Going Serverless

This item in japanese

Bookmarks

In a recent article, the BBC engineering team describes the work done moving BBC Online to the cloud and to a serverless deployment. Half of the BBC’s website is now rendered serverlessly with AWS Lambda.

With the goal of avoiding the operational overhead of managing virtual machines or containers and keeping the deployment secure, reliable and scalable, the engineering team at BBC decided that a migration to a serverless architecture was required. Matthew Clark, head of architecture for the BBC's digital products, explains some the reasons and goals of their new approach and the technologies involved:

As is the case with tech, if you stand still, you go backwards. Until recently, much of the BBC website was written in PHP and hosted on two datacentres near London. That was a sensible tech choice when it was made in 2010; but not now (...) And so, over the past few years, it’s been our strategy to recreate BBC Online. Almost every part has been rebuilt on the cloud. We’ve taken advantage of the many benefits that the cloud brings — such as the flexibility to provision new services almost instantly. And we’ve used best-practice tools and techniques — such as the React framework, and the DevOps model.

Lambda is preferred as it is able to auto-scale on demand, and according to the author, about 2,000 functions need to run every second to create the BBC website. Moreover, there was the goal to replace multiple independent systems with a generic one to simplify the architecture. But not everyone agrees that a serverless solution is the best approach to achieve cost optimisation and unconstrained auto scaling on a very large deployment. "Running a site the size of the BBC on Lambda is nothing short of an exuberant waste of a government-subsidized budget, it's absolutely crazy," comments a user on Hacker News. "There are plenty of alternative options, even on AWS, that don't suffer from such huge markup without requiring any additional ops input." Tom Snelgrove, technology strategy and advisory manager at Accenture, asks instead:

Interesting, BBC websites now entirely run with AWS Lambda functions. Forward thinking architecture or a case of over-indulgence in new tech for its own sake?

 

Comparing the older page with the new cloud-based one. The numbers are Lighthouse performance scoring.  Source: https://medium.com/bbc-design-engineering/moving-bbc-online-to-the-cloud-afdfb7c072ff

The author closes the analysis promising more details in a future article, something that many developers are looking forward to: Jesse Adelman, computing automation consultant at AHEAD, hoping to have more details from the BBC, adds:

Very interesting move for the BBC to move to mostly AWS serverless (...) Will the additional layers of indirection and apparent developer throughput speed make a better, more cost-efficient service? A developing story to keep watch for. And are they caching right with 2k Lambdas per second? I hope they make their internal telemetry public.

The transition to the cloud and to a serverless approach is something that the BBC started and documented already last year. At Re:Invent 2019, Alex Chesters, senior software engineer at BBC, presented how the BBC uses Lambda@Edge to customize device pages.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • To Lambda or not to Lambda...

    by Jon Trygve Utne,

    • To Lambda or not to Lambda...

      by Jon Trygve Utne,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      I would have hoped that the author of the article would dig a little deeper to get to the bottom of why BBC are indeed betting on Lambda functions for their service, especially since there is more quality info to be found.
      Here from Tim Bray around the perils of autoscaling:
      twitter.com/timbray/status/1325874261832073217
      And Matthew Clark has replied to Tim wrt the cost aspect:
      twitter.com/matthew1000/status/1325898221298864129

    • Other metrics that would be of interest - for comparison with the prior architecture

      by Kelvin Meeks,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Besides the telemetry data, and their monthly status report metrics (number of releases, number of code builds, build time, average time for PR to Live, merge ratio of Pull requests) - would be a comparison between the old and new architecture - of defects reported, counts of defects grouped severity, and the turn-around time to correct defects) - over a 1-year comparison period. As well as a cost comparison (hosting costs, as well as DevOps staffing costs)

    • Re: To Lambda or not to Lambda...

      by Renato Losio,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Hello Jon

      thanks for the feedback and I agree, I missed the (very interesting) exchange between Tim Bray and Matthew Clark, thanks for highlighting it.

      On the cost comparison autoscaling / Lambda, the topic is quite wide, almost all for large corporations & deployments. Even if the cost were in the same ballpark, not everyone agrees it is always better to be serverless. As usual, it is hard to balance the long term costs, maintenance but also  portability of the solution versus the (inevitable) higher level of vendor lock-in in implementing it using Lambda.

      And it is always worth considering what we do not know, what the customer really pays the cloud provider and what long term commitments/discounts they have in place. BBC certainly isn’t paying AWS's retail rates and what they have in term of serverless agreement could be an important part of making the final choice: the feedback from Matthew Clark is very interesting indeed.

      Thanks again.

      Renato

    • Re: To Lambda or not to Lambda...

      by Jon Trygve Utne,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Hi, Renato, and thnx for taking your time to respond!

      You're absolutely right in everything you say, but then that's what you should write in the article, instead of quoting random HackerNews dudes who just assumes that the BBC(or any other company) hasn't done the math up front, or indeed has any clue about what they're doing at all.
      I really like what you and InfoQ in general do, by not only quoting the main article/talk/topic you're writing about, but also blending critique and comments from other sources, but these sources should actually bring some facts or depth into the discussion to be worth quoting.
      I'm sure you agree. ;-)

      FYI:
      One thing that mr Clark didn't mention in his original post, but that I think is a vital point to understand their rationale for doing what they do, is that they actually built their own "serverless" platform on top of EC2 and ElastiCache and ran some of their sites on this architecture, before they've now moved in the direction of AWS Lambda. So I feel prety confident that they have the necessary data and experience to measure the cost benefit of running on Lambda vs other choices. ;-)
      I highly recommend viewing this entertaining talk to get better insights in how that architecture worked:
      www.youtube.com/watch?v=lyQw4guIirw
      (If you google "bbc morph serverless" you'll also find other interesting articles giving you even deeper insights into that concept.)
      With that in mind, it's really interesting to read mr Clark's blogpost, as well as the two later blogposts about their design system and the other platform, Simorgh, to understand where they've ended up now.
      www.bbc.co.uk/blogs/internet/entries/a98f6952-4...
      www.bbc.co.uk/blogs/internet/entries/55645f54-f...
      And apparently, more is to come...
      I find their whole journey deeply fascinating, both the move towards serverless, but also the move via autonomous "nanoservices" teams to the new monorepo-based approach for building a SPA/PWA.
      There should be enough meat there for several Infoq articles and/or talks... ;-)

      Cheers,

      -JTU

    • Re: To Lambda or not to Lambda...

      by Renato Losio,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Thanks Jon!

      Best, Renato

    • Re: To Lambda or not to Lambda...

      by Daniel Bryant,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      I'll echo Renato's thanks here, Jon! I appreciate your feedback, and you've definitely kept us honest in regards to the values/standards we set for our news.

      I'm impressed with the extra context you've shared, and so I wanted to mention that we are always looking for more contributors to InfoQ :)

      Please feel free to get in touch if you would be interested in learning more: daniel [dot] bryant [ at] infoq [dot] com

      Best wishes,

      Daniel
      InfoQ news manager

    • Re: To Lambda or not to Lambda...

      by Renato Losio,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Hello Jon,

      > There should be enough meat there for several Infoq articles

      FYI, www.infoq.com/news/2021/01/bbc-serverless-scale/

      Best

      Renato

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT