I am migrating my Java,Tomcat, MySQL server to AWS EC2.
I have already attached an EBS volume for storing MySQL data. In my web application, people may upload images, which I should persist.
There are two alternatives in my mind:
- Save uploaded images to the EBS volume.
- Use the S3 service.
The followings are my notes, please be skeptical about them, as my expertise is not in servers, but in software development.
EBS plus: S3 storage is more expensive. (0.15 $/Gb > 0.1$/Gb)
S3 plus: Serving static files from EBS may influence my web server's performance negatively. Is this true? Does serving images affect a server performance notably? For S3, my server will not be responsible for serving static files.
S3 plus: Serving static files from EBS may result in I/O cost, though it will probably be minor.
EBS plus: People say EBS is faster.
S3 plus: People say S3 is safer for persistence.
EBS plus: There is no need to learn an API: it is straightforward to save the images to an EBS volume.
I can not decide, and am asking for guidance.