Making changes to running Java applications is hard. So hard, in fact, that the majority of organizations just stop the application in the off-hours and run the update offline. We are talking about code changes, state changes, databases changes, remote dependency changes, configuration changes, environment changes and elasticity changes – all of them as invisible to the end user as possible.
This talk is a journey through the world of production changes, both from a developer and administrator point of view. We draw on the survey of over 700 respondents from organizations around the globe to reveal why making changes to Java apps is so darn hard, from both a technical and process point of view.
We will then discuss and demonstrate some possible solutions for these issues, both already available and technology improvements that can be expected soon. We will demonstrate some best of breed solutions, including Tomcat's rolling updates, Amazon BeanStalk, LiveRebel from ZeroTurnaround, and others.