As many parts of the program as possible should be written for parallelization, allowing them to be run at scale. This parallelization should also be modular, allowing for use of different methods (Threads locally, Task Queue on GAE for example).