If you are going to run a large number of EC2 instances, then there will be less effort to force them to synchronize themselves from a central location (i.e. synchronize with a private bucket, synchronize server applications from this bucket).
HOWEVER, find out that updates to the S3 bucket are atomic only at the object level and, more importantly, are not guaranteed to be immediately consistent (although I remember seeing a recent note that the us-west endpoint offers read-write-consistency )
This means that your server applications can upload a set of new files that are internally inconsistent - some of them will be old and some will be new. If this is a problem for you, you should implement a scheme that is downloaded directly to the application server and ensures consistency of changes (perhaps by downloading to a temporary directory, which is then renamed).
kdgregory
source share