Distributed Systems: Computation With a Million Friends