Google I/O 2013 - Autoscaling Java

Google for Developers · 33K views · 2013 · 41:34

Open on YouTube

Cloud, DevOps & reliabilitySoftware performance & optimizationSoftware architecture & designtalkdated

Why Stack Overflow recommends it

Stack Overflow users link it when answering questions about App Engine performance, slow startup, load testing, and whether Spring features like autowiring or AOP suit the App Engine runtime.

Recommended by 3 people across 3 different months, 2013 to 2015.

What it is

A Google I/O 2013 session by Matt Stephenson on building Java applications that behave well under App Engine's autoscaling. It covers common Java anti-patterns that hurt autoscaling, such as heavy classpath scanning and slow startup, and how App Engine decides when to scale instances up and down.

What people said

Recommends user1980175 · 2013-08 · Stack Overflow · on “App Engine Load Testing”

From my understanding, the two concepts you are trying to address/test are different. If you want to test page functionality, whether driven by CSV or previous recordings, try something like selenium [LINK] . If you want to test how your application behaves under strain use JMeter. Have a look at this video [this video] from Google I/O 2013 where Matt Stephenson shows how he used it.

Recommends Michaël Técourt · 2014-04 · Stack Overflow · on “Spring MVC annotation with XML performance”

The difference is not between using Annotation or XML, it's between Autowiring and "manually injecting beans". EDIT : @Autowired and XML component scan are doing the same thing. You can "manually inject" beans with both XML and full Java @Configuration, the equivalent of your example would be : @Configuration public class WebAppConfig { @Bean public UserDao userDao() { return new UserDao(); } @Bean public UserController userController() { UserController ctrl = new UserController(); ctrl.setUserDao(userDao()); return ctrl; } } The question is quite accurate because the App Engine team itself has revealed that the App Engine runtime was bad at classpath scanning (which Autowiring does to find

Recommends Dominykas Mostauskis · 2015-08 · Stack Overflow · on “Google App engine + Spring = slow startup?”

I recommend this Google I/O talk by Matt Stephenson [this video] . It discusses how App Engine differs from old fashioned server environments, what that entails, and what patterns you should be aware of.

Cites Michaël Técourt · 2014-01 · Stack Overflow · on “Using Spring AOP on App Engine causes StackOverflowError”

Now I remember this video that I watched not so long ago, that basically discourages GAE users from using AOP (and other Spring features) by saying that it's not efficient on the App Engine runtime : [this video] ... I didn't know it meant that it would crash

Cites Martin Berends · 2014-03 · Stack Overflow · on “Does GAE support Spring-mvc and internal (to GAE) & external RESTFul web services calls”

AppEngine definitely supports RESTful web services using merely servlets and the low level APIs. Frameworks are layers of abstraction on top of the same low level services. Unfortunately some frameworks fail to provide the full functionality available below because they aim for generality. Frameworks sometimes add their own inefficiencies, for example the excellent Autoscaling Java at Google IO 2013 [this video] presentation shows problems caused by Spring being used badly. Searching StackOverflow for [google-app-engine] Spring MVC shows many references to working applications. For example, you might pick up useful keywords from StackOverflow questions here [LINK] and here [LINK] .

Cites Michaël Técourt · 2014-03 · Stack Overflow · on “Using Spring AOP on App Engine causes StackOverflowError”

And check out this video, the GAE developer gets picked on by a Spring guy about this kind of matter : [this video]