The latest expert opinions, articles, and guides for the Java professional.

Survey: How do you update your Java EE app in production?

Our CTO, Jevgeni Kabanov, is running a survey on app updates in production. Help him finish his PhD and us to understand better what is going on by taking 5 minutes and answering the 14-question survey. Here’s what he writes about it:


Hi guys! My name is Jevgeni Kabanov and I’m a computer scientist/hackerpreneur. Recently I’ve been trying to figure out what is happening in the world of Java EE production deployment and frankly it seems pretty scary. After speaking to over a 100 people these are my hypotheses:

  • Nobody uses redeployment in production (as in the actual button that does in-server update). It just isn’t reliable enough due to OutOfMemoryError-s and other failures.
  • The common way to update an application is to:
    • Take all servers down at 2am and hope no one is using it.
    • Take servers down one at a time, upgrade them and either drop or migrate the user sessions.
    • Use weird hacks like copying one file at a time.

I’m also trying to find out how the update process happens, how hard it is and what does it cost in human measure (hours) and in soulless business measure (dollars).

I ask you to help me out and provide me with some semi-solid data I can use to better understand what’s going on in reality. Hopefully you’ll prove me wrong. Afterwards, I’ll make all the data I’ve collected publicly available.

Share your information here

The survey is completely anonymous and the email will only be used to send you the results.

So, please go ahead and fill in the answers. If you have any questions, let me know at

Responses (2)

  1. Avatar  

    Dan Howard

    April 27, 2011 @ 1:27 pm

    We deploy exploded class files instead of a WAR. Then we can just patch if we need to.

  2. Avatar  


    April 27, 2011 @ 3:12 pm

    Pretty Simple:
    You’d remove one web server at a time from the load balancer (eventually doing this gracefully, letting clients finish their sessions), shutdown tomcat, redeploy, start tomcat, put it in the LB again and then continue with the next one.

RSS feed for comments on this post.

Leave a comment