One of the crucial aspects of establishing an effective CI/CD (continuous integration/continuous delivery) environment is Application Lifecycle Management (ALM).
Far from simply tracking development changes and release management tasks like traditional software development lifecycle management programs, ALM strives to cover a given app’s entire existence – from initial design to decommissioning. As such, it encompasses everything from development, testing and deployment to ongoing maintenance, resource utilization and policy management.https://o1.qnsr.com/log/p.gif?;n=203;c=204663295;s=11915;x=7936;f=201904081034270;u=j;z=TIMESTAMP;a=20410779;e=i
According to MarketsandMarkets, the ALM market is expected to top $3.6 billion by 2022, representing compound annual growth of 7 percent. A key driver in this expansion is the conversion from the traditional “waterfall” style of development to agile DevOps methodologies, although it can still be applied to waterfall environments, as well as Scrum, Extreme Programming and Lean environments. Organizations that have implemented ALM find that it helps streamline both development and operational aspects of DevOps, not to mention security, governance, compliance and other challenges.
Of course, ALM must meet a number of stringent requirements if it is to survive the DevOps process. For one thing, says HPE’s Ashish Kuthiala, it must accommodate the high-speed, highly complex workflows that emerging DevOps environments engender. Speaking to SD Times, Kuthiala noted that in many cases, design, development and testing happen simultaneously, which requires a new approach to quality assurance – perhaps to the point where tests are being defined before code is actually written. As well, QA will most likely have to become an integral component of the continuous integration toolchain in order to execute key tests within the continuous build cycle.
This is where predictive analytics and machine learning can have a dramatic impact. Even in the most ideal circumstances, a coding change may require a good five hours or more to complete all quality tests, and with highly complex products this can stretch into weeks or months. This, of course, is a non-starter for DevOps, which is why intelligent systems are needed to clean up the testing process by, for instance, reducing the number of redundant processes and using the results of past tests to fine-tune the parameters of current testing. In this way, Kuthiala says it is not unheard of to reduce upwards of 120 tests to 25. (Disclosure: I provide content services for HPE.)
ALM becomes increasingly important as DevOps products shy away from traditional enterprise IT resources in favor of the cloud, says Bernard Golden, senior director of Dell’s Cloud Computing Enterprise Solutions group. In the pre-cloud era, there was no real pressure to enhance lifecycle management because it took so long to provision the necessary infrastructure anyway. Nowadays, DevOps teams can spin up the proper resources in the blink of an eye, and applications themselves are having to contend with real-time performance requirements due to web- and mobile-based activity and the constant feed of data from IoT-connected devices.
Implementing ALM as a core DevOps process helps ensure that bad code is not allowed to flourish in production environments. To get there, however, you’ll need to balance automated processes with the ability to intervene manually when the need arises, plus devise an integrated, end-to-end toolchain capable of automatically transferring the output of each step in the process to the tool responsible for the next step. As well, it helps to employ shared application artifacts using repeatable executions and configurations, perhaps even from an automated runbook, and you’ll need to align metrics and incentives across the entire DevOps organization so that everyone is being measured against the same goals.
It goes without saying that in a digital services economy, the application is king. Nobody, least of all users, cares what kind of infrastructure is used to deliver the app; they just want something that works, and works well. With a properly crafted app lifecycle regime, the enterprise can enhance user satisfaction while continuously rolling out new experiences, all while making efficient use of both its technical and human assets.
Arthur Cole writes about infrastructure for IT Business Edge. Cole has been covering the high-tech media and computing industries for more than 20 years, having served as editor of TV Technology, Video Technology News, Internet News and Multimedia Weekly. His contributions have appeared in Communications Today and Enterprise Networking Planet and as web content for numerous high-tech clients like TwinStrata and Carpathia. Follow Art on Twitter @acole602.