How to Build Scalable and Robust Architectures