I’ve been writing some Google App Engine code lately and while the framework is very compelling and has many great features (e.g. task queues) it also has its shortcomings. The ones that bother me most are:
- No shared memory among instances. I even wrote a StackOverflow question about it to see whether I was missing something. The only way to emulate memory that will last for the entire lifetime of your instances is to purchase a backend instance for a minimum of 58$/month.
Why is this so important to me? Because I want to store a cryptographic key safely and in a way that even if someone has access to my computer, my Google account or my code, they will still need another piece of data that is either in my head or stored safely someplace else (think bank vault.) I do not want to persist the key in a data store.
- No https for custom domains. If you’re writing a website that requires a secure https connection, then essentially you are limited to https://yourapp.appspot.com. You can’t use your own domain name. I read somewhere that it’s on Google’s todo list for App Engine, but Google never states when they’re going to actually implement things, which is a shame.
UPDATE: SSL for custom domains is available now. Make sure you consider the pricing if you’re going to use this option.
- Outgoing emails cannot be signed. This practically prevents use of App Engine’s outgoing email feature, since emails that are not signed with DKIM these days will probably go into the spam folder of major email providers. To circumvent this I use task queues (for rate control) and Amazon SES, which works OK but requires a lot of code to be written instead of the few lines it would have taken if Google provided proper facilities for signing emails.
UPDATE (29-Feb-2012): Signing with DKIM seems to be enabled now. I haven’t tested it myself. The issue was opened nearly 2 years ago. I’m surprised it took so long as I consider sending emails from a web service a pretty basic thing.
Re: 2. No https for custom domains
It is currently being tested, see the following announcement:
http://googleappengine.blogspot.com/2011/10/app-engine-ssl-for-custom-domains-in.html
Re: 3 .Outgoing emails cannot be signed
Consider starring the following feature request:
http://code.google.com/p/googleappengine/issues/detail?id=3161
Thanks a lot!
It’s great to know that https for custom domains is on the way. I wish Google would say about their upcoming products _when_ they will be available. For example, that post you sent me to is nearly 4 months old. When they wrote it, did you expect it to take 4 months to become available (considering that they started testing it at the time?)
I already have the feature request about DKIM starred :) But now that I have a solid implementation with Amazon SES and task queues, it’s low on my priority list.
Thanks again