By Coert Baart | Article Rating: |
|
May 8, 2012 09:45 AM EDT | Reads: |
3,387 |

The application release lifecycle is unnecessarily complex, manual and time-consuming and its cumbersome nature is putting businesses in a position of weakness. This one very critical process determines how fast a business can deliver products to market and yet is complex, error-prone and full of bottlenecks. An application release process can drive products to market faster, to strengthen the overall product roadmap and get the business to be more reactive to market needs.
A focus on speed of deployment is an off-shoot of the growth of cloud and Agile development methodology. The bottom line is - the faster that new features, fixes and improvements reach the customer, the better for everyone. The same principle applies in an enterprise environment - the faster the latest version of an application reaches users, the more productive they can be.
Both environments require scalability. As your product offerings grow and branch out, the delivery method must be capable of handling the changes. In the enterprise environment a large portfolio of software applications is the norm and any deployment solution must be able to scale.
Automated app deployment can reduce costs, and increase speed and scale as needed, but before we take a look at the solution let's discuss the problem.
App Deployment Nightmares
There are a lot of potential problems in deploying applications manually. Not least of which is the time it can consume for developers and IT support. Configuration is the first challenge. Where is the application stored? Which version should be installed? Where should it be installed? Where is the configuration file and how is it applied?
Security is another issue. What permissions are required to install and run the application? How much access do users have?
Manual steps also cost time and money and they introduce the potential for human error. You may have to copy a specific file to a specific location or rename a file. Even running separate scripts for different environments and projects can be a time drain and every manual process required increases risk.
Automation Headaches
Automated app deployment has its own set of problems. If you have someone create custom deployment scripts, then you can bypass some of the problems but that will only work for one app deployment. It also takes time and it means you are relying on that one specialist to update the scripts as required. Scripts can be very complex and they aren't standardized, especially if different developers write different scripts.
If you have a series of scripts, you need a process in place and instructions on how to run them correctly. They will also need to be edited frequently to cater for any changes. A monolithic script might be able to cover the entire deployment process so that you have just one script to run but what happens when you have to deploy to a different environment? What about partial upgrades? Any changes will necessitate a modification of the script.
Either case requires specialist support to run and adapt and results in a system that won't work for a different app deployment. If you need to rollback for any reason it will be a major headache. What is the solution?
Intelligent ARA
Looking to push Application Release Automation to the next level requires some clever tools. In order to break the bottleneck you need a system that is truly automated, standardized and capable of handling multiple application deployments across projects. The aim is to avoid reliance on specialists writing scripts.
The advantages can be impressive. According to a Gartner report by Ronni J. Colville, ARA tools help to minimize the risk of human error and add reliability. They also provide transparency for all of the stakeholders involved and, more important, limit downtime and ensure faster delivery to the end user. That visibility throughout the process can be a real boost to DevOps as both ends of the operation can see the process in action.
Continuous Deployment
There's one step beyond an intelligent app deployment system and that's the idea of rolling out software updates as soon as possible to the live server through a continuous integration system. Realistically this requires you to have some kind of continuous automated testing system in place so you can reduce the risk of introducing problems. On the other hand it means you can push out extremely frequent updates, dispense entirely with any manual tasks associated with the release and forget about the last minute rush to squeeze in features before the build deadline, which so often results in bugs.
A fully automated system capable of planning and adjusting as necessary to serve various environments makes continuous deployment a potential reality. Provided you have the ability to track the process, rollback and uninstall where necessary, you can minimize the risks. For a true commitment to an agile development methodology this is a natural endpoint.
Bottleneck at the Funnel
As software development has advanced, a number of new trends and ideas are helping developers to get their product to market faster. It is always more cost-effective to solve problems as early as possible in the process and this simple truth has transformed our approach to development and testing.
The deployment end of the funnel has remained as a bottleneck sapping up the time and energy of talented software engineers and IT professionals. It's still often a potential source of human error and when it is badly handled the results can be devastating in terms of downtime or dissatisfied customers.
The same logic being applied to software development needs to carry over into the deployment phase. Ultimately by building a complete pipeline from development, through quality assurance, to deployment, where automation and standardization is the ideal, we can save money, deliver as fast as possible and scale as needed. It just makes sense.
Published May 8, 2012 Reads 3,387
Copyright © 2012 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Coert Baart
Coert Baart is CEO of XebiaLabs, a developer of platforms that automate the delivery of applications onto middleware environments like WebSphere, WebLogic, .Net, JBoss, Tomcat and cloud environments like VMware, Puppet, Red Hat and IBM. You may reach him at [email protected].
- Eleven Reasons Why Windows Phone Will Overtake Android
- GM to Pull Facebook Advertising: WSJ
- The Cloud Is the Future and Big Data Enables New Products
- Silicon Valley High-Tech PR and Marketing Pioneer, Andy Cunningham, Joins Traackr's Advisory Board
- Legacy Modernization
- 10th International Cloud Expo | Cloud Expo New York – Photo Album
- Do Software Patents Stifle Innovation?
- The Business Aspects of Cloud: Let's Get Started
- Windows Azure Recipe: Software as a Service (SaaS)
- Amazon Enters Microsoft’s Turf of .NET PaaS
- Nvidia Claims Cloud GPU
- Network Topology Diagram
- iPad3 vs Windows 8 - and the Winner Is...Cloud
- Perhaps I Haven’t Made Myself Clear...
- Eleven Reasons Why Windows Phone Will Overtake Android
- Windows Azure Overview Part 4: Security
- System Center Virtual Machine Manager 2012 as Private Cloud Enabler
- GM to Pull Facebook Advertising: WSJ
- Apply Agile When Deploying Apps
- The Cloud Is the Future and Big Data Enables New Products
- The Web – Changing the Way We Work
- Cloud Office and Collaboration Productivity Applications Market Shares, Strategies, and Forecasts, Worldwide, 2012 to 2018
- Silicon Valley High-Tech PR and Marketing Pioneer, Andy Cunningham, Joins Traackr's Advisory Board
- Rapid Protect, a Leading Developer of Mobile Safety, Security and Collaboration Software, Announces Major Update of Its Mobile Applications and Web Service Platform
- Google Maps and ASP.NET
- Converting VB6 to VB.NET, Part I
- How to Write High-Performance C# Code
- Crystal Reports XI & How It Has Changed
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Where Are RIA Technologies Headed in 2008?
- Programmatically Posting Data to ASP .NET Web Applications
- Implementing Tab Navigation with ASP.NET 2.0
- AJAX World RIA Conference & Expo Kicks Off in New York City
- i-Technology Viewpoint: "SOA Sucks"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"
- ');
for(i = 0; i < google_ads.length; ++i)
{
document.write('
- ');
document.write('' + google_ads[i].line1 + '
'); document.write('' + google_ads[i].visible_url + '
'); document.write(google_ads[i].line2 + ' ' + google_ads[i].line3); document.write(' ');
}
document.write('