Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

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 liverebel@zeroturnaround.com

  • Dan Howard

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

  • Notme

    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.