As I work at different client sites, I see a lot of discussion about the cost of cloud-based services, in comparison with on-premises or self-hosted equivalents. One aspect that always seems to be forgotten is opportunity cost.
So many times, I see people comparing raw incremental costs of virtual machines in the different environments. Invariably they aren't making an apples vs apples comparison. They aren't considering staff costs, training costs, power, real estate, support costs, etc.
But a really big one for me is the difference in opportunity costs. Let me give you an example.
I was working at a client site where we decided to test an application's interaction with Availability Groups in SQL Server. I asked if I could spin up a few servers in Azure to try it. I was told that that wasn't their policy and that they'd provision me servers to work with locally.
- It took four weeks to get a quote for the hardware.
- It then took six weeks for the hardware to arrive.
- Then I was told it would be another four weeks delay because they couldn't take a power outage to install them in the racks.
I wish I was joking.
This had added over three months delay in the project. So much could have been achieved in the meantime. If we had done that in Azure, I could have had the work complete by the next day.
There's no easy measure for the cost of the lost opportunity but it's significant. Don't ignore it when comparing costs.