Leading health tech company deploys to 900 databases in 45 minutes with Octopus
About the customer
Based in the US, this healthcare analytics company enables healthcare organizations to deliver sustainable, quality care at lower costs. It does this through advanced technology and data analytics so clients can improve efficiency and quality.
Challenges
The need to automate complicated database deployments at scale
Before using Octopus broadly, this healthcare analytics company had a complex deployment pipeline. It was difficult to manage deployments at scale with 10–15 lines of business all with different pipelines, some with a seemingly endless number of deploy targets. Processes were manual, so the risk of human error was high.
One key area of the business used Team Foundation Server (TFS) for its deployments. An automated deployment process was created that interfaced with unsupported TFS deployer scripts. If a deployment failed, the scripts had to be manually edited in order to support only deploying to the failed targets. Without a UI, the deployment process relied exclusively on the DevOps Engineers familiar with the TFS deployment process. With the reliance of the automated deployment process on unsupported scripts, the business needed to look for another solution.
Even with the reliance on unsupported scripts the TFS deployment process was quite robust, allowing for the automated delivery of web sites, services, scheduled tasks, databases, ETL and reports. Key requirements for any new CD tool were to keep the high degree of automation and not to increase deployment time for any of the components.
Solution
Simplifying complex deployments at scale
Other business units were using Octopus as their CD tool, so the DevOps team began to evaluate Octopus as a replacement for TFS. The Octopus UI gave the team visibility across the environments at a glance. Octopus also allowed the development teams to self-serve and greatly reduced the reliance on the DevOps team for deployment troubleshooting and support.
The team uses Tenants to simplify deployments to a plethora of client databases with cross-dependencies. Using tenanted deployments in Octopus allows deployments to run in parallel to the same server. Using tenant tags to group databases, they can easily deploy at scale to customers who share a specific functionality.
By 2020, most of the company was using Octopus in its business lines. As a result, the company made the decision to move its multiple Octopus instances into a single Enterprise instance to manage the deployments at scale. The DevOps team found the migration process to a single instance to be relatively easy, and this allowed resources (tenants, variables, infrastructure, etc.) to be shared in a more unified way.
We always explore new technologies, but for now Octopus Deploy is the enterprise deployment tool of choice.
CI/CD pipeline
The customer opted to remain anonymous due to the nature of its business.
Value
Empowering teams to deploy
Octopus has made it possible for more people in the organization to run deployments. The Octopus UI makes deployments accessible and easy. Using step templates, deployments can run without manual scripts.
Before Octopus, the business relied on 2 people who knew how to deploy. This small group dedicated themselves to the line of business, spending 60 hours a week writing releases, troubleshooting, and managing deployments. Using Octopus has empowered others across the business. These 2 people now focus on helping other lines of business in the enterprise and there’s less risk.
Using Octopus has meant our teams can now self-serve. The best part is that it’s meant we can move onto other things and provide other services across the business.
Modernizing and simplifying complex deployments
Octopus has modernized the company’s deployments and increased the ease with which new clients can be onboarded in the deployment process. Step templates remove the need for manual scripts and reduce the risk of human error. Anyone can manage deployments and they’re repeatable across the business.
The team also employs pipeline triggers, reducing the need for manual intervention. The dashboard provides a single view across deployments. This makes it easy to manage deployment environments at scale.
Targeted deployments and adding new clients were heavily manual, and Octopus automation has made this so much easier. It’s streamlined our processes so everything gets done the same every time, and nothing is missed.
Automating routine maintenance
The company also uses Octopus’s Runbooks feature to automate its routine maintenance. Teams can manage their day-2 operations with one tool. Developers can now execute routine operations tasks and recycle services with ease.
Managing multi-tenancy at scale
Using Octopus’s Tenants feature has simplified the company’s complex deployments at scale. The team needed a robust tool to run deployments in parallel across a large number of databases and to manage the unique requirements of each customer. Tenants let them deploy in parallel and simplify deployments. The company now deploys to these databases in 45 minutes.
Using tenant tags, the development team can easily group clients with similar functionality. If there’s an error with one tenant, they can isolate it without risking deployments to other customers.
Using Tenants has been a huge help, especially if something goes wrong. If one tenant fails we can isolate it and fix it on the fly. That has been a huge help.