Application Lifecycle is a continuous process of managing the life of an application through governance, development and maintenance. The evolution of ALM (Application Lifecycle Management) tools in the market has been phenomenal. For each specific technology, there exist one or more dedicated ALM tool(s) in the market. Only a few tools offer true support for cross-technology Application Lifecycle Management but for now we will talk about Microsoft’s ALM solution.
Image 1: Dakshal (Web Developer at Webigence)
I recently attended a conference from Microsoft which was all about Application Lifecycle Management using Microsoft’s Team Foundation Server (TFS) and Visual Studio 2013. Team Foundation Server is the central and key component in the ALM solution which offers extensible team collaboration. TFS interacts with Visual studio and other Microsoft products like office, test manager, release management etc. which makes it easier to work offline.
Image 2: TFS - the central and key component in the ALM solution.
Out of all the tools from Microsoft that were talked about in the conference the one that interests me most is Microsoft Release Management. Microsoft purchased a product called InRelease in mid-2013 which was fully incorporated into TFS and the tool was rebranded to be called Release Management. Release Management complemented the automated build and testing process by allowing a true continuous deployment solution. This tool give teams the ability to perform a controlled, workflow driven release to development, testing and production environments and provides dashboards for monitoring the progress of one or more releases.
Image 3: Release path workflow
Using this tool will certainly ease the process in application management which will in turn benefit clients because the faster the software is deployed, the quicker you can get feedback.
With Release Management in Visual Studio we can configure, approve and deploy our applications for any environment and create automated deployment orchestrations for each environment no matter how complex the configuration.
Other advantages include:
- Retaining full traceability of everything that happens to a release with release logs and approval tracking.
- Understanding the user stories or bug fixes that went into releases.
- Auditing release trails anytime to understand all aspects of releases.
- Avoiding intrusions or accidental deployments by properly managing security of pipeline.
- Assigning roles and responsibilities to the right groups for releases, definitions and release artefacts.
- Managing deployment failures gracefully using rollbacks.
- Easily diagnosing failures using logs collected from all servers.
There was also information given about Microsoft test manager, Application Insights, Source control, TFS Team room, Reporting, IntelliTrace and obviously Azure. As a developer myself, I found all the tools very interesting, easy to use and any application can be easily managed using these tools.
Webigence like to keep up to date with what is going on in the programming world in order to integrate these ideas and practices into our work.
To talk to us about a complex project you would like us to build please get in touch via email or call us on 020 8739 0030.
Blog by Dakshal Raijada