Hi
Firstly thanks for all the positive feedback.
The architecture is pretty simple....
The different types of things you see (such as an
article or a
video) are Play apps that runs on separate clusters (simple EC2 instances in auto scaling groups) and we route to these via an Nginx cluster (again EC2 autoscale group).
Scalability and speed are handled by some simple rules (not really specific to Play) ...
1. Everything is cached (behind Akamai), even live stuff (but just for a few seconds).
2. No request ever spawns more than one blocking IO request (mainly to our
content API).
3. Keep Javascript and css as small as possible and do as much as possible after page load.
4. We do not expect total consistency (no complicated de-cache or launch rules).
Grant