I think Simon bases his argument on something like the Rational Economic Man theory of the enterprise. Or, more specifically, the Rational Economic CFO. If the costs of a service provider are destined to be lower than the costs of internally-operated alternatives, and your CFO is rational (most tend to be), then the conclusion is foregone.
And of course, costs
are going down just as they are predicted to. Look at this post by Avi Deitcher,
Does Amazon’s Web Services Pricing Follow Moore’s Law? I think the question posed in the title has a fairly obvious answer. No. Services aren’t just silicon, they include all manner of linear terms, like labor, so the price decreases will almost certainly be slower than Moore’s law, but his analysis of the costs of a modestly sized AWS solution and in-house competition is really useful.
Not only is AWS’ price dropping fast (56% in three years), but it’s significantly cheaper than building and operating a platform in house. Avi does the math for 600 instances over three years and finds that the cost for AWS would be $1.1M (I don’t think this number considers out-year price decreases) vs. $2.3M for DIY. You’re mileage may vary, but these numbers are a nice starting point for further discussion.
These results raise an interesting question, if the numbers are so compelling, why did Walmart just reveal that they are
building a ginormous private cloud? Why would anyone?
Let’s look at some numbers. There is a large east coast bank that has about 120,000 server images. Let’s assume to simplify things that those aren’t just virtual images but map to hardware nearly one to one.
I’m almost certain that BigBank's costs aren’t as high per unit as 600 Corp's. At over 100,000 instances they’ll experience at least some of the scaling benefits that AWS itself has. Rather than do a careful estimate, let’s just assume that their efficiency is half way between AWS and 600 Corp. If that were the case, their cost to buy, operate, and manage those servers might look like: ($1.1M + $2.3M)/2 * 120,000/600 ~ $340M over three years. I’ve seen it reported that they have 4000 developers and a total annual IT budget of $750M so these numbers seem at least reasonable.
So, if Rational CFO makes big bank switch everything to AWS, and ignoring switching costs for now, what will they save?
$340M - $1.1*120,000/600 ~ $120M in savings over three years, or about $40M per year. Again, this leaves out transition costs, and it also ignores out-year AWS price decreases, but it’s probably in the ball park.
$40M annually is a lot of money and no CFO would ignore it, rational or not. But total revenues at this company are $34B with profits of $10B/year. So, the incremental benefit of moving all compute to AWS is only .4% of profit. Again, that’s not nothing, but it’s not a top-line driver of business results.
Interestingly, even if AWS were to continue improving its cost advantage through a combination of increasing scale and Moore’s Law, all the way to free, a move would still only improve this company’s bottom line by .8% annually.
I think this is the point that some public cloud proponents miss. We are talking about decisions that at least feel like high risk and they don’t seem to produce the material levels of ROI necessary to give up control.
This is not unlike the choices consumers make every day when they buy a car and choose the convenience of an SUV over the fuel economy of alternatives. For many people, the incremental fuel cost just isn’t that big of a deal in the context of their total household budget. If they do choose not to go with an SUV it’s often because of other concerns.
I think private cloud will be around, at least in very large enterprises, for a long time and for similar reasons. The control the CIO (and general counsel) seeks will trump the narrower interests of Rational Economic CFO. And I don’t see lots of CIO’s taking huge risks and kicking off expensive five year transition plans to improve profitability by .4%.
Two more thoughts before I wrap this up.
It’s possible that the meta-trend of corporate digitization (meaning, IT has a front end business enabler rather than just back end record keeper) will make IT costs a more material component of a lot of businesses. This might change the character of an analysis like this for some businesses, however, I used a bank as my example, and they are already using IT aggressively at the front end of the business and have high IT costs relative to revenues. These guys have the most to gain by switching, and so far, aren’t. In fact, so far they are the kinds of companies most interested in projects like Open Compute because they see the future in their own data centers.
On the other hand, we might argue that companies that use IT less aggressively would be more likely to take advantage of public cloud. The argument here would be that, since they run fewer servers, their internal costs are higher on a per-server basis (they are less efficient because of lower scale) so their apparent savings per server would be higher. This is probably true, but they would also see savings *as a percentage of profit* even lower and less material. Better savings on a per unit basis, but perhaps even lower down the CIO / CFO’s priority list on a magnitude-of-impact basis.
Another common argument toward public cloud is “well, of course the legacy stuff is stuck, but the new stuff will go to the cloud.” This may be true, and there are obvious examples of this happening, but I don’t think it’s any more of an iron clad argument than it’s more general cousin.
Moving some workloads to the cloud while maintaining core systems in house adds complexity and almost as much perceived risk as moving everything, but for much lower apparent savings (How much would that bank I mentioned save by putting 100 machines on AWS?). This will certainly happen, especially for discrete workloads that are time-variant, but I’m not convinced that moving all new workloads to AWS is anyone’s low energy state.
I’ll caveat all of this with a “who knows?” and a shrug. However, if you’re confused as to why enterprises are taking so long to adopt public cloud, it might not be because they are stupid, it might just be that the risk relative to the savings isn’t enough to drive the behavior you were expecting (or depending on).