Focusing on Deployment with Octopus Deploy
July 02, 2018

Focusing on Deployment with Octopus Deploy

Eric Huggins | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with Octopus Deploy

As the DevOps Manager for a Microsoft Gold Partner I configure Continuous Integration Pipelines using Visual Studio Team Services (VSTS) and Octopus Deploy. Our Development and Business Intelligence Teams use Octopus Deploy to push custom applications and database changes to Azure IAAS and On-Premises Virtual environments. VSTS manages the CI pipelines while Octopus Deploy manages the granular details of the IIS and SQL Server deployment configurations. Octopus Deploy ensures we have consistent and reliable application deployments across Dev, Test, and Production environments.
  • Octopus Deploy is a deployment management tool and brings to the table detailed configuration options for deployments not generally or readily available from Continuous Integration platforms such as VSTS or TeamCity.
  • Octopus Deploy provides direct access to IIS App Pools, App Pool Permissions, Directory locations and more. Options are clearly displayed in the interface as opposed to searching out arcane switch statements for command line arguments or complex batch statements used with platforms focused on skills other than deployment tooling.
  • Octopus Deploy works extremely well in conjunction with RedGate's ReadyRoll database lifecyle management tool with the same level of configuration capabilities for RedGate's database deployment configuration as for other deployment targets.
  • Octopus Deploy agents are generally easy to configure and record a plethora of information about the deployment process and any errors in the deployment process itself.
  • Octopus Deploy automatically generates encrypted connections between the Octopus Deploy server and Tentacles ensuring communication between Octopus Deploy and target machines is secure by default. I give customers Octopus Deploy documentation as the first step to allaying security concerns and often find no further discussions are required.
  • I prefer VSTS Agent's https "Pull" configuration to Octopus Deploy's "Push". Because VSTS remote agents pull information from Visual Studio Team Services via https, no firewall rules are required when deploying the agents. Octopus Deploy agents typically are configured to be polled from the central Octopus Deploy server and must have firewall rules configured to allow conversations.
  • Octopus Deploy's Pipeline configuration can get a bit complex and is sometimes less than intuitive when configuring deployments across multiple environments. While it is possible to use variables to simplify configurations, examples are not readily available and the process for configuring and using variables is not as easy to understand as I would like.
  • Octopus Deploy created a consistent interface and platform on which to standardize deployments for our development team. The integration of Octopus Deploy as the standard deployment configuration tool for our development team streamlined deployment planning, provided consistent configuration standards and provided increased logging for troubleshooting troublesome deployments.
Octopus Deploy is a deployment focused tool. Its purpose is to manage deployment environments. Tools like TeamCity and Visual Studio Team Services are Continuous Integration tools. You can accomplish many of the same tasks in TeamCity and VSTS but their focus on CI also means they do not typically have full, readily available access to the full features of the deployment targets the way Octopus Deploy does.
I would prefer to use a dedicated deployment tool in CI Pipelines whenever possible. I would have rated Octopus Deploy a 10 except for the recent removal of the free Community Edition product. While understandable, the added cost for small individual customer projects may now be too high to continue using Octopus Deploy on every project. If it were not for the retirement of the Community Edition Octopus Deploy would be a part of all deployment processes and pipelines.

Using Octopus Deploy

4 - Senior Developers and DevOps Engineers
2 - DevOps Engineers: Must be capable and interested in understanding the intricacies and nuances of the deployment targets as well as be able to read and troubleshoot code.
  • Standardizing Deployment Processes
  • Supporting Centralized Deployments from VIsual Studio Team Services to both Azure and On-Premises resources
  • Supporting Database LifeCycle management from a manage DB change as code perspective
  • Perhaps the most innovative use has been the integration of RedGate ReadyRoll with Data Warehouse projects having Dev, Test, and Production scenarios. By combining Octopus Deploy with ReadyRoll we can track DB changes and deploy them consistently with ETL Code changes across the development process landscape - even in BI projects which are typically deployed manually.
Would be a 10 except for the retirement of the free Community Edition.