Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Backend server provider for mobile apps [closed]

Tags:

I need a backend server for my mobile app - I need to be able to write server side logic so I don't need to download the entire database. I'm using JavaScript + HTML5 for mobile apps.

Are Amazon EC2 or Google App Engine able to do that? Are there any other options?

like image 338
Ethan Long Avatar asked Apr 12 '12 03:04

Ethan Long


1 Answers

Full disclosure: I work for Google on AppEngine, but I'm trying to be impartial. I should also note (as always) that I'm giving my own opinions, not the company's.

In theory, there's no reason why you really need to use a backend service provider of any kind. You can wire up a server with a static IP address and a domain name anywhere you want. In practice, nobody wants to deal with the hassle of doing all this stuff yourself.

On the other hand, you have another question to answer: what does hassle elimination cost? Experience has taught me that the cost is usually lack of control. To make the least amount of hassle possible, you have to save people from making choices. Having fewer choices means you have less control.

So the question to answer is: How much control do you need, and how much hassle are you willing to deal with?

If you need a high level of control, and are willing to deal with a high amount of hassle, you probably want the "box with a static IP" option.

AWS reduces some of the hassle of getting boxen set up, but reduces your control over the hardware your software runs in. This is almost certainly acceptable to you unless you have very odd hardware requirements.

Google App Engine removes the hassle of having to configure software, but reduces your control over the software stack your software will run with. Do you have any special software requirements? For example, do you specifically need to run on a certain version of Linux? Do you need to have a special requirement to use say Redis rather than just a memcache/database combination? If not, then this is probably acceptable to you as well.

Most of the Backend as a Service providers remove the hassle of writing a backend altogether, but at the cost of removing your control over the backend. Are the supported authentication methods good enough for you? Does the backend allow you to access your data exactly as you need? If so, this is probably acceptable to you.

Now, here's where my impartiality ends. Personally, I feel that App Engine is at a sweet spot. It gives you enough control without making you manage every detail of your application. If you need more control, I'd suggest looking at AWS. If you want your backend written for you automagically and can handle having less control, I'd suggest looking at BaaS.

like image 122
Jason Baker Avatar answered Oct 20 '22 15:10

Jason Baker