Nice writeup. We've been using Streak to manage our sales process and we're pretty happy with it - by putting the CRM in email (rather than the other way 'round) it is much, much closer to the "natural" way we work.
I'm consistently surprised that Google App Engine doesn't get more pickup among the HN community. No, it's not perfect, but it lets you build and scale a system with almost zero attention to ops. Lockin? Most startups fail because they never achieve product/market fit, not because they are unhappy with their hosting provider. Less ops means more time making features.
FWIW, App Engine went through quite long periods (as in, well over a few months at a stretch) of serious scalability problems: the latency was enormous, and even by Google's own reporting standards (they had websites you could use to monitor the environment) everything was coming up red; it got so bad once that they stopped charging for the service for a while (not a day, but a couple months) until they could get it remotely operational again.
I really do not get the impression that the people on the App Engine product mailing lists actually feel like they are able to spend less time on operations, and there are numerous alternatives that let you use more standardized stacks to get similar benefits, especially if you are serving less than a few tens of millions of users (which, honestly, it is not clear App Engine would handle in practice anyway, even though in theory it would work great).
Streak co-founder here - yes, we're very surprised more startups don't use AppEngine. We think its mostly because it isn't noted as sexy.
We've been on AppEngine for under a year and its been great. Its been much more stable since the HRD (high replication datastore) launch and the SLA was made available. We rarely think about how we'll scale some feature or our app - we've moved from megabytes of data to terabyte scale without many changes at all.
Even though App Engine's features seem nice on paper, and they have relatively decent documentation, I won't use them because I'm afraid that I'll have to contact customer service at some point.
My experience so far with Google is that if something is broken you can post to a newsgroup with the hopes that someone will read it and take action eventually, make enough stink that your story gets to the frontpage of HN or reddit, or know someone with pull at Google.
I'd much rather spend the time up front to build a solution that doesn't require good luck to get support than to gather the ops savings from going with GAE.
My biggest complaint with google appengine is that they don't send you an email when you start reaching your usage quotas. I hope someone from AppEngine sees this. Otherwise it's been great. ;)
App Engine Magic (https://github.com/gcv/appengine-magic) is a library that makes it easier to use GAE with Clojure, but it hasn't been updated since GAE SDK 1.6.3.1.
There is also gaeshi (https://github.com/slagyr/gaeshi), which is a newer GAE library for Clojure that's a little easier to work with, but it doesn't have much documentation or cover all the services.
Does anyone have experience on how using Clojure on App Engine plays out in practice and any advice on which path to take?
[+] [-] stickfigure|13 years ago|reply
I'm consistently surprised that Google App Engine doesn't get more pickup among the HN community. No, it's not perfect, but it lets you build and scale a system with almost zero attention to ops. Lockin? Most startups fail because they never achieve product/market fit, not because they are unhappy with their hosting provider. Less ops means more time making features.
[+] [-] saurik|13 years ago|reply
I really do not get the impression that the people on the App Engine product mailing lists actually feel like they are able to spend less time on operations, and there are numerous alternatives that let you use more standardized stacks to get similar benefits, especially if you are serving less than a few tens of millions of users (which, honestly, it is not clear App Engine would handle in practice anyway, even though in theory it would work great).
[+] [-] alooPotato|13 years ago|reply
We've been on AppEngine for under a year and its been great. Its been much more stable since the HRD (high replication datastore) launch and the SLA was made available. We rarely think about how we'll scale some feature or our app - we've moved from megabytes of data to terabyte scale without many changes at all.
[+] [-] icey|13 years ago|reply
My experience so far with Google is that if something is broken you can post to a newsgroup with the hopes that someone will read it and take action eventually, make enough stink that your story gets to the frontpage of HN or reddit, or know someone with pull at Google.
I'd much rather spend the time up front to build a solution that doesn't require good luck to get support than to gather the ops savings from going with GAE.
[+] [-] robertp|13 years ago|reply
[+] [-] savrajsingh|13 years ago|reply
[+] [-] espeed|13 years ago|reply
For example, in a recent blog post, Adrian Mouat said that App Engine doesn't support Clojure concurrency, such as agents (http://www.adrianmouat.com/bit-bucket/2012/08/clojure-and-go...). However, GAE Java supports threads as of the App Engine 1.6.4 release (http://code.google.com/p/googleappengine/wiki/SdkForJavaRele...).
Is the Clojure concurrency model fully supported on App Engine? (http://stackoverflow.com/questions/12772824/is-clojure-concu...)
App Engine Magic (https://github.com/gcv/appengine-magic) is a library that makes it easier to use GAE with Clojure, but it hasn't been updated since GAE SDK 1.6.3.1.
There is also gaeshi (https://github.com/slagyr/gaeshi), which is a newer GAE library for Clojure that's a little easier to work with, but it doesn't have much documentation or cover all the services.
Does anyone have experience on how using Clojure on App Engine plays out in practice and any advice on which path to take?