Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I use mainly PHP for web development, but recently, I started thinking about using Google App Engine. It doesn't use PHP which I am already familiar with, so there will be a steeper learning curve. Probably using Python/Django. But I think it maybe worthwhile. Some advantages I see:

  • Focus on App/Development. No need to setup/maintain server ... no more server configs
  • Scales automatically
  • Pay for what you use. Free for low usage
  • Reliable, it's Google after all

Some concerns though:

  • Does database with no joins pose a problem for those who used App Engine before?
  • Do I have to upload to Google just to test? Will it be slow compared to testing locally?

What are your thoughts and opinions? Why would you use or not use App Engine?

share|improve this question

closed as primarily opinion-based by MichaelT, Kilian Foth, Bart van Ingen Schenau, GlenH7, MainMa May 12 at 19:47

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

3 Answers 3

Be careful around thinking that it's reliable just because it's from Google. Computer systems do go down and GAE is no exception. One particular case is described here. The reason I post this article and not any of the other ones on the same subject is that it's describing recent problems, not something from a year or two ago.

Automatic scaling and pay for what you use models can also be problematic if your app gets popular quickly. Admittedly, for many that's not really an issue, but it is something to be aware of. You can't really tell people to not come to your site because you don't have the money to pay the bill that month.

Personally, I'd probably stay away from GAE (and cloud services in general) at this point. I haven't found server configuration to be particularly cumbersome in the past (and on a shared hosting account it's not really my problem anyway) and I like staying in control of my data. If I ever hit the point where I need the scaling capabilities of the cloud providers, then I'll look into it again. Till then... cheap common hosting is better.

share|improve this answer
    
Actually, you can set daily cost caps. So if you get slashdotted you won't go broke, though of course it will take your site down. You have this same problem with any hosting solution though: i.e. you cannot scale without $s and your website will completely fail under too much traffic. –  Jeremy Dec 7 '10 at 16:23
    
@Jeremy: Neat, didn't know about cost caps. You're absolutely right -- the scaling problem exists everywhere. I didn't mean to imply that it didn't apply to conventional hosting options, just wanted to point out that it's something to be especially aware of with cloud hosting (i.e. you have to set the cost caps vs the hosting company just cutting you off when you go over your plan's limits). –  Anna Lear Dec 7 '10 at 16:38
    
Anna, how are you in any more control of your data if it is on a 3rd party hosting site (whether Shared, VPS, etc)? It is still on their server. Also, what you have stated is no different then any site. If you can't pay the bills if your site "takes off" then you wouldn't really be able to afford the continuous monthly fee you would need with a non-cloud host to host the same site. –  Jetti Dec 7 '10 at 16:52
    
@Jetti I was talking about the cost potentially rising overnight if you forget or choose not to set the daily cost caps Jeremy mentioned. –  Anna Lear Dec 7 '10 at 18:05
add comment

To answer your questions:

1) The BigTable database is different from a relational database. You can still have references between objects. Its not just a relational database "without joins" - that would be broken - its a completely different kind of database system. It will have a learning curve and it is optimized for some use cases at the expense of others but I doubt you will find a use case it cannot solve for.

2) The SDK includes a local execution platform that is identical in interface and behavior. So no, you do not have to publish your app to test it locally.

share|improve this answer
add comment

I have thought about using it many times as it is a free, scalable solution up to a point. The problem I have is that, similar to you, I don't use/know the languages that are supported. I use C#/ASP.Net and so it is a problem for me.

Over the past few days I've thought of learning a JVM based language (Clojure has caught my fancy) and then going from there and using GAE but I have seen many posts on other forums that mention that depending on what you are looking for, a cheap VPS host can be better than GAE.

I will try to find those links but I believe they are at home, so I will add them when I find them.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.