BC The website is the sixth most popular website in the UK , Most of the current parts have moved to Amazon Web Services（AWS）, Now about half of the websites are server free AWS Lambda The present .
BBC Most of the content of the website is in the form of PHP Compiling , It used to be hosted by two data centers near London ,PHP In fact, it can also run normally in the cloud , Moving to the cloud is not a tedious thing , however ,BBC The team also designed a new architecture based on serverless Computing .
Server side rendering means that browsers don't have to do a lot of work to see the page immediately , So the page should immediately show , Although this will increase the burden on the server , however , Caching can alleviate this situation . The engineer Alex Grigoryan Responsible for providing SSR Migration , He Tested SSR With client rendering （CSR）, And said ：“ When we are right SSR And CSR Conduct A / B When testing …… Our data shows that it will be presented as soon as possible ”, Although he pointed out that the server load increase was SSR Main drawback .
Use Lambda Can automatically zoom on demand . There's about... Per second 2,000 individual lambda Run to create BBC Website ,Lambda The flexibility ratio of AWS Elastic Compute Cloud（EC2） Upper VM Better , Access traffic may rise immediately ; Lambda It can be used EC2 Auto scaling can't be done in a way that can't be done .
Lambda It's very important to deal with the content updates of the website , So the site can stay up to date . Every BBC A page usually contains several simple Lambda perform , Most of them are in 150 Complete in milliseconds .
BBC Another aspect of the website is the logic of requesting content ,Clark be called “ The business layer ”. The content is through REST API Provide to Web Rendering layer of , And a solution called the fast agnostic business layer can do ： Allow different teams to create their own business logic . While meeting the same requirements, you can still share the same systems, such as access control and caching .
WebCore Platform use CI / CD To achieve fast iterations , About every day 3 A version . It takes about 3.5 minute , Request from pull （ When merging new code ） The average time to run it in a production environment is one day 23 minute .
Some people think that ： stay Lambda Run a BBC The size of the site is definitely a waste of government subsidies budget , It's absolutely crazy . Compared with the conventional calculation ,Lambda VM There was a big increase in time .