Manage software deployments across complex environments

The larger and more complex an organization's processing environments are, including cloud instances, the more challenging the process of application deployment. Automation tools support the best practice of keeping these apps updated for peak performance, capability and security.

When I started my IT career as an application developer three decades ago, it was common to take six months or longer to enact a simple upgrade to an enterprise application. First we'd develop code, then test it, then put it through quality assurance (QA), and then give it to the operations team to finally deploy the updated code.

Back then, having "only" six months to do all this put real pressure on our team. In today's world, taking that much time to develop and deploy a much-needed upgrade is simply inconceivable.

FAVE RAVES: IT pros name their favorite products

Compared to my days of coding for a homogeneous mainframe environment, the development and operations teams of today are pressured by a number of complexities: the increased automation of nearly all business functions; the adoption of service-oriented architectures (SOA); heterogeneous middleware environments; and especially the increased use of virtualization and cloud environments.

These new environments mean that numerous application components are spread across many different environments, including application servers, Web servers, desktops, mobile devices, databases, and so on.

Much has been accomplished over the years to improve the efficiency and control of the application development processes -- from agile development methodologies to change management solutions based on ITIL and ISO standards. Paradoxically, the increased use of agile development methodologies aggravates the issues IT organizations experience in deploying applications and updates.

For many organizations, application deployment is still a cumbersome process that requires error-prone manual intervention. Deployment entails a series of configuration tasks that must be processed in the proper sequence to get an application running correctly.

Deploying all the components that make up the application to the correct targets is a complicated process that can be difficult to get right. What's more, such processes were often designed to accommodate the requirements of applications being upgraded occasionally, as opposed to quarterly or even monthly as is common today.

The larger and more complex an organization's processing environments are, including cloud instances, the more challenging the process of application deployment is. Such is the case at KLM Royal Dutch Airlines.

According to Raymond Rentenaar, manager of application operational support Web deployment at KLM Information Services, KLM has a complex redundant infrastructure with many servers, components and a variety of products from different vendors.

Because of this setup, KLM has to deal with several application deployment issues:

• A high amount of actions and activities to be performed during go-live.

• An increasing number of configuration items due to SOA applications.

• An increasingly longer duration of go-live changes.

• Increasing complexity.

• Risk of failure during live changes.

To overcome these issues, KLM uses the application deployment automation tool Deployit from XebiaLabs. Deployit allows both development and operations teams to manage their software deployments in an efficient and predictable manner. (See details in Network World's products of the week slideshow.)

Deployit is a self-service application release automation platform that automates the deployment of applications onto middleware and cloud environments, including application servers, Web servers, databases, messaging engines and more. Deployit reduces deployment errors, increases deployment speeds and ensures a cost-effective, traceable and maintainable deployment process for enterprise deployments.

Deployit enables plug-in integration with a large number of continuous integration build tools, such as Maven, Hudson and Bamboo, and provides the automation that takes release packages to development, test, and production environments in a secure and controlled manner.

Deployit has a release pipeline capability and checklist with integration with change management tools, such as IBM Tivoli Configuration Manager and HP Universal CMDB. This process provides organizations ITIL governance and control over their development-to-production migration process. The process provides the benefits of automation with the assurance it is done in compliance with company policy.

According to KLM's Rentenaar, "Deployit introduced [us to] automatic software package validation. Because the tool keeps track of all deployment actions via logging, we now have better access to error analysis information. Deployit gives us transparent insight into who deployed what and where, including the deployment lead-time. Our deployments are now automated and highly unattended."

Before Deployit, KLM was facing some problems and errors in software deployments. "Through the use of Deployit, we are able to rapidly deploy new versions of our customer facing applications on our complex infrastructure while reducing error sensitivity by elimination the risk of human errors," says Rentenaar. He adds that his company has seen the following benefits since adopting Deployit:

• Higher repeatability of deployments to different environments.

• Better use of test systems and environments.

• Better overview of configuration items.

• Better support of agile development approach.

• Decreasing of time-to-market product innovation and lower development and deployment costs.

• Automatic software package validation and better access to error analysis information.

As applications spread across more platforms and become more complex, deployment automation tools support the best practice of keeping these applications updated for peak performance, capability and security.

Brian Musthaler is a principal consultant with Essential Solutions Corporation. You can write to him at Bmusthaler@essential-iws.com.

______________________________________________________________

About Essential Solutions Corp:

Essential Solutions researches the practical value of information technology, and how it can make individual workers and entire organizations more productive. Essential Solutions offers consulting services to computer industry and corporate clients to help define and fulfill the potential of IT.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Now read: Getting grounded in IoT