Last week I met a friend who is the operations manager for a medium Intenet company. He told me about his planned migration from one cloud provider to another: "Bill for
"What about the migration project?" I asked. His reply caught me off guards: "At 15% bill discount - it does not matter".
This is actually a common practice in many of the companies using a single cloud provider: take the public cloud monthly bill and ask the competitor for a discount rate in case you migrate over. Unfortunately, this "bill for bill" comparison disregards the migration project, and one may find that the "lift and shift" project will both eat most of the planned savings, as well as consume more time, efforts and resources compared to the initial hunch.
So – does your planned project of data migration between cloud providers makes sense?
The secret to delivering high-value projects is trimming off least profiting
In the below, I’m suggesting a method to help you quickly identify cloud migration projects that will have negative ROIs.
I’m well aware that this is just one component of the overall migration project from one cloud provider to another, and as that is the case, feel free to plug it in your decision matrix, use it as supporting/leading indicator or simply post a nasty comment below.
Where can you focus your attention, and where should you actually focus it?
I’m not going to choose sides on the Agile vs Waterfall war. I’m assuming the costs would be similar either way. There are 3 types of costs in any such project:
Planning costs are all costs that are associated with analyzing the steps that need to be done in the project, what needs to be done in each step, estimating the length of each stage in the project, it’s complexity, risk, resources etc.
These costs are the hardest to evaluate, and would have the greatest implication on the project.
Execution costs are all costs that are associated with executing the planned steps. Easiest and very naïve way to think about those is the price you’ll pay a 3rd party to execute your well prepared project planning document. Main challenge in evaluating this cost is the inherent gaps between planning and wanted reality on one side, and the inherent gap between developers and the rest of the world on the other.
Utility costs are all the costs that are easy to identify, evaluate and should yield the least variance between planning and reality. Think energy costs, network cost and water cost.
If the utility costs savings don’t make sense, you can safely kill the project
Disregarding meta-data activities, specific features or personal preference a specific cloud brand, you should remember that there is a high cost in reading data out of the public cloud providers. This cost is usually stated on their pricing pages as "Egress cost", "Bandwidth costs" and "Data Transfer OUT From Amazon S3 To
I’ll use the following:
- Source cloud storage costs (SCS)
- Source cloud egress/outbound to internet costs (SCE)
- Target cloud storage (TCS)
- Egress overload months (OLM)
- Kill this project indicator (pKPI) = (SCS-TCS)xOLM - SCE
- Kill the project if pKPI < 0
Let’s use some real-life example:
Let's say you have some data on AWS S3 (the source cloud) and you want to move it into Azure Blob storage (the target cloud). Looking at the prices from the public website (Aug 2017):
- (SCS) = $0.023 per GB/Month (ignoring the discount due to amounts)
- (SCE) = $0.085 per GB
- (TCS): $0.017664 per GB/Month
- (OLM): 12 month (my choice).
- pKPI = ($0.023 GB/Month - $0.017664 GB/Month)x12 Months -$0.085 GB ) = -$0.021
So you can kill safely the project. If you feel you want to do the project you can negotiate the storage prices further down, ask for the target cloud to pickup the egress and/or total "lift and shift" costs or look for a multi-cloud solution that would remove all egress costs from the equation.
WOO HOO! Positive
Nothing to be jolly about as we failed to kill the project the easy way.
It's time to get our hands dirty and move on to part 2 where I discuss the planning costs that can highlight negative ROI.
Public cloud providers pricing:
- AWS 3 pricing
- Azure Blob storage pricing / Azure Bandwidth costs
- Google GCP object storage priding
- IBM Bluemix object storage pricing
- Oracle object storage pricing