Total Cost of Ownership (TCO)
The cloud computing has made a difference in all types of organizations. However, the most noticeable is that startups generally speaking have taken the most advantage of cloud computing compared with the organizations of the 90s or earlier. The reason is that — in general — startups don't have their internal IT setup. Instead, they leverage cloud provider services for their IT infrastructure needs as it saves on CapEx.
Table of Contents
What is Total Cost of Ownership (TCO)?
The question that comes to everyone's minds is whether the cost of cloud computing is really very low? To get an answer to this question, we need to understand the concept of Total Cost of Ownership (TCO). Because of high flexibility and low cost, many companies overlook and do not analyze their decisions carefully, which could rise to risk factors such as hidden costs and vendor lock-in. In fact, the Total Cost Ownership (TCO) approach is all about considering and doing analysis all types of direct and indirect costs to mitigate risk factors.
The Total Cost of Ownership (TCO) is the sum of all costs involved in the purchase, operation, and maintenance of a given asset during its lifetime.
The Total Cost of Ownership approach includes the majority of possible costs and cost categories. The TCO approach uses a pre-defined scheme to analyze all possible costs component of an IT artifact. The Total Cost of Ownership (TCO) includes the purchase price, plus operating costs of an IT artifact, over the asset's lifespan. TCO is a way of assessing the long-term value of a purchase of an IT artifact in cloud computing.
In Total Cost of Ownership (TCO), the purchase price of an IT artifact is called CapEx, and the operation costs are called OpEx.
The TCO is intended to help buyers and owners determine the direct and indirect costs of a product or service to improve customer-supplier communication with regard to the entire lifecycle of an IT artifact from a cost perspective.
Businesses, in general, calculating a TCO, overlook many hidden and intangible aspects from both sides – TCO of on-prem IT infrastructure and TCO of cloud. They often apples-to-apples comparisons of the total cost of running servers on-prem vs. the total cost of running servers in the cloud. For example, if a business has 500 servers in operations in its on-premises IT infrastructure. They would look at what would be the rack rate of 500 compute instances of the same CPU, memory, networking bandwidth, and storage space.
This is a good place to start thinking about the cost of migrating to the cloud. However, that should be the final basis of making the final decision-making point. There are many hidden costs such as decreased total time or faster time-to-market, increased productivity, and better handling of elasticity of demand.
Though the goal of TCO is to have a mathematical model of the “real world,” certain assumptions are included to reduce the complexity of the real world. Some examples of assumptions are:
• Availability of internal infrastructure for the internet communication and client PCs
• The internal server infrastructure of the company is not included in TCO. The reason is internal server infrastructure needed is not required for the cloud computing services.
• Service provider change is considered to be a new cloud computing deployment. The reason is whenever the service provider is changed, and the effort is the same in the initial deployment.
Cost Types Included in TCO
Now let's see the general pricing scheme for IaaS, PaaS, and SaaS in TCO. Since this book is for AWS for the brevity and focus, and understanding of concepts, we have included the AWS pricing scheme in TCO.
AWS IaaS Pricing Scheme for EC2
• Price per hour for on-demand instances depends on the virtual machine's RAM, CPU cloud speed and storage, and platform (32-bit / 64-bit)
• Price of data transfers outside of AWS
• Price of reserved instances
AWS IaaS Pricing Scheme for S3
• Price per GB
• Price per transferred GB (outbound); inbound data transfer is free within the same region
• Price per 1000 queries for PUT, POST, COPY, or LIST operations
Most providers charge hourly – usage dependent. Some may charge less than others, but then there is room for an increase in the cost for inbound / outbound data transfer or even charging for internal data transfer.
PaaS Pricing Scheme
There are three types of pricing schemes that are used in PaaS: free of charge, complete package, usage dependent pricing. On AWS, most of the pricing for PaaS is usage dependent if you look at EMR, AWS Glue, or other PaaS type of services such as AWS Elastic Beanstalk.
SaaS Pricing Scheme
SaaS pricing schema is also used-based but simple compared to IaaS and PaaS. You may find it “free of charge” with non-binding and obligatory registration, or monthly charge based on the scope of services, the number of API calls, and the number of users.
Calculating TCO in Cloud Computing
Calculate Current IT Infrastructure Costs
The first step in calculating TCO is to calculate current IT infrastructure costs. This includes all current direct and indirect costs of running and maintaining IT infrastructure. In addition, the business also needs to find out the current workload on its servers, databases, and network bandwidth.
Estimate Total Cost of Cloud (TCO)
When migrating to the cloud, there are two things to keep in mind: many cost components present on on-premises will be off-loaded to the cloud provider. Also, cloud services are not inherently cheaper, and you need to know how to handle cloud costs well. Otherwise, your cost of operating the cloud spirals out quickly as developers will be launching servers and running available cloud services. Understanding major cost areas in the cloud are key to optimizing your cloud cost.
Two major cost areas are migration cost and the monthly cost of the selected cloud services.
The migration cost depends on how the migration is done. There are different ways to migrate the application to the cloud. According to Gartner, there are five ways to move applications on the cloud: rehosting the application without making any changes, refactoring, and running the application on the cloud provider's infrastructure, revising the application means extending the application, rebuilding or rearchitecting the entire application for the cloud, and last one in replacing the application with commercial software delivered as SaaS. Each way adopted to migrate has its own cost implications.
Another cost area to consider in the cloud migration is the monthly usage cost of utilizing the cloud services. What it means is the monthly cost depends on the workloads and specific cloud services consumed and method of purchase, for example, reserved, spot, or on-demand instances. Since this cost area differs for each organization, leading cloud providers provide pricing calculators to estimate monthly cloud usage costs. For, AWS provides a pricing calculator to calculate estimation based on the AWS products and services selected.
Two major factors that can affect your cloud bills with respect to monthly usage are the types of services consumed and the consumption model. With regards to types of services consumed, commodity services are much cheaper than running machine learning or analytic services. With regards to the consumption model, though on-demand is very popular –but it could turn out to be expensive depending on your usage. Another pricing model is to use a savings plan or pre-paid instances, such as reserved instances.
Training and Consultation Costs
If the organization doesn't have sufficient or no resources, there could be the cost of training or a consultant hired for the cloud migration effort.
Labor costs in On-premises Operations
On-premises operations are influenced heavily by labor costs, which include not only the physical security of the on-premises data center but also the maintenance and operation of servers to make sure the IT infrastructure is operating as expected. Some examples of maintenance and operation tasks are applying patches, taking backups, setting up new servers, troubleshooting servers, and networking issues — fixing if something is broken or not running as expected. When businesses migrate to the cloud, these direct labor costs are outsourced to the cloud provider.
Software Licensing Costs in Cloud Migration
Though cloud is, in general, cheaper than on-premises, there are so many moving parts of the costs that, if not managed properly, the costs of cloud migration could give headache.
Software licensing on the cloud is different on the cloud than on-premises. It is often pay-as-you-go and/or subscription-based for the number of users. The best example is salesforce.com, which licenses its usage to the number of users on a subscription basis. This model of licensing works well for a fully integrated software vendor or if you replace existing on-premises software with a cloud-based software solution.
Many big software vendors such as Oracle and IBM have license programs BYOSL – Bring Your Own Software License to the cloud. Under this program, organizations can use their existing on-premises license on AWS EC2. Microsoft also has a similar program called “License Mobility.” This offer is limited to a few main popular products such as SQL Server, SharePoint Server, and Exchange Server.
However, as a number of businesses are adopting the cloud, many software vendors have created new licensing models or adjusted the existing ones to make them more flexible. For example, Microsoft is also a cloud service provider, and many of its applications, such as Office, SharePoint, and Exchange software as subscription basis. IBM is also a cloud provider and provides services as a pay-as-you-go model.
There are three factors to look into with respect to software licensing: the number of users accessing the software, the number of processors on the physical hardware on the cloud where the software will be migrated, and special software usage rights for using the software in the virtualized environment. These three factors affect software licensing when migrating software to the cloud.
SK Singh is the founder, a software, cloud, and data engineer. He has been involved in the software industry for around 25 years. He has a bachelor's degree in computer science and engineering from India and a master's degree in software engineering from the Pennsylvania State University. SK has been involved in a wide range of software projects for many governments, private, start-ups, and large public companies in various software engineering roles. He has many professional certifications such as AWS, Hadoop, Kafka, Oracle, Unix, Java, Java-related frameworks, and many others related.