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.ā
The āvast majorityā of the BBCās web pages are rendered in AWS using the React open source, Javascript library user interface builder, which enables the organisation to render its web pages server side and make adjustments on the client side for performance optimisation purposes.
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.