This is what I do at my day job. It's fun. :) Here are some of the interesting/tricky parts:
- Everything needs to be lightning fast. You don't have time for 15 calls out to MySQL to figure out what you're going to do. NoSQL is your friend here.
- Relating to the above, implement a timing/profiling system that operates in production early on. It'll save your life more than you think.
- Keep track of budgets and ads served per advertiser in a way that's quickly accessible and can handle being shared. Hint: if you're going to run more than 1-2 campaigns, you don't have time to hit your DB every impression to get this.
- Make sure you fully understand cookie mechanics, especially relating to third-party cookies.
- The amount of events in online advertising is enormous compared to other fields, so make sure your reporting can scale horizontally.
- Understand how TCP and HTTP connections work and what stages they go through. You're going to have more connections from more different hosts than most normal load profiles, so optimizing your web stack and load balancing is critical.
Comments
This is what I do at my day job. It's fun. :) Here are some of the interesting/tricky parts:
- Everything needs to be lightning fast. You don't have time for 15 calls out to MySQL to figure out what you're going to do. NoSQL is your friend here.
- Relating to the above, implement a timing/profiling system that operates in production early on. It'll save your life more than you think.
- Keep track of budgets and ads served per advertiser in a way that's quickly accessible and can handle being shared. Hint: if you're going to run more than 1-2 campaigns, you don't have time to hit your DB every impression to get this.
- Make sure you fully understand cookie mechanics, especially relating to third-party cookies.
- The amount of events in online advertising is enormous compared to other fields, so make sure your reporting can scale horizontally.
- Understand how TCP and HTTP connections work and what stages they go through. You're going to have more connections from more different hosts than most normal load profiles, so optimizing your web stack and load balancing is critical.