Frage

I'm in the process of developing an Android (just Android for now, maybe iOS later) app which relies heavily on taking pictures, storing those pictures on a server somewhere, and being able to retrieve any picture whenever a user needs it which will be very often.

The problem I'm fearing before even getting that far into the coding is how I'm going to cost-effectively store all of these pictures on a server. If the app were a success there could potentially be hundreds of gigabytes of images being stored and many users requesting 1 picture at a time each.

So I'm wondering what approach I should take. It seems to me my options are either use a web host or use some cloud computing/storage service. I think hosts might be out of the question because I don't think a host would support that amount of storage. That leaves me with cloud computing.

I've looked into GAE and AWS. AWS seems like the best approach because I could use S3 to store my images and then RDS to store information for each user in a relational database. I know next to nothing about server stuff, so I don't really know what all I should use in the AWS setup. I know I need S3 and I know I need a relational database, that's all. So what features exactly would I need?

Or does anyone know a better approach all together I should take?

Also, in Android is compressing images an option so they won't take up as much space on the server? Is the quality affected a lot?

War es hilfreich?

Lösung

I have used AWS for storing images uploaded from Android devices. What I did was to upload the images directly to s3 using AWS Android SDK and then keep records in database of the keys/paths where each user uploaded his images. This approach has the advantage that you don't use your server (for example EC2) for the image uploading, leaving you server available for other tasks.

If you are going to use AWS I think you will need at least the following services:

S3: for storing the images.

EC2: For deploying your server code.

RDS: For your database (assuming you are using a relational database)

There are a lot of tutorials out there about uploading files to s3. http://aws.amazon.com/articles/3002109349624271

You can estimate costs using Amazon's calculator

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top