I think for a good scaled architecture, the keys are: having at most ~30-50 developers, good planning by a few key architects, controlling what's in your database with an iron fist, knowing exactly which bits of data are where and what they are used for, and having strict codebase standards.
However, to really be successful in the goals above, the business needs to support a rigorous software process. Normally, this is where things fall apart, since business people and sales people (who are otherwise great people) will push you to work faster and cut corners to get things done. In the end, they also pay the bills, so if the business isn't run by people who understand why software development has to be strict, then you get sloppy software processes.