BBC Weather: changes to technical architecture
23.05.12
I work as a Technical Architect with the Weather team, and this post talks about some of the changes we've made to the architecture of the site to ensure the new site stays reliable, performant and able to scale to the traffic levels that BBC Weather attracts
Weather as a service
The previous version of the BBC Weather website ran on a dedicated two-tier architecture, with business and presentation logic wrapped up in a PHP front-end that communicated directly with a MySQL database. These machines sat behind the BBC News Apache mod_cache head-end servers, providing the scaling necessary for Weather traffic spikes.
For the new site we've moved to a three-tier architecture, keeping presentation logic in a PHP front-end but moving business logic and DB access down to a Java/Spring mid-tier service layer that presents RESTful HTTPS APIs back to the PHP front-end for data reads, and to the BBC Weather Centre's data ingest system for writes.
This move is part of the BBC's wider strategy to move to a Service Oriented Architecture (SOA) to increase cross-product interoperability and data reuse. The diagram at top left gives an idea of how the tiers relate to each other in Weather's case (in practice this arrangement is replicated over two data centres)
Source: BBC News (blog)