gaeshi vs appengine-magic
Hi,
Just had a peep at gaeshi and was wondering how does it compare to appenginine-magic, the other leiningen plug for GAE.
Thanks, Murtaza
Murtaza,
I can tell you that I started with appengine-magic. My frustrations drove me stop using it and start building Gaeshi.
I find Gaeshi much more pleasant to use and I'm proud to say it's fully tested. And it provides Speclj helpers to make client apps fully testable.
That said, app engine-magic probably has better documentation. Although if you have questions about gaeshi, I'd be happy to answer.
Micah
On Jul 18, 2012, at 11:17 PM, Murtaza Husain wrote:
Hi,
Just had a peep at gaeshi and was wondering how does it compare to appenginine-magic, the other leiningen plug for GAE.
Thanks, Murtaza
Reply to this email directly or view it on GitHub: https://github.com/slagyr/gaeshi/issues/5
Micah,
Thanks for your reply.
Two general questions about your experience with app engine -
-
The JVM usually gets unloaded when the app has not been requested for a certain time span, this leads to horrible starting times for the next user who requests the app. How have you dealt with this?
-
My app is complete cljs, and when I hosted it on Heroku, I found that the static serving was very bad, and was leading to an unusable experience. Thus I switched to a custom ubuntu server on EC2 with nginx in the front. So how do you deal with serving of static files ?
The above are the two things I havent jumped in GAE with clojure. What has been your experience ?
Thanks, Murtaza
On Thu, Jul 19, 2012 at 8:30 PM, Micah Martin < [email protected]
wrote:
Murtaza,
I can tell you that I started with appengine-magic. My frustrations drove me stop using it and start building Gaeshi.
I find Gaeshi much more pleasant to use and I'm proud to say it's fully tested. And it provides Speclj helpers to make client apps fully testable.
That said, app engine-magic probably has better documentation. Although if you have questions about gaeshi, I'd be happy to answer.
Micah
On Jul 18, 2012, at 11:17 PM, Murtaza Husain wrote:
Hi,
Just had a peep at gaeshi and was wondering how does it compare to appenginine-magic, the other leiningen plug for GAE.
Thanks, Murtaza
Reply to this email directly or view it on GitHub: https://github.com/slagyr/gaeshi/issues/5
Reply to this email directly or view it on GitHub: https://github.com/slagyr/gaeshi/issues/5#issuecomment-7100645
Murtaza,
Answers below.
On Jul 19, 2012, at 10:31 PM, Murtaza Husain wrote:
Micah,
Thanks for your reply.
My pleasure/
Two general questions about your experience with app engine -
- The JVM usually gets unloaded when the app has not been requested for a certain time span, this leads to horrible starting times for the next user who requests the app. How have you dealt with this?
GAE provide a setting to keep 3 instances alive at all times. You have to pay for this but it's fairly inexpensive.
- My app is complete cljs, and when I hosted it on Heroku, I found that the static serving was very bad, and was leading to an unusable experience. Thus I switched to a custom ubuntu server on EC2 with nginx in the front. So how do you deal with serving of static files ?
GAE takes care of this. I believe it take all the static file in your deployed app and serves them from a CDN. A tiny problem here is that when you redeploy an app, the js, css, etc often take a while to update. I'm sure there are way to prevent that.
The above are the two things I havent jumped in GAE with clojure. What has been your experience ?
GAE is both great and annoying. For cleancoders.com, it's been great. GAE provide all the services I need with almost no configuration: database, email, blobs, background jobs… And it scales as needed. When we release a new video, multiple instance spin up to handle the traffic and I don't have to lift a finger. It's great!
For other sites, GAE is a pain in the rear. For example, GAE has a black list of java classes. One app we had on GAE required a blacklisted class…. so we had to move it to Heroku. That was aggravating. And the hard limits on request time, response size, query size, indexes, etc can be frustrating.
So it's a tough call where to put your app. We used GAE, Heroku, and EC2 for clojure apps. It really depends on the situation.
Micah
Thanks Micah. So it seems GAE is your first choice. So based on what circumstance would you go for not deploy on GAE. You mentioned one of those
- blacklisted java class.
Also on what instances will you actually prefer either EC2 or Heroku, I mean based on your experience why have you deployed apps on them over GAE?
On Fri, Jul 20, 2012 at 9:54 AM, Micah Martin < [email protected]
wrote:
Murtaza,
Answers below.
On Jul 19, 2012, at 10:31 PM, Murtaza Husain wrote:
Micah,
Thanks for your reply.
My pleasure/
Two general questions about your experience with app engine -
- The JVM usually gets unloaded when the app has not been requested for a certain time span, this leads to horrible starting times for the next user who requests the app. How have you dealt with this?
GAE provide a setting to keep 3 instances alive at all times. You have to pay for this but it's fairly inexpensive.
- My app is complete cljs, and when I hosted it on Heroku, I found that the static serving was very bad, and was leading to an unusable experience. Thus I switched to a custom ubuntu server on EC2 with nginx in the front. So how do you deal with serving of static files ?
GAE takes care of this. I believe it take all the static file in your deployed app and serves them from a CDN. A tiny problem here is that when you redeploy an app, the js, css, etc often take a while to update. I'm sure there are way to prevent that.
The above are the two things I havent jumped in GAE with clojure. What has been your experience ?
GAE is both great and annoying. For cleancoders.com, it's been great. GAE provide all the services I need with almost no configuration: database, email, blobs, background jobs… And it scales as needed. When we release a new video, multiple instance spin up to handle the traffic and I don't have to lift a finger. It's great!
For other sites, GAE is a pain in the rear. For example, GAE has a black list of java classes. One app we had on GAE required a blacklisted class…. so we had to move it to Heroku. That was aggravating. And the hard limits on request time, response size, query size, indexes, etc can be frustrating.
So it's a tough call where to put your app. We used GAE, Heroku, and EC2 for clojure apps. It really depends on the situation.
Micah
Reply to this email directly or view it on GitHub: https://github.com/slagyr/gaeshi/issues/5#issuecomment-7122074
On Jul 19, 2012, at 11:29 PM, Murtaza Husain wrote:
Thanks Micah. So it seems GAE is your first choice. So based on what circumstance would you go for not deploy on GAE. You mentioned one of those
- blacklisted java class.
I suppose I wouldn't use GAE if my app required many third party tools or technologies. The GAE environment is pretty well locked down.
Also on what instances will you actually prefer either EC2 or Heroku, I mean based on your experience why have you deployed apps on them over GAE?
Well, the super simple app like speclj.com and joodoweb.com go on Heroku. Large, multi-component systems we tend to put on AWS.
Micah
Thanks Micah. Appreciate your responses.
On Fri, Jul 20, 2012 at 5:21 PM, Micah Martin < [email protected]
wrote:
On Jul 19, 2012, at 11:29 PM, Murtaza Husain wrote:
Thanks Micah. So it seems GAE is your first choice. So based on what circumstance would you go for not deploy on GAE. You mentioned one of those
- blacklisted java class.
I suppose I wouldn't use GAE if my app required many third party tools or technologies. The GAE environment is pretty well locked down.
Also on what instances will you actually prefer either EC2 or Heroku, I mean based on your experience why have you deployed apps on them over GAE?
Well, the super simple app like speclj.com and joodoweb.com go on Heroku. Large, multi-component systems we tend to put on AWS.
Micah
Reply to this email directly or view it on GitHub: https://github.com/slagyr/gaeshi/issues/5#issuecomment-7128392
Does Gaeshi provide any wrappers around GAE APIs? Or should be invoke them directly as Java methods from clojure code?
Yes. Gaeshi provides wrappers for the following API's:
Datastore: https://github.com/slagyr/gaeshi/blob/master/gaeshi/src/gaeshi/datastore.clj Blobstore: https://github.com/slagyr/gaeshi/blob/master/gaeshi/src/gaeshi/blobstore.clj Transactional Email: https://github.com/slagyr/gaeshi/blob/master/gaeshi/src/gaeshi/mail.clj Google User Accounts: https://github.com/slagyr/gaeshi/blob/master/gaeshi/src/gaeshi/users.clj
Micah
On Aug 1, 2012, at 7:08 PM, jmkao wrote:
Does Gaeshi provide any wrappers around GAE APIs? Or should be invoke them directly as Java methods from clojure code?
Reply to this email directly or view it on GitHub: https://github.com/slagyr/gaeshi/issues/5#issuecomment-7433285
Hi Micah, do you have plans to implement other API's like Task Queues, Channels, Backends?
Or i just can add appengine-magic to my gaeshi project for those?
Kisai,
Unless someone takes over Gaeshi, I'm going to let it die. Google AppEngine has been too frustrating and I've moved all my sites over to Amazon's AWS. Gaeshi's parent project Joodo will live on and has been consistently updated.
Micah
On Feb 5, 2013, at 5:09 AM, kisai 〈鬼才〉 [email protected] wrote:
Hi Micah, do you have plans to implement other API's like Task Queues, Channels, Backends?
Or i just can add appengine-magic to my gaeshi project for those?
— Reply to this email directly or view it on GitHub.
Why is frustraiting?