Part 3 -- Writing Cluster-Aware Applications