DEV Community

santhoshnimmala
santhoshnimmala

Posted on • Edited on

Calculating the True Cost of Migrating to AWS: A TCO Analysis

Hey, my name is Santhosh Nimmala, and I work as a Principal Consultant at Luxoft, leading Cloud and DevOps in the TRM space. In this series of articles, I will be explaining DevOps and DevTools with a focus on AWS, including real-world DevOps projects with code examples and common DevOps patterns. In this article, we will delve into the process of calculating the total cost of migrating applications from on-premises to AWS. At Luxoft, we follow these patterns when moving workloads to the cloud.

Cloud technology has revolutionized the way organizations operate by providing flexible, scalable, and cost-effective solutions to meet their IT needs. However, while the cloud offers numerous advantages, it is important for organizations to closely monitor their cloud costs to avoid overspending and optimize their investments. In this article, we will explore the significance of cloud cost analysis, the different stages and steps involved in the process, and strategies to reduce cloud costs. We will also provide an overview of the cloud pricing calculator and Total Cost of Ownership (TCO) analysis.

Why is Cost Analysis Important?

Cost analysis is crucial for several reasons. Firstly, it provides organizations with a clear understanding of their migration expenses, allowing them to compare and contrast with their current on-premises costs. This analysis helps identify areas where costs can be optimized. Secondly, it enables organizations to effectively allocate resources and optimize their cloud utilization. Thirdly, it helps in avoiding unexpected bills and allows for better project budget planning. Lastly, it provides a comprehensive cost breakdown, allowing organizations to compare different cloud providers and choose the one that best suits their needs.

Migrating applications to the cloud has become a strategic move for many organizations. Let's take Amazon Web Services (AWS) as an example. AWS is one of the leading cloud providers, offering a robust platform that can support trading applications with scalability, reliability, and cost-efficiency. Now, let's explore the key elements of cost analysis when migrating a trading application to AWS, including TCO and the AWS Pricing Calculator.

What is TCO and How to Calculate it?

Total Cost of Ownership (TCO) is a critical stage in assessing the overall cost implications of migrating an application to AWS. It involves identifying and measuring all costs associated with the application, both direct and indirect, over its lifecycle. Here are the important components to consider:

  • Infrastructure Costs: Make a list of existing infrastructure costs, including servers, network devices, storage, and data center expenses. Don't forget to include costs associated with procuring, maintaining, and upgrading these components. For example, acquiring a server on-premises involves costs such as facility expenses, maintenance, power and cooling, network connectivity, staffing and operations, and compliance and regulatory costs. All of these factors should be considered during the analysis.

  • Licensing: List down all the licenses associated with your application, such as application licenses, database licenses, and operating system licenses. Determine whether you can use the same licenses in the cloud or if there are dedicated licenses for cloud usage. For instance, some products have separate licenses for on-premises and cloud usage.

  • Labor Costs: Analyze the labor costs involved in managing the current infrastructure, including system administrators, network engineers, DBAs, and support engineers. Compare these costs with the management costs in AWS.

  • Maintenance and Support: Consider the costs involved in ongoing maintenance, upgrades, and technical support for your application. Evaluate how these costs will change after migration to the cloud.

  • Data Transfer: Take into account the data transfer costs associated with moving data between on-premises systems and AWS. Note that inbound traffic is often free or charged at a lower rate, while outbound traffic can be more expensive. Additionally, consider the cost of setting up a direct line connectivity between your data center and the cloud, as this may involve additional expenses.

Till now, we saw the cost involved in hosting applications on-premises and the cost factors to consider when migrating applications to a cloud provider like AWS. Now, let's explore AWS's tool called the AWS Pricing Calculator, which helps customers estimate the cost associated with running their workloads in AWS cloud environments. Let's see how we can utilize this tool.

  • Application Architecture: Obtain the application architecture of your trading app. In AWS, this architecture may differ from your on-premises diagram. If you wish to refactor your architecture, you can leverage cloud services. Once you finalize the services you want to use in AWS, list them all. This includes instance types (servers) based on your workload, storage requirements, auto-scaling, load balancing, database servers, and any other managed services provided by AWS in your application architecture.

  • Instance Types: Selecting the appropriate instance (server) for your application will be time-consuming. Based on your application requirements, you can gather statistics from your production environments, such as CPU, storage, network, performance, and workload patterns.

  • Usage Metrics: Estimate the usage metrics, including load by traffic, number of users, data transfer I/O, storage capacity, and server uptime. This data will help you calculate the usage-based costs.

  • Reserved Instances and Savings Plans: One of the reasons for moving to the cloud is cost reduction. You can significantly reduce infrastructure costs by opting for reserved instances and savings plans, saving up to 70-75% compared to on-prem infrastructure. This can be achieved by committing to 3-5 years of compute resource usage.

  • Pricing Breakdown: The AWS Pricing Calculator provides a clear breakdown of costs, including compute, storage, networking, data transfer, and any other managed services you choose. This provides granular visibility to gain insights into potential savings.

Now, let's take an example of migrating a trading application from on-premises to AWS. We have 15 environments in total, consisting of 10 medium-sized and 5 large-sized instances in the development/testing environment. In the table below, you can see the cost comparison between on-premises and AWS cloud.

Cost Category On-Premises AWS
Infrastructure Costs
Server hardware $150,000
Network infrastructure $30,000
Datacenter costs $20,000
EC2 instances $32,400
- R5.xlarge (10 instances)
- R5.x4large (5 instances)
EBS volumes $8,000
- 500 GB General Purpose SSD
VPC setup $2,000
Software Costs
Murex software licenses $100,000 $100,000
Third-party software $50,000 $10,000
Labor Costs
IT staff salaries $80,000
Consultants $20,000
Cloud architect $30,000
Migration specialists $10,000
Ongoing management $10,000
Maintenance and Support
Hardware maintenance $30,000
Software support contracts $20,000
AWS support plans $10,000
Occasional consultant fees $10,000
Data Transfer Costs
Data migration $5,000
Network transfer fees $5,000
Miscellaneous Costs
Backup systems $10,000
Power, cooling, physical security $10,000
Additional security measures $5,000
AWS Direct Connect $5,000
Total TCO $520,000 $265,400

You can see huge savings in cost most of this comes from compute, some of the major factors that are contributing to cost reduction in our cost are Cost-efficient Infrastructure, Reserved Instances and Savings Plans , Elasticity and Auto-scaling, Automation, and DevOps Practices not only this by training staff on the cloud also can reduce consultants cost significantly

By leveraging AWS Marketplace, licensing optimization, and some cloud-native alternatives we can save a lot of cost's on Licensing.

To Calculate the TCO we need use migration evaluator on our on-prem Infra structure process looks like below .

Image description

For Pricing calculator please flow below steps .
1) Go to https://calculator.aws/#/
2) Click on the create estimate button.
3) Start inputting all the services you want to use like below , this will ask different questions like which region , type , tendency ..etc

Image description

4) Click on Save and add service button , and add all other services finally you will get all cost for your architecture

In conclusion, conducting cost analysis is important when migrating workloads from on-premises to the cloud, specifically to AWS. It enables organizations to assess and understand the financial implications of the migration, ensuring it aligns with their budgetary objectives and overall business strategy.

Top comments (0)