Professional Documents
Culture Documents
Java Deployments in an
Enterprise Environment
Vincent Partington
CTO, XebiaLabs
July 2010
Table of contents
Summary 3
1 Why deployment matters 4
1.1 About this paper 4
1.2 Introduction 4
1.3 Development and IT operations impact 5
1.4 Business impact 5
2 Pitfalls for a reliable deployment process 7
3 Overcoming the pitfalls 10
3.1 Requirements for a Deployment Automation solution 10
4 Deployit – automated deployment for Java applications 12
4.1 Architecture of Deployit 12
4.2 Using Deployit 13
4.3 Benefits of using Deployit 14
5 Start automating your deployments today! 15
5.1 About XebiaLabs 15
Appendix - Relevant literature 16
The proper deployment of Java applications can be a cumbersome and tedious process. Errors
during the deployment process not only impact the Development and IT operations side of an
organization, but also the business side. Unpredictable deployment processes result in longer
time-to-market. In addition, they negatively affect the (perceived) software quality.
In order to reach an optimal deployment process, a company usually has to overcome one or
more of the eight deployment pitfalls listed in this whitepaper. Examples of such pitfalls are:
Using lengthy deployment manuals that are incomplete and not up-to-date.
Working with middleware environments that are not in-synch.
Having an incomplete view of all existing deployments.
These pitfalls cause serious problems for a smooth and reliable deployment process.
1.2 Introduction
The following real-life case story about one of the world’s largest airline companies, Air
France KLM, demonstrates that a proper deployment process is very important for a
company:
For Air France KLM, Internet technology plays a crucial role in internal processes as well as in
communication with its customers. Passengers buy tickets and choose their seats online, and pilots
use web applications to access weather forecasts and to file their flight plans. Air France KLM
estimates it typically works on about 35 different projects simultaneously, with a total of around
200 Java EE application deployments per week.
The weak spot in the development process concerned the transition of developed code from one
phase to another. About 70% of all software deployments faced these problems. Deployments
required a lot of manpower, which was not only inefficient but also subject to errors. Air France KLM
therefore decided that they needed a more powerful deployment management system to help
reduce repetitive work, boost productivity and improve quality.
Before we analyze the drawbacks to a flawed deployment process and dive into the root
causes, we will first define what we mean by “deployment”:
Definition: Deployment is the “series of activities needed to make an application available to
end users”. This includes the full scope of deployment activities: de-installation of the old
software packages, installation of the new software packages, updating the data source(s),
modifying firewall settings, reconfiguring the web server and restarting all services involved.
Or rephrased in more simple terms: deployment is everything needed to ensure that if a
developer, tester or end user opens his browser and types in www.my-application.com, he will
see the application up and running, fully functional with (live) data.
In the remainder of this whitepaper, we refer to this definition whenever we use the word
deployment.
Poor deployment processes impact not only Development, but also IT operations:
Less agility in releasing new features. As a consequence, you’ll end up with a small
number of big-bang deployments rather than a continuous stream of incremental
deployments.
Unpredictability. This results in higher contingency costs than required, since you need to
have people stand-by in case something unforeseeable might go wrong.
Unplannability. Being unpredictable also makes deployments hard to plan: a deployment
of only a few hours can be scheduled during the evening, a deployment that runs the risk
of taking a full day cannot.
Loss of talented people, since tedious deployment tasks limit people in doing other (more
interesting) work.
Poor ability to learn from mistakes due to the lack of consistent error analysis.
Risk of becoming too dependent on key resources (the ones who created the deployment
scripts).
Below, we will discuss eight pitfalls that cause organizations to have suboptimal deployment
processes, resulting in the drawbacks outlined in the previous section.
What we learn from these eight pitfalls is that deployments are much harder to carry out well
than might seem at first sight. It’s not uncommon to succumb to one (or more) of these
pitfalls. At the same time, as this whitepaper will try to demonstrate in the remainder of this
section, you can get deployments under control. A suitable deployment automation product
can address the pitfalls and overcome the deployment problems they cause. But how do you
recognize a suitable deployment automation solution?
In this whitepaper, we have discussed the business and IT pain points associated with
traditional deployment processes. We have also seen the pitfalls and ways to avoid these by
choosing a state-of-the-art deployment automation tool like Deployit.
If you are interested in learning more about Deployit and what it could mean for your specific
situation, please do not hesitate to contact us. We will be pleased to spend time with you over
the web, on the phone or in person to discuss your needs and demands.
You could also download the free Deployit Personal Edition. This edition ships with a single
user license. The Personal Edition can be downloaded from
http://www.xebialabs.com/deployit-personal-edition-request.
And in case you are still not convinced that deployments can really be automated, let us
know! We are always interested in better understanding the views and opinions of our peer
deployment experts.
Automating the JEE deployment process, Indic Threads.com Conference on Java Technology, Vikas
Hazrati, December 2009,
http://www.slideshare.net/xebiaindia/automating-the-jee-deployment-process
Top 8 Java EE deployment pitfalls, Java Forum Stuttgart, Andrew Phillips, July 2009,
http://www.xebialabs.com/webinar-8-pitfalls-when-deploying-java-applications