How to calculate cloud migration costs
It's important to calculate the total cost of a cloud migration before making the move. Heer's how to compare your on-premises expenses to what you'll spend on the migration.
Migrating to the cloud has the potential to save money by, for example, enabling businesses to take advantage of pricing models that require paying only for what they use. But the process of moving workloads to the cloud comes with its own costs, and if those costs are too steep, they can undercut the financial value that the favorable pricing delivers.
That's why it's critical to estimate cloud migration costs before you begin moving to the cloud. This article explains the costs organizations commonly incur when they move to the cloud and offers tips on how to estimate costs ahead of time and best practices for minimizing the total cost of cloud migration.
Factors that influence cloud migration costs
For simple cloud migrations -- such as those that involve a lift and shift of existing workloads into the cloud with few changes -- the cost of planning and completing a cloud migration might be minimal. But the more changes you plan to make to your workloads as part of the migration and the more complex your migration plans are, the higher you can expect your costs to be due to factors such as the following.
1. Application updates
Some applications can move to the cloud with virtually no changes. However, to maximize capabilities like scalability and security, organizations sometimes choose to update, refactor or entirely rewrite applications prior to moving them to the cloud. These changes require work by software developers, which comes at a cost.
2. Training
Migrating to the cloud might require training employees in cloud administration, observability and security practices.
3. Consulting
Depending on your level of in-house cloud expertise, you might decide to work with a consulting company that specializes in planning and managing cloud migrations.
4. Backup
Although cloud data storage can be more reliable than on-premises storage, you should still back up cloud-based data, either by copying it to on-premises storage or to another cloud region or cloud. Or you could copy it to multiple locations for even more assurance against data loss.
5. Software tools
Migrating to the cloud might involve buying additional software tools or platforms, such as cloud migration software or monitoring tools that can help validate that your workloads are performing adequately after you've moved them to the cloud.
6. Software licenses
In some cases, migrating to the cloud requires purchasing new software licenses for workloads. For example, if the terms of your on-premises OS licenses don't allow you to repurpose the licenses for cloud-based workloads, you'll have to buy new ones.
7. Massive data migrations
You can move data over the network into a public cloud for free in most cases. But, if you have an exceptionally large volume of data to migrate, the network might be insufficient for the task because it would take too long. In that case, you might opt for a service that moves data in petabyte-size increments on storage media carried by trucks.
Pricing for these services is not publicly available, but expect to pay tens of thousands of dollars and possibly much more.
8. Compliance mandates
Migrating to the cloud can require changes to your compliance operations. For example, you might need to collect new types of evidence to demonstrate that your cloud-based workloads comply with whichever regulations your organization needs to meet. These changes can come at a price due to the need to invest in additional compliance tooling and/or hire compliance officers or consultants with expertise in the cloud.
Challenges in addressing cloud migration costs
To complicate matters further, monitoring and managing the cloud migration costs described above can be challenging for several reasons:
- Difficulty predicting costs. The biggest challenge is that it's often impossible to predict cloud migration costs with a high level of certitude. For example, it's hard to know exactly how many hours it will take developers to refactor an application. Likewise, if you work with external consultants who charge by the hour, you won't know the total cost until the migration is complete.
- Shifting goals. Complex cloud migration projects often evolve and change over time. For example, you might end up refactoring an application you originally thought would need a simple lift and shift. Changes like these have an impact on total cost of cloud migration, while making it difficult to predict the costs ahead of time.
- Lack of cost reporting. Unlike cloud workloads, whose costs you can automatically monitor on an ongoing basis by using cost reporting tools, there is no simple means of tracking cloud migration costs. The best you can do is manually estimate costs incurred to date as you work through the migration.
- Lack of cost optimization tools. While there are plenty of tools that assess the cost of cloud workloads and offer tips on optimizing cloud spending, there is little in the way of software tools to optimize the cost of the cloud migration process itself, beyond helping you select the most cost-effective configuration for cloud services and workloads.
In short, it's challenging to predict, monitor or optimize the cost of cloud migration. And, to the extent that you can do these things, they require manual effort, and the insights they generate are of limited accuracy.
Cloud migration vs. on-premises costs
While migrating to the cloud comes at a cost, keeping workloads on-premises can be costly, too. That's especially true if your on-premises environment is subject to the following challenges:
- Infrastructure underutilization. If workloads are consuming less than 50% of on-premises CPU, memory and storage resources, it's likely a sign that your on-premises environment isn't especially cost-effective.
- High management costs. IT teams that are overstretched by on-premises management and maintenance tasks, such as replacing failed hardware components, increase the cost that on-premises environments impose on your business.
- Energy costs. In most on-premises environments, businesses pay the cost of electricity required to power IT equipment and operate the cooling systems that prevent it from overheating. Those costs can be high, especially in regions where energy is expensive. In the cloud, energy costs are built into cloud pricing, so businesses don't have to pay them directly. Plus, cloud service providers can generally source energy more cheaply and use it more efficiently because of advantages such as economies of scale in massive cloud data centers.
- Downtime costs. On the whole, on-premises workloads tend to be less reliable than workloads in the cloud. If you experience frequent downtime from on-premises infrastructure or application failures, you're incurring indirect costs stemming from your on-premises environment.
- Security breaches. In a similar vein, frequent security breaches due to poorly managed on-premises environments increase the cost to the business of using that deployment model. Moving to the cloud doesn't guarantee fewer security risks -- on the contrary, the cloud can introduce additional security challenges, like the need to manage identity and access management policies -- but it does reduce issues such as physical security threats.
By assessing how much your business pays for on-premises costs like these, you can estimate the total cost of keeping workloads on-premises. From there, you're in a good position to determine whether the money you'll potentially save by moving to the cloud is greater than the cost of performing the migration.
How to calculate cloud migration costs
To make that determination, you also need to know how much cloud migration will cost you. As noted above, producing a close enough estimate is challenging because there are so many cost variables to weigh and plans often change once a migration is underway.
But, in general, you can calculate cloud migration costs using the following steps.
1. Identify workloads to migrate
First, determine which workloads to migrate to the cloud. You might be moving every workload into the cloud and abandoning the on-premises environment entirely. But you might also elect to keep some workloads on-premises.
2. Determine workload change requirements
Once you know which workloads you will migrate, determine whether and how you'll change the workloads as part of the migration project. For example, will you refactor any applications so they can run as microservices and scale more efficiently in a cloud environment? Will you need to build new security features, such as additional authentication controls, into your apps?
3. Estimate development costs
After you've determined which application changes are necessary, estimate how much time and effort it will take on the part of software developers to implement those changes. A precise estimate is virtually impossible because it's difficult to know exactly how long application updates will take until the work is complete, but you can establish a basic estimate.
You can then translate estimated developer hours into a cost estimate based on how much your business pays for software developers.
4. Determine data migration costs
In addition to estimating software development costs, determine whether you'll incur any data migration costs. Again, cloud providers don't usually charge fees to move data into their clouds, although they do charge egress fees to move it out. But, if you have large amounts of data to migrate, you might need to pay for specialized data transfer services.
5. Assess software and licensing costs
The migration might require buying new software licenses or tools. These can include tools for helping plan and perform the migration itself. They might also include new licenses to support cloud-based workloads.
6. Assess consulting and training costs
If in-house IT staff lack the expertise to perform a cloud migration on their own or will need training to administer the cloud effectively, you need to research the costs of consulting and training services.
As mentioned above, you might not be able to get an accurate cost estimate because third-party cloud migration service providers who charge hourly are unlikely to be able to say precisely how many hours they'll spend on your project. But most can provide a general guideline.
Potential methods to help save on cloud migration costs
There is no simple solution for minimizing cloud migration costs, but here are methods that can help:
- Use cost calculators. The major cloud providers offer cloud cost calculators, such as AWS Migration Evaluator, that can help you to estimate some cloud migration costs. A caveat, however, is that these tools mainly estimate the costs of different cloud services and configurations; they don't address other migration costs, like training and consulting expenses.
- Reuse software licenses. To avoid expenses associated with purchasing new software licenses, reuse the licenses you already own where possible. Whether you can reuse a license depends on factors like which cloud service you use and how it's configured. For the details, research the bring-your-own-license policies of the cloud platform you intend to use.
- Consider outsourcing. Outsourcing some or all your cloud migration project can save money when in-house IT staff and developers have limited experience undertaking cloud migrations. A cloud migration services provider who specializes in this type of project might be able to complete it more efficiently than your staff would on their own.
- Avoid unnecessary application changes. It can be tempting to overhaul virtually all your applications when you move them to the cloud, since cloud migration seems like the perfect time to make major changes. But, because refactoring or rewriting applications can be costly, not to mention time-consuming, it's a best practice to avoid changes that are unnecessary or deliver limited value.
- Use automated migration tools. While it's not realistic to expect to automate every aspect of cloud migration, you can take advantage of tools like AWS Application Migration Service and Microsoft Azure Migrate that automate some processes, such as copying on-premises applications and data into the cloud.
Chris Tozzi is a freelance writer, research adviser, and professor of IT and society. He has previously worked as a journalist and Linux systems administrator.