Geeks With Blogs

News




View Tarun Arora's profile on LinkedIn

profile for Tarun Arora at Stack Overflow, Q&A for professional and enthusiast programmers

Tarun Arora - Visual Studio ALM MVP ALM, Agile, Automation, Performance Testing, Software QA, Cloud, ...

A customer I am working with is interested in an ‘automated deployment and release management’ solution for their 160 applications scaling across 350 servers. There is a mix of Microsoft and Non Microsoft applications, some server based some desktop based, some are currently deployed using bat files, PowerShell, others require Unix/Perl scripts for deployment. I have used TFS Deployer very successfully in the past and put that forward as a recommendation, however, this customer is keen on an enterprise supported ‘automated deployment’ solution.

imagex

The requirement is quite straightforward,

  1. The ability to trigger the deployment from with in Build Workflow OR Build Explorer OR from a UNC
  2. The ability to create a release pipeline specifying environment(s), pre-requisites, sign off(s)
  3. Release management capabilities such as track & notify releases in calendar view
  4. Integration with ticket management & helpdesk systems
  5. A dashboard to track & manage the deployment process
  6. The ability to successfully repeat this process to deploy continuously

Microsoft currently does not have an offering in the automated deployment and release management space. Microsoft has however helped create an ecosystem of automated deployment tools by providing ample of hooks and a rich API to interact with TFS.

 

Comparing Release Management & Automated Deployment Offerings

In the table below I have captured details of products offering release management and automated deployment capabilities. Below is *just my* assessment of these products. If you have experience using these products, please feel free to share more information in the comments section.

 

Name Pros Cons Database Deployment Source Code Available Config
Mgmt
API Access Cost
Nolio Zero Touch Deployment
  • Integrates with TFS Cloud/Premise 2010, 2012 (Recognises build quality change & build completion event)
  • Allows deployment on premise, cloud, physical & virtual servers
  • Supports .NET & Java
  • Prebuilt IT Service Management dashboard to track & manage end to end releases (Web dashboard)
  • Automated triggers and
    release decisions
  • Tagging snapshots for faster rollback
  • Release monitoring and
    analytics
  • Release calendar
  • Approval gates
  • Native .NET applications support
  • Seamless integration with 3rd
    party tools: Build and Release
    Management, Monitoring, QA,
    SCCM, CMDB, Ticketing and
    Help Desk
  • Provides integrations with a number of build tools including Hudson/Jenkins, JetBrains TeamCity, Microsoft TFS/TeamBuild
  • Release all type of components such as .NET, BizTalk, SharePoint, MSI, NuGet, etc
  • Cost
  • Release information stored in an xml manifest file
Yes Yes Yes Yes Pricing per deployment agent
InCycle Software - InRelease
  • Integrates with TFS Premise 2010, 2012
  • Desktop & Web Client to manage & track release management
  • Pull based security mechanism
  • Config transformations are stored in database instead of config file
  • Allows connecting with multiple TFS Servers to assemble an application deployment
  • Security does not need to be maintained separately, Leverages existing TFS Security groups
  • Build & Release using TFS Labels
  • Integration with MTM to execute automated tests
  • Release all type of components such as .NET, BizTalk, SharePoint, etc
  • Allows Approver workflow
  • Deployment Infrastructure monitoring via dashboard
  • Release analysis & monitoring
  • Release all type of components such as .NET, BizTalk, SharePoint, MSI, NuGet, etc
  • Free subscription for Microsoft MVP(s) & RD(s)
  • Limited release management capabilities such as release calendar
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
  • Does not provide out of the box integration with non TFS build systems such as Team City, Jenkins, etc
  • Does not support cross platform deployments such as Java.
Yes No Yes Pricing per deployment agent
Urban Code Deploy - uDeploy
  • Release Process automation using Graphical editor
  • Supports cross platform deployments such as Java, .NET and few legacy platforms.
  • An advanced release rollback mechanism that supports replace with last deployed or rollback of incremental deployments.
  • Integrates with TFS and non Microsoft build engines
  • Approval workflow
  • Calendar view: schedule future releases
  • Manage & Monitor releases via release dashboard
  • Role based security, supports LDAP authentication
  • Deploy to on-premise or off-premise
  • Promote releases between dev, staging and production environments
  • Environment Management
  • DB/Configuration
  • Microsoft's NuGet packaging format
  • Release all type of components such as .NET, BizTalk, SharePoint, MSI, NuGet, etc
  • Cost & Setup
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
Yes Yes (At a price) Yes Yes Pricing per deployment agent
Jenkins
  • TFS Integration
  • Web Dashboard
  • Many Plugins
  • Runs on Many Envs (Unix/Windows/Etc)
  • No config management
  • Weak release management plugins
Yes – Via plugins (ie DbDeploy) Yes No Yes Free/Open Source
JobScheduler
  • Web Based
  • Job Scheduling
  • No TFS Integration
  • No Env configuration
  • Generic job scheduler as opposed to a deployment tool
Yes (with appropriate jobs) Yes No Yes Free/Open Source
Octopus Deploy
  • Integrates with TFS (on premise & cloud)
  • Deploy to your own servers, on-premise or off-premise
  • Promote releases between dev, staging and production environments
  • Web Dashboard
  • Integrates with other build management solutions such as Team City
  • Very easy to set up and configure
  • Not very expensive


  • Requires Octopus specifc NuGet packages for deployment
  • Limited Release management functionality
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
  • Does not support cross platform deployments such as Java
Yes Yes (At a cost) No Yes Enterprise License
Redgate Deployment Manager
  • Deploy to on-premise or off-premise
  • Promote releases between dev, staging and production environments
  • Web Dashboard

 

  • No Integration with TFS
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
  • Almost no release management provisions
  • No integration with TFS or other build systems
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
  • Does not support cross platform deployments such as Java
Yes No Yes Yes Pricing per deployment agent
Attunity Application Release Automation
  • Multiple O/S Support WinX, Unix & Linux
  • Comprehensive .NET and IIS deployment management
  • Integration with Team Foundation Server 2010 Connector for seamless "Build-Deploy"
  • Package Deployments for MSI's, etc.
  • Real-time, scheduled, or on-demand job execution
  • Job Delegation to Users or Groups with access via intuitive Web UI
  • Extensive API for integration with IT & Business processes
    Auto & One-click Rollback of Apps, Content & Configurations
    Job and process chaining
    Include/Exclude Filters
  • Go live automation controls for network-wide production releases
  • Automated deployment and transformation of web.config and other xml files across different targets
  • Auditing & Reporting of processes for regulatory compliance & risk management
  • SSL Encryption, Authentication & Security Proxy Mechanism
    LAN, WAN & Large File Transfer Engine
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
  • Almost no release management provisions
  • No integration with TFS or other build systems
  • Limited integration with 3rd party ticketing & helpdesk tools such as service now
Partially No Yes Pricing per deployment agent

 

If you had experience using any of these products, please feel free to add comments to share your experience.

Hope this helps!

Tarun

 

Posted on Saturday, February 23, 2013 1:14 AM TFS2012 , ALM , ReleaseManagement | Back to top


Comments on this post: Continuous Integration-Automated Deployments And Release Management

comments powered by Disqus

Copyright © Tarun Arora [Microsoft MVP] | Powered by: GeeksWithBlogs.net