1) You want to move static data off your system onto another site like s3.
2) You want to do whatever you can async. ie. if somebody shares data, you don't have to make it available immediately. Just place it in a queue and have a second system go through and deal with it.