Transport-level transactions : simple consistency for complex scalable low-latency cloud applications