There are two mechanisms helping keep search up when considering ads:
-> Search engine pages can be served w/ no ads, or even no personalization if components are down or lagging
-> Ad logs can be lost if necessary, since we'd under-bill in that case, which would be our own problem. That happened a small handful of times while I was there.
The billing system is indeed transactional, but has less need for 100% up-time and 0 latency in comparison to search. Not nearly as big of a deal if there's an hour delay on billing ads as compared to search being down for an hour.
It annoys me a lot that Google doesn't use the "real" URL in their search result links.
Although I'm not sure if this is what stack exchange actually uses or if there's some private API for big partners.
For example, if you type a search in the homepage or address bar, you start getting suggestions instantaneously. Think about this... if Google decided to only give you suggestions every second keypress, or every third keypress, would you really notice?