Jeff,

You seem to give up on App Engine...

I feel disappointed that Google advises not to use DI, hardcode configs etc 
to speed up the startup times.
It feels like going back to the middle ages of Java software development.

Until now I have only deployed apps being used by a couple of users. So I 
keep the warm with a cron job; only 1 instance is enough (and it never 
shuts down).
This also means for these apps I don't bother about the startup time.

But if I would build a scalable app which would spin up multiple instances 
based on current load, startup times do become important.
And in that case 10s or 30s is no difference, it should be max 5s or 
something...

I just uploaded a basic Jersey app without DI and no classpath scanning.
With 1 simple rest resource startup time was 16.9s :-(

^M



On Thursday, May 16, 2013 6:14:20 PM UTC+2, Jeff Schnitzer wrote:
>
> No, I'm not "overrating" with my subject. Your ill-educated opinion about 
> DI is not shared by the countless Java developers who find these tools 
> essential for building large, complicated, testable applications.
>
> The apparent reasoning behind those points is that Google still thinks 
> "startup time is your problem", and routes user requests to cold starts. 
> This works in Go but it will never work in Java. The last time I made a 
> Hello, World app with JPA it took 4-5 seconds to startup in production. 
> Somewhere around 5 seconds is where the user thinks your app is broken and 
> hits the reload button.  If Google Search pages took 5 seconds to load for 
> a significant percentage of users, heads would roll.
>
> If your app actually _does something_ it's going to take more than 5s to 
> load. Maybe you can make it 10s instead of 30s by adopting 2000s-era 
> programming practices, but it doesn't matter because the user has already 
> considered your app broken.
>
> And don't get me started on the frequent "sick periods" where startup time 
> goes up by 3X...
>
> Jeff
>
>
>
> On Thu, May 16, 2013 at 9:22 AM, de Witte <wd.de...@gmail.com<javascript:>
> > wrote:
>
>> Aren't you a bit overrating with your subject title?
>>
>> Dependency injection a la guice and spring, are frameworks which you want 
>> to avoid as much as possible.
>>
>>
>> Op donderdag 16 mei 2013 01:52:51 UTC+2 schreef Jeff Schnitzer het 
>> volgende:
>>
>>> 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.


Reply via email to