January 08, 2009

Stop Saying CapEx Vs. OpEx in Cloud and SaaS Models

I've seen many people refer to one of the economic benefits of cloud computing as moving expenditures from Capital Expenditures to Operating Expenses. As I have suffered through many a tech nerdy explanation, I'll now make you all suffer through an accounting nerdy explanation, as among my many sins I have an MBA.

First, some background: when people make that statement they are making the argument that with traditional data centers you need to buy servers, networking equipment software licenses and other necessary IT infrastructure up-front (sic "CapEx"), while with cloud computing (whether it's IaaS, SaaS or PaaS), you pay as you go, based on usage (sic "OpEx").

Here are the problems with this statement:

Problem #1: Confusion of accounting terminology

The statement as made above has nothing to do with CapEx and OpEx, which are accounting terms. What these people are referring to is actually cash flow, and specifically the timing of cash outlays. In other words they are talking about spending money upfront versus over time.

I won't bore you too much with accounting terminology, but CapEx refers to an investment we make in assets that will be used over a long period of time (typically several years). CapEx assets are usually depreciated in value over time on the company's accounting (in other words, their value on the books - specifically Balance Sheet - is decreased every period based on certain rules). OpEx refers to expenses incurred in the course of ordinary business, such as sales, general and administrative expenses (and excluding cost of goods sold - or COGS, taxes, depreciation and interest).

CapEx can include things like real estate, vehicles, machinery - and yes, servers. But this has nothing to do with the cash payments for these assets. For example, we may buy servers outright, but with a payment plan of 3 years. It's a CapEx, but the cash outlays are spread over time. On the flip side, we may pay for a service -- say, support services for three years -- upfront, but from an accounting perspective it is an operating expense that is accounted for over the three years.

Problem #2: There is nothing inherently financially beneficial in moving an expense from CapEx to OpEx.

There is no reason to think that there is a financial benefit to making an OpEx expense vs. CapEx expense. Period.

Problem #3: There is nothing inherently financially beneficial to switching from an upfront investment to a cash outlay overtime

"Fine", you say. "You're nitpicking accounting terminology, Geva. What people really mean is that you don't have to make a big upfront investment in your IT infrastructure and surely that's good for any business."

Wrong.

I hope that most adults understand the concept of "time value of money", but I am often surprised by what people say. If I were to tell you I'll give you $1 million dollars today or $1.1 million a year from now, which would you choose? There is of course no way of answering this question without more information. For example, what is the level of certainty I'll be able to pay the $1.1 million in a year? If you took the $1 million now and invested it, would you be able to make gains of more than $100,000 a year and at a risk equal to or lesser than the risk that I won't be able to pay the promised amount in 12 months? How much do you need the money now? Maybe you are in debt for a $1 million and paying more than 10% interest a year. Maybe you're just flat broke and desperate for money to pay the rent. What are the tax consequences of taking the money now or in 2009? And so on.

The same applies to the notion of the business investing upfront in IT infrastructure or paying for it over time. Let's get something straight: on a per time unit basis, it is more expensive to rent than to buy. This almost always holds true. Joe Weinman put this nicely in his 10 Laws of Cloudonomics post on GigaOm, as Cloudonomics Law #1:

An on-demand service provider typically charges a utility premium — a higher cost per unit time for a resource than if it were owned, financed or leased.

In other words, let's say you're buying a server from Dell for $5,800 dollars and you expect to use that server for 3 years. You also have to pay a 10% annual maintenance fee on that server, so the total cost over three years is $7,540. Amazon, on the other hand, charges $0.40 per hour for an equivalent Large instance on EC2. A simple calculation will show that using the EC2 instance for three years would cost you:

$0.4 x 24-hours/day x 365 days/year x 3 years = $10,512

And that's excluding other charges from Amazon for bandwidth usage and other services, but it includes maintenance which falls on Amazon. This also assumes that you are using the AMI 24/7/365, which may not be true, but will get to that later.

Apparently, over the period of 3 years you're paying more for the Amazon Machine Instance (AMI) than you are for buying the server upfront. Without any consideration to other cost issues involving the two options (and I am well aware that there are many and I'll get to them), let's look at the time value of money implications.

In essence, you are borrowing money from Amazon to buy a server, and paying the loan back to them in monthly payments of $292 ($10,512 / 36 months). Which means it's an annual interest rate of roughly 15%. Is that a good deal? Maybe. As I explained in my $1 million example above, it all depends on your situation and alternatives: for example, can you invest that money is sales, marketing, R&D and other activities that will produce more than 15% annual return?

Going back to the title of this post, my point in all of this is not that there are no economic benefits to cloud computing, but that whatever those benfits are, they have nothing -- absolutely nothing -- to do with CapEx vs. OpEx, so please don't say that anymore!

As I alluded to in my previous post, I want to dedicate a separate post to the ROI of cloud computing. I will just say briefly that in the analysis above I left out some very important things because they were not the focus of this discussion:

The whole point about cloud computing, and particularly infrastructure-as-a-service, is that you DON'T utilize 100% of your IT 24/7/365. Cloud providers allow you to deploy new servers in minutes and pay based on hourly usage, which will have a huge impact on the economics. Several back of the envelope calculations I've seen, show that even with an average utilization as high as 70% (and that's very high), you're better off with EC2 than buying your own hardware

There are many costs involved in running your own IT infrastructure that go beyond just buying servers, networking equipment and software licenses. These include real estate, energy, cooling, IT admin staffs, management and monitoring software and servers and on and on. It is true that many of these costs are already included in hosting services such as Rackspace, but the important thing is to make sure you're always comparing apples to apples.

There are many economic benefits to cloud computing that arise from issues other than direct costs savings on infrastructure acquisition. They have to do with things such as increased agility (the ability to get up and running with new products and services faster), with the ability to scale on-demand to handle unexpected loads (and thus prevent loss of business due to decreased performance or outright downtime), and several other issues, which I will discuss in my ROI post.

Comments

Stop Saying CapEx Vs. OpEx in Cloud and SaaS Models

I've seen many people refer to one of the economic benefits of cloud computing as moving expenditures from Capital Expenditures to Operating Expenses. As I have suffered through many a tech nerdy explanation, I'll now make you all suffer through an accounting nerdy explanation, as among my many sins I have an MBA.

First, some background: when people make that statement they are making the argument that with traditional data centers you need to buy servers, networking equipment software licenses and other necessary IT infrastructure up-front (sic "CapEx"), while with cloud computing (whether it's IaaS, SaaS or PaaS), you pay as you go, based on usage (sic "OpEx").

Here are the problems with this statement:

Problem #1: Confusion of accounting terminology

The statement as made above has nothing to do with CapEx and OpEx, which are accounting terms. What these people are referring to is actually cash flow, and specifically the timing of cash outlays. In other words they are talking about spending money upfront versus over time.

I won't bore you too much with accounting terminology, but CapEx refers to an investment we make in assets that will be used over a long period of time (typically several years). CapEx assets are usually depreciated in value over time on the company's accounting (in other words, their value on the books - specifically Balance Sheet - is decreased every period based on certain rules). OpEx refers to expenses incurred in the course of ordinary business, such as sales, general and administrative expenses (and excluding cost of goods sold - or COGS, taxes, depreciation and interest).

CapEx can include things like real estate, vehicles, machinery - and yes, servers. But this has nothing to do with the cash payments for these assets. For example, we may buy servers outright, but with a payment plan of 3 years. It's a CapEx, but the cash outlays are spread over time. On the flip side, we may pay for a service -- say, support services for three years -- upfront, but from an accounting perspective it is an operating expense that is accounted for over the three years.

Problem #2: There is nothing inherently financially beneficial in moving an expense from CapEx to OpEx.

There is no reason to think that there is a financial benefit to making an OpEx expense vs. CapEx expense. Period.

Problem #3: There is nothing inherently financially beneficial to switching from an upfront investment to a cash outlay overtime

"Fine", you say. "You're nitpicking accounting terminology, Geva. What people really mean is that you don't have to make a big upfront investment in your IT infrastructure and surely that's good for any business."

Wrong.

I hope that most adults understand the concept of "time value of money", but I am often surprised by what people say. If I were to tell you I'll give you $1 million dollars today or $1.1 million a year from now, which would you choose? There is of course no way of answering this question without more information. For example, what is the level of certainty I'll be able to pay the $1.1 million in a year? If you took the $1 million now and invested it, would you be able to make gains of more than $100,000 a year and at a risk equal to or lesser than the risk that I won't be able to pay the promised amount in 12 months? How much do you need the money now? Maybe you are in debt for a $1 million and paying more than 10% interest a year. Maybe you're just flat broke and desperate for money to pay the rent. What are the tax consequences of taking the money now or in 2009? And so on.

The same applies to the notion of the business investing upfront in IT infrastructure or paying for it over time. Let's get something straight: on a per time unit basis, it is more expensive to rent than to buy. This almost always holds true. Joe Weinman put this nicely in his 10 Laws of Cloudonomics post on GigaOm, as Cloudonomics Law #1:

An on-demand service provider typically charges a utility premium — a higher cost per unit time for a resource than if it were owned, financed or leased.

In other words, let's say you're buying a server from Dell for $5,800 dollars and you expect to use that server for 3 years. You also have to pay a 10% annual maintenance fee on that server, so the total cost over three years is $7,540. Amazon, on the other hand, charges $0.40 per hour for an equivalent Large instance on EC2. A simple calculation will show that using the EC2 instance for three years would cost you:

$0.4 x 24-hours/day x 365 days/year x 3 years = $10,512

And that's excluding other charges from Amazon for bandwidth usage and other services, but it includes maintenance which falls on Amazon. This also assumes that you are using the AMI 24/7/365, which may not be true, but will get to that later.

Apparently, over the period of 3 years you're paying more for the Amazon Machine Instance (AMI) than you are for buying the server upfront. Without any consideration to other cost issues involving the two options (and I am well aware that there are many and I'll get to them), let's look at the time value of money implications.

In essence, you are borrowing money from Amazon to buy a server, and paying the loan back to them in monthly payments of $292 ($10,512 / 36 months). Which means it's an annual interest rate of roughly 15%. Is that a good deal? Maybe. As I explained in my $1 million example above, it all depends on your situation and alternatives: for example, can you invest that money is sales, marketing, R&D and other activities that will produce more than 15% annual return?

Going back to the title of this post, my point in all of this is not that there are no economic benefits to cloud computing, but that whatever those benfits are, they have nothing -- absolutely nothing -- to do with CapEx vs. OpEx, so please don't say that anymore!

As I alluded to in my previous post, I want to dedicate a separate post to the ROI of cloud computing. I will just say briefly that in the analysis above I left out some very important things because they were not the focus of this discussion:

The whole point about cloud computing, and particularly infrastructure-as-a-service, is that you DON'T utilize 100% of your IT 24/7/365. Cloud providers allow you to deploy new servers in minutes and pay based on hourly usage, which will have a huge impact on the economics. Several back of the envelope calculations I've seen, show that even with an average utilization as high as 70% (and that's very high), you're better off with EC2 than buying your own hardware

There are many costs involved in running your own IT infrastructure that go beyond just buying servers, networking equipment and software licenses. These include real estate, energy, cooling, IT admin staffs, management and monitoring software and servers and on and on. It is true that many of these costs are already included in hosting services such as Rackspace, but the important thing is to make sure you're always comparing apples to apples.

There are many economic benefits to cloud computing that arise from issues other than direct costs savings on infrastructure acquisition. They have to do with things such as increased agility (the ability to get up and running with new products and services faster), with the ability to scale on-demand to handle unexpected loads (and thus prevent loss of business due to decreased performance or outright downtime), and several other issues, which I will discuss in my ROI post.