The benefits of moving an on-premise application to the cloud are well documented, from ease of use and flexibility to scalability, security, and reliability. But the million-dollar question for any company is how much their cloud migration will cost. Determining the answer isn’t always easy. Here, we outline the main cost categories and five steps to enhance the accuracy of estimations.
Cost Categories
There are a few primary areas to look at when considering cloud costs. It’s important to have a good understanding of a target application’s pre-migration costs, for comparison with potential post-migration costs. The cost of the migration itself also needs to be considered – the work and effort taken to migrate an application from on-premise to the cloud. Let’s look at these three categories in more detail.
Pre-Migration Costs
Detailed information about the application’s current on-premise costs and system performance data is needed. This helps determine rightsizing of the cloud infrastructure as well as enabling comparison of current on-premise vs. future cloud costs.
On-Premise Datacentre Costs | Hardware | Software | Operations | Maintenance |
---|---|---|---|---|
ServersRack infrastructurePower/ElectricityStorageNetworkIT Labout | Hardware specificationsHardware maintenanceNew or retired hardware costs (future hardware refresh) | Licensing costsSupport costsPurchase datesPurchase contractsWarranty expiration dates (EOL) | ContractsLabour costs (monitoring, alerting)Running processes Network connectionsSystem performance dataMin/max/avg system utilisation timesUtilised for rightsizing cloud resources (auto-scaling) | LabourContractsApplication updatesSystem updates (software version updates and patches) |
Post-Migration Costs
An estimation of runtime costs for the migrated application in the cloud is also required. This does not include calculations for any new feature development.
- Monthly/yearly infrastructure and software (licensing/support) costs
- System maintenance and operation costs
- Administration
- Operations
- Monitoring
- Alerting
- Maintenance
- System updates
- Software version updates and patches
- Training
Migration Costs
These are the estimated costs for performing the application migration. Things to keep in mind include:
- The actual cost of moving the application from its existing location to the cloud.
- Application infrastructure, code, or configuration changes required prior to migration.
- Application refactor work that needs to be accomplished prior to the cloud migration, ensuring the application will work in the cloud
Step 1: Current Application Inventory
Before jumping into cost numbers for cloud migration, the first step is to audit the application’s current IT hardware and software assets. This can be handled by reaching out to relevant departments and making sure all application resources are accounted for.
You’ll want to gather all asset specifications, performance data, and the details of running processes and network connections. Some cloud providers offer tooling to aid and expedite this process. AWS has an Application Discovery Service which introspects the workloads on the application’s servers.
Insight into the interdependencies of the application and the supporting infrastructure is also required. Application dependency mapping will give you visibility into interdependencies of your services and applications, including software, servers, storage, security, networking infrastructure and data.
Step 2: Calculate Current Infrastructure and Software Costs
Next, calculate the current direct and indirect costs for purchasing, operating, and maintaining the application on your present IT infrastructure.
- Direct costs include purchase prices, software licenses and support, operational, maintenance, and administrative expenses.
- Indirect costs are less obvious expenses such as loss of productivity due to application downtime.
For direct costs it’s best to work with the accounting and purchasing departments to gather invoices and other relevant documentation. Make sure to include all datacentre costs for hosting the application’s IT infrastructure, such as:
- Servers
- Rack infrastructure
- Power/electricity
- Storage
- Network connectivity
- IT labour
Even factors such as air conditioning costs should be accounted for. Also, keep in mind that administrative costs go beyond those associated with IT staff. There may be labour and other expenses associated with Human Resources, Purchasing, Finance and other departments.
Most indirect costs will be related to downtime, such as loss of productivity for employees and other users, customer dissatisfaction, and damaged reputation. One way to calculate these costs is to review outage reports or log files to determine how often application servers go down and for how long. Then multiply that time by an average hourly rate.
Step 3: Estimate Cloud Infrastructure Costs
Estimating cloud infrastructure costs can be tricky as you may not know exactly what is required to host your application in a cloud environment. However, there are several online calculators that can give a general idea.
Each cloud provider has its own cost calculators to help estimate application running costs, but these tools are for approximation purposes only:
AWS
Azure
GCP
Step 4: Estimate Cloud Migration Costs
The next step is to determine the costs associated with migrating your workloads to the cloud environment. Review your migration plan. It should include an assessment of applications’ cloud-readiness so you know which ones can easily be moved to the cloud, which may require redesign, and which may be best left on-premise. You’ll want to assign costs for each migration scenario.
If your staff doesn’t have the expertise or time to handle application redesign, you may have to outsource some of the tasks to third-party companies. Get estimates so you can account for these charges. Also take into consideration potential costs for maintaining legacy systems that can’t move to the cloud.
Next, determine the migration method for moving your cloud-ready workloads. The options will typically involve migrating application servers and databases to the cloud using cloud provider migration tools. Whichever method you choose, be sure to build in contingencies to cover unexpected issues that may arise.
Cloud providers may charge fees for transferring data whether it’s done physically or virtually. A prime example is the migration of a large database. Cloud providers charge fees for transferring data to their systems, so these network costs must be accounted for. There may also be expenses for ensuring the data is in place and properly synchronised with on-premise systems and applications that haven’t yet migrated or won’t migrate to the cloud. In addition, account for creating and executing a test plan, and for addressing potential data privacy and security issues during the move. Don’t forget the costs for running parallel environments during the migration. Few companies can afford migration downtime, and it’s likely yours will continue to use its applications throughout the process. You’ll need to spend time and money to ensure the data in your on-premise systems stays in sync with what’s in the cloud.
We find that calculating the cost of the actual migration can be challenging. It’s highly dependent on the skill set of the team performing the migration. A more senior, experienced team will be more efficient and cost effective than a junior team. It may make sense to ‘T-shirt size’ the expected level of effort based on team skill level and application complexity. Assign small, medium, and large classifications to give an idea of the effort required, rather than monetary figures. Time is a key factor in the success and cost of cloud migrations. Working with a consulting partner that has an extensive, proven track record of managing cloud migrations can expedite the process. So can employing the tools cloud providers offer, such as those included in the AWS Migration Hub.
Step 5: Estimate Post-Migration Costs
After the cloud migration is completed, there may be costs for continued integration and application testing. Training, labour, administration, and other expenses related to the cloud are likely to emerge. Make sure to account for them in your cost analysis and budgeting for the migration project.
Also, keep in mind that one of the benefits of moving to cloud services is potential cost savings. These can be realised through ongoing optimisation of an application after it has been migrated to the cloud. For instance, this might be achieved by taking advantage of load-based autoscaling to deliver the right level of resource as needed.
One More Piece of Advice…
As you can see there are many variables when it comes to estimating the total cost of an application cloud migration. While it’s important to include as much detail as possible when estimating costs, it’s equally important to consider your audience. What does the organisation care about from a numbers perspective? What are the goals for the migration? Are specific costs a cause of concern, or are there specific savings that need to be made?
Expect to have some back-and-forth with your executive audience as they raise questions or concerns. Numbers tell a story, and listening to your audience makes for an honest and open relationship that goes beyond hard figures.