Amazon Web Services or Google App Engine for iPhone App Backend???

Discussion in 'iOS Programming' started by JessieLocks, Aug 31, 2011.

  1. JessieLocks macrumors newbie

    Aug 31, 2011
    I need some advice from developers that have built iPhone apps using either Amazon Web Services or Google App Engine as the backend. My app is quiz based with the user downloading content from the server...but I don't know which cloud based server to choose!! Is Google App Engine better or one of the products from the Amazon Web Services suite? If so, which Amazon based server would I need? I'll be hiring an external developer to build the app but was hoping for some impartial advice from forum users....

    Thanks! :confused:
  2. chown33 macrumors 604

    Aug 9, 2009
    Sailing beyond the sunset
    If the backend is primarily or exclusively for providing downloadable content, then Amazon's S3 is simple to use. S3 is simply a storage service, hence its name: Simple Storage Service (S3). With a storage service, you upload files, you download files. That's it.

    You can arrange for uploaded files to be made available to others, either the general public or only specific recipients. Public visibility is simple: anyone can get the file if they know the URL. I assume public visibility is what you want.

    Several Mac programs allow you to upload to S3. I use CyberDuck.

    The way I upload files for public access is I tell CyberDuck to preserve the original file's permissions when it uploads to S3. I give the file on my Mac public-read access. Then I drag-and-drop the file (or an entire folder) to CyberDuck's window. It does all the uploading and permission handling.

    To test public accessibility, I use Safari or another web browser, and paste the S3 URL into its URL bar. If the permissions are right on S3, I see the file. If not, I see an error message.

    Here's a simple HTML page and Java applet I uploaded last month as a test for a thread in Mac Programming:

    I made the files on my Mac and tested them there. Then I simply dragged them to CyberDuck and copied the URL of the HTML file.

    S3 billing is by the gigabyte-month for storage used, plus 1 cent for each 10k GET requests (which is what your downloaders will be using), plus more for PUT requests (what an upload uses). Look at the AWS billing page.

    It's not hard to setup an S3 account with a credit card. You can then experiment with CyberDuck (or other programs) doing uploads and public downloads and see what happens. If you stay under the 10k GET limit and 1 GB / month, your bill for a month will be a few pennies.

    Google App Engine is not primarily a storage service. It's an app-running service. First, you must write a server-side program to run on it. If you're not already a programmer, that's a significant hurdle. Second, you must deploy that program to the service and manage it there. Then you use the URL to run the program, and it acts like a servlet or CGI, giving a response.

    The program has access to some storage, but it's relatively limited in size. Not nearly as large or inexpensive as S3, which isn't surprising since Google App Engine is an app-running service, not a storage service.

    Amazon's roughly equivalent app-running service is called EC2, but it's not exactly equivalent. You should read up on it if you might want to use it. Again, if you're not a programmer with some skills at setting up and using command-line tools, you'll have a significant initial hurdle to overcome.

Share This Page