BackgroundBBC News, a division of BBC with over 8,500 employees, delivers the latest news by posting more than 80,000 items online daily, and that’s just in English. Multiply that out across 28 more languages and editorial teams and that is global scale reporting. The technology enabling the distribution of news is made up of roughly 150 servers focusing on JVM and PHP languages that 50 developers use to push updates every couple of weeks.
ChallengesBBC had 10 different continuous integration (CI) environments running over 26,000 jobs that the over 500 developers across all of BBC had to share. Adding to that, the locked down nature of the CI environments made it extremely difficult to make changes. The jobs themselves took up to 30 minutes just to get their job scheduled, then another 30 minutes to run. The jobs were run sequentially, one after another, so scheduling issues and failures were common leading to a lot of wasted developer time.
SolutionUsing Docker containers, BBC News eliminated 30 minute wait times for scheduling and can now run multiple jobs in parallel. Their developers now have the power to control their application architecture, using the correct language and version of their application. The new CI environment is open, reproducible, scalable, highly available and is the best practice that is now being adopted across the rest of BBC sub groups.