It makes the code much more maintainable. Adding or removing components becomes trivial and makes it much easier to deploy this solution to multiple servers. Use as few 3rd party utilities as possible (this really only uses s3cmd). Encrypt the data, especially since it will be off-site.