Key user journeys of ad serving systems.
- Serving ad.
- Click through.
- Publisher registration.
- Ad booking.
- Reporting (often, real time)
The below reference architecture focuses on the first 2.
- For achieving (3), we may need a dynamo db and another fleet of EC2 (app servers), may be in an auto-scaling group behind an ELB.
- Same set of servers used for (3) can be used for Ad booking (4) as they are not as critical as (1) & (2).
- Targeting (5) can be delegated to the servers being used for ad serving (1).
- Below architecture supports reporting but not real time as the logs from click-through servers are saved to S3 and sent to EMR for processing. It’s a batch processing. In order to make it real-time, we may have to stream the logs to Amazon Kinesis which does the analysis and put the results back in dynamo db for reporting.