The BBC is nearing completion on a multi-year datacentre migration project that has seen it upgrade and rebuild the infrastructure underpinning its BBC Online website so it can run in the cloud.
The underlying infrastructure for BBC Online has previously been hosted in two datacentres near London, but with more than half of the UK population using it each week to access its wide-ranging content – spanning recipes, news, podcasts, games and catch-up TV services – it was long overdue a refresh.
“As is the case with tech, if you stand still, you go backwards. Until recently, much of the BBC website was written in PHP…That was a sensible tech choice when it was made in 2010, but not now,” said Matthew Clark, head of architecture within the BBC’s Design and Engineering Team, in a blog post.
The initiative has been “several years” in the making, with “hundreds of people” involved in rebuilding BBC Online from the ground up to make it a cloud-ready resource, he added.
“Almost every part has been rebuilt on the cloud,” wrote Clark. “We’ve taken advantage of the many benefits that the cloud brings — such as the flexibility to provision new services almost instantly.”
These benefits include access to the Lambda serverless technology on offer from public cloud giant Amazon Web Services (AWS), which has cut down on the amount of time the company has to devote to the hands-on management of its virtual machine and container resources.
“Around half of the BBC’s website is [now] rendered serverlessly with AWS Lambda. Managing virtual machines (or containers) is expensive – keeping them secure, reliable and scalable takes time. Serverless mostly solves that problem for us,” he said.
As an example, Clark shared details of how Lambda assists the broadcaster in managing traffic flows during breaking news events.
“About 2,000 lambdas run every second to create the BBC website; a number that we expect to grow. And it’s far quicker at scaling. When there’s a breaking news event, our traffic levels can rocket in an instant, and Lambda can handle this in a way that [AWS] EC2 [Elastic Computing instances] auto-scaling cannot.”
Collaboration and communication is key
As well as serverless, the BBC Design and Engineering team has also leaned further into the principles of agile software development and DevOps, which has brought numerous benefits from productivity and innovation standpoint, said Clark.
“Predicting the future is notoriously hard. The best way to understand the future is to get there quicker,” he said, by rolling out updates “early and often”.
“The BBC has always had a strong operational process (including 24/7 teams managing services, and a DevOps approach to ensure those who develop systems are also responsible for maintaining them). We’ve continued to invest in this area, with new teams focusing on infrastructure, and on the developer experience (DevX),” he added.
Working in this way has also aided communication and collaboration across the various teams tasked with delivering this project.
“Creating a new BBC website has involved many teams. To be successful, we needed these teams to align and collaborate more than we’ve ever done before. Otherwise, we could easily create something that’s less than the sum of its parts,” he said.
“It’s hard to overstate the value of communication. Without it, teams cannot understand how their work fits alongside that of other teams. Without that understanding, they cannot see the opportunities to share and align. Teams may even start to distrust each other.
“Communication brings understanding, and that allows the culture to change. Instead of teams doing their own thing in isolation, they naturally share, collaborate and flex to each other’s needs. They go beyond what is strictly their team’s remit, knowing that others will too, which ultimately makes a better solution for everyone,” he added.
Communication has also played a key role in avoiding the “inevitable” duplication of effort that can occur when you have multiple, autonomous teams working on a project.
“When there are many teams, duplication is inevitable. Two teams will each come across the same problem, and create their own solution. In some ways this is good – teams should be empowered to own and solve their challenges. But left unchecked, it can create multiple solutions that are incompatible and expensive to maintain,” he said.
Simplifying the setup of BBC Online to cut down on the system duplication that has crept in over the years has also been an important part of the project, as part of a wider push to improve the performance and accessibility of its web resources.
“Multiple bespoke systems have been replaced with one generic system. It’s a double win, because as well as being more efficient, we can focus on making the new single approach better than the multiple old approaches. It’s because of this that the BBC website now has better performance and accessibility than ever before,” he said.
However, there are cases where it has made sense to retain different systems for some services because of simplicity and ease of management purposes.
“As an example, we chose to keep the BBC’s World Service sites separate from the main English-language BBC site. The needs of the World Service (such as working well in poor network conditions) were specialist enough to warrant a separate solution. Two simpler websites, in this case, are better than one complex site,” he said.
With BBC Online running almost exclusively on cloud now, users are now reaping the benefits of a “faster, better and more reliable” web experience, said Clark, but there is still more to do.
“This isn’t the end, just the start of something new. The technology and culture ensure we’re in a brilliant place to make BBC Online the best it can be – and that’s what we’ll do,” he concluded.