Digital Edition

SYS-CON.TV
Apply Agile When Deploying Apps
As software development has advanced, a number of new trends & ideas are helping developers get their product to market faster

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.

About 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 cbaart@xebialabs.com.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1



ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

Today, we have more data to manage than ever. We also have better algorithms that help us access our...
Andi Mann, Chief Technology Advocate at Splunk, is an accomplished digital business executive with e...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held Novemb...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: D...
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by Fi...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22...
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitori...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news an...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018,...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing w...
Disruption, Innovation, Artificial Intelligence and Machine Learning, Leadership and Management hear...
"We host and fully manage cloud data services, whether we store, the data, move the data, or run ana...
Enterprises are striving to become digital businesses for differentiated innovation and customer-cen...
DXWorldEXPO LLC announced today that Telecom Reseller has been named "Media Sponsor" of CloudEXPO | ...
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize exist...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As au...
"Calligo is a cloud service provider with data privacy at the heart of what we do. We are a typical ...
We are seeing a major migration of enterprises applications to the cloud. As cloud and business use ...
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud,...