The following products were used in this engagement:
- Azure DevOps suite including Repos, Pipelines, and Artifacts
- HashiCorp tools including Terraform and Packer.
- VMware vsphere
- Azure IaaS
- Azure KeyVault for secrets management
About the Client
Founded in 1985, our California based real estate client has grown into a diversified, vertically integrated company, expanding its business footprint to include residential rehabilitation, non-performing loans, property management, private lending, brokerage, escrow, and more.
Client’s Team Foundation Server (TFS) was out of date due to update cycles interrupting development workflows. By transitioning to Azure DevOps, they can eliminate maintenance downtime entirely, as well as take the opportunity to review their processes flow and introduce further optimizations.
- Move development tools to a service model to reduce infrastructure demands
- Review the deployment pipeline and introduce “shift left” practices by injecting testing and validation into CI/CD process
- Automate on-premise deployments so that Azure DevOps can seamlessly deploy applications to multiple environments as needed.
Our client has requested Speridian’s assistance in migrating their projects in TFS into the new Azure DevOps service. During the migration, the CI/CD pipelines will also be reviewed and updated as needed.
Speridian reviewed the goals with the client and developed processes towards three initiatives:
In order to allow for a smooth transition into Azure DevOps, a per-project migration model was developed that can migrate and sync individual work items so that teams can be queued then transitioned between sprints. As different projects were at different phases in their sprint cycles, this allowed a naturally staggered approach so that each team’s impact could be minimized, as well as a reduced staff needed to support the migration effort over the span of the migration.
In order to leverage capital investments, Speridian also designed a deployment system that leveraged Azure Pipelines, Terraform, and VMware to automatically deploy infrastructure on demand. This allows the client to reduce operational costs by running projects with a lower SLA when it makes sense. Long running build jobs or even entire environments where uptime is not critical can be deployed on premise on older hardware quickly without worry of per minute billing.
Finally, the overall workflow being used for each project is being reviewed, and a template formed with best practices for the company. This will not only speed new project onboarding but also allow the delivery team to begin their own iterative sprint cycles to improve the process and begin applying to all projects consistently. To aide in this, Speridian is leveraging features such as yaml support for Azure Pipelines to allow pipeline to be developed as code, and process templates to be applied to new projects.
Code is being uniformly stored in git with standardized feature branching to make it easier for developers to move between teams as needed and begin contributing as quickly as possible. Combined with the removed maintenance windows, Developers can focus their time exclusively on projects while operations teams can focus on pipeline optimizations. Finally, VMware deployments can now be declaratively provisioned in approximately 15 minutes, with their configurations in Azure Repos. This allows the client to perform most builds on procured hardware, reducing build costs.