It's tremendous that (as far as I can tell) this has all been architected and developed internally at the BBC. So refreshing in the current climate of public entities outsourcing everything. Much better value for money - and more to the point demonstrates that complex projects can be successfully completed internally.
The generation/serving of the pages is a triviality compared to the delivery of the video. In the past the BBC used to serve all video in house but now they just use the "big three" CDN providers.
I think some of the infrastructure maintenance (and maybe general development too) is outsourced. About a year ago I was on a service management training course in London along with some Siemens staff who were working on the iPlayer project.
I'd be interested to hear why they chose PHP. (It's not exactly the framework-du-jour, so they must have positively chosen it).
Also, it seems to me that the web page serving would be the most trivial part of iPlayer. Scaling the video and recommendation database is probably a more interesting topic.
I'd point out that the "perl+SSI" codebase was actually mod_perl, Catalyst, DBIx::Class etc. using SSI as a sort of primitive ESI replacement to ease caching of partial pages.
The strange politics that led to the perl on rails monstrosity apparently aren't universal.
One reason might be the ability to hire quality developers in sufficient numbers. The BBC is big, with developers (both internal BBC and external contracts) working all over the UK on a wide range of output.
which is in my opinion PHP's greatest strength and greatest weakness. Weakness because not-so-good developers think they are good while writing code using register globals, no input validation, no escaping output, etc..
Ironic that this returned the following error when I tried to read it: "Error 500 - Internal Error. This might be because: We are experiencing abnormal traffic to our network." :-)