Pipelines and Automation : Switching things up to avoid additional costs

Here’s a little story about something that has happened over the last couple of days. Let’s start with some background.

Building blocks

Deployment pipelines and automations are made up of a number of building blocks including the following.

  • Git repositories
  • Automation servers
  • Build artifact repositories
  • Container registries
  • Software catalogues
  • Terraform state files

The specific tools are not important

I’ve said a number of times, the choice of the specific tools is far less important than just getting off your backside and doing something with what you’ve got. You can always replace specific tools later if you need to.

Over time people at our company have bought tools or subscriptions for a specific piece of functionality, and those happen to include other features. This means we have a lot of overlap between tools and subscriptions. Just to emphasise this point, here is a quick list of tools we have available at our company that fulfil the role of these building blocks.

Git repositories.

  • BitBucket
  • GitHub
  • Local Server (for backups of cloud repos)

Automation servers.

  • Teamcity
  • GitHub Actions
  • Jenkins

Build artifact repositories.

  • Artifactory
  • GitHub Packages

Container registries.

  • Artifactory
  • GitHub Packages
  • Azure Container Registry

On-prem software catalogues.

  • Artifactory
  • HTTP server
  • File stores

Terraform state files.

  • Azure storage
  • Artifactory

Switching to save money

A couple of days ago my boss said company X had hit us with a 23% increase in the price of one of our subscriptions. Day 1 we moved our container registry off their service. Day 2 we moved our artifact repository off their service. We no longer need that subscription, so instead of company X getting an extra 23% from us, they are now going to get nothing…

Conclusion

Not all moves are effortless, but you should really try and engineer pipelines so you can switch tooling at any time. You never know when an external pressure, such as a pricing change, might make you want to change things up quickly. 🙂

Cheers

Tim…