I doubt that Google will commit to any official statement. So here's my 2 cents, from a low-usage, rather complex B2B application. "Frameworks are okay, to a certain degree, but be prepared to rework if you're successful"
We're using one heavy framework (Apache Wicket) and plenty of the regular libs and frameworks like JodaTime, Objectify, OpenID, LessCss (which depends on Rhino), Bouncy Castle etc. It's not a super-heavy app, but it's not trivial anymore either. We had to make certain modifications to make things work fine on GAE, conduct some profiling, etc, but mostly we're just writing business logic. I guess we would have had to spend some time on any platform we chose, no matter if on AWS, or Heroku, or anything else. Most of the issues we encountered were quite obvious right from the start. (Most notably, Wicket is really not that suited for GAE, but it made feature-development super-fast, so we kept it.) Some other issues only started appearing after switching to the HR datastore, but since that's the default these days, you'll probably encounter those issues right away as well. So I'd recommend you write a prototype, cram in as much of the technology you want to, and keep it running for a couple of days or weeks. Make sure you're mostly happy with performance and startup time. There are times when GAE behaves oddly and is 2-3 times slower than normal. Memcaches is usually super-reliable, until it some day isn't. So, you need to expect the unexpected, and optimise your requests so they are always reasonably fast. We aim for 500ms or less, so on a bad day if a request takes 2 or even 4 seconds, our clients may be unhappy, but not rioting. A request that's typically taking 2 seconds is too slow though (IMO). If your prototype has that kind of performance, rethink it. If you're happy with the prototype and want to move forward, I'd suggest also spending some time ensuring your service and database layers have clean interfaces. I never had to move away from GAE yet, but the recent Memcache issues had me very worried and looking for alternatives. Email, Cron, Memcache, Deploy-scripts, etc are great, but these are the things you can probably rework in a couple of weeks, even later on, especially since you can split the work between your team to a certain extent. But if the entire application (and not just a db-layer) was strongly dependent on GAE specifics, you might find it hard to port it over. There are times when things change, and then I'm happy we don't have sudden load spikes, but that thanks to a sales process that takes weeks, we know what's coming. If we see a certain part of the application is slower than it should be, we spend a couple of days improving it. That's something that simply doesn't work in Consumer apps. If you're getting featured, and it's your once-in-a-lifetime, then you probably have to heed Brandon's wise words and optimise (very) early, and not rely on frameworks, But if it's a normal B2B application, I think you can use a framework or two. Just make sure you test it with a prototype, yadda yadda etc. If you're super-successful, you'll hopefully make enough money in B2B-land, so you can afford paying someone to drop a framework that helped you kickstart your project faster. That's my strategy at least :) Cheers Per On Sunday, July 22, 2012 11:32:41 AM UTC+2, glimmung wrote: > > Hi All, > > I've been reading, initially with amusement but more recently with > concern, the "dialogue" (for want of a better word) between Brandom Wirtz > and Jeff Schnitzer re. startup time/optimisation. Brandom has now made > the following very strong statement: "NO FRAMEWORKS. NONE. Deal with it." > > This leads me to ask the Google team for their position on this: Is it > your position that GAE is an unsuitable platform for framework-driven apps? > > I'm using a framework, and trust the framework's authors to optimise their > part of the piece as much as possible, but I'm paid to solve business > problems, and am not about to dive into that timesink of esoterica. It's > outside my skill-set, and properly so in my view. I've only really tinkered > with GAE so far, and this is putting me off investing more time in what is > starting to look like a risky platform for me. > > So Google peeps, if I want to write B2B apps using a framework, am I your > market or not? > > Or is it your position that the low-level optimisation to balance start-up > time and hosting cost will always be required? > > > -- > > Cheers, > > PhilK > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OX-pCOHb8qYJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.