Hi Jeff thanks for heads up.
I one of the "early java gae adopters" and it really makes me sad to see how google kills quite awesome platform with such decisions - I went through simple servlet app to full scale Spring MVC (with all usual stuff like ehcache/velocity/others) and after major disappointment last year with cold starts and startup issues on GAE (Spring MVC simply didn't load in 60s interval sometimes, google was spinning/killing instance in couple of seconds) I ended up with this solution for http://www.librarist.com/: 1) I run Web frontend on Appfog (Spring MVC with Rest/Velocity/Ehache) - this piece is responsible for fetching all data from backend and caching them for user 2) REST backend runs on App engine - this part is done in multiple separate app engine application and it's build on own hacked spring-like minimal container which allow me to do some very simple DI/MVC/REST+JSON (configured in old good XML, no anotations no AOP) - cold start is usually 4-5 secs and the app is fully serving then. As I said I have split all the app "modules" into separate applications which reduces number of request per app (so some apps with longer runnign request doesn't hold back app with faster requests). - cover app for fetching and displaying book covers - book data app for fetching/storing all book related information - pricing app which operates with external grabbers (grabbers run in parallel in different cloud providers aka Heroku/Appengine/Appfog/Openshif and I'm going to experiment with Amazon spot instances as well) I've done this infrastructure change 2-3 months ago and as far as I can say it works fine (I'm having minimal latency in all of my app engine apps, usually run only one instance but google handles scaling very nicely now). I'm not saying this is the only way to go since I know such design is not suit for every kind of application and our weak spot is now at frontend cloud provider (which is appfog at the moment and seems little bit unstable last couple of days) but I just would like to share my experience. If anyone would like to see how the librarist works the good start would be the New Zealand front store (with 30+ suppliers) ie. http://www.librarist.com/nz/book/9780007310579/ - it usually does an instant price comparison on those 30+ shops in 2-4 secs (and I believe that now we should be able to keep such time even with more suppliers thanks to modular and parallel design of our backend). Best regards Tomas. On Thursday, 16 May 2013 11:52:51 UTC+12, Jeff Schnitzer wrote: > > I attended the "Autoscaling Java" session at Google I/O. In summary, the > advice is: > > * Don't use dependency injection. > * Don't use AOP. > * Hardcode configuration values as much as possible. > > In other words, go back to Java circa 2002. There was no discussion of > changing routing so that user requests don't see cold starts. I asked about > this in person - apparently they're still "talking about it" and nothing > has been done about it. > > I am sad. > > Jeff > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.