The Hidden Cost of the Cloud: Bandwidth Charges

[qi:gigaom_icon_cloud-computing] Microsoft (s msft) is spending hundreds of millions of dollars to build out its next generation of data centers to host its cloud computing offering, Windows Azure Platform. While the company is clearly innovative in its data center designs and plans, the true reason behind its push toward the cloud may be its ability to turn a commodity product –- bandwidth –- into high gross profits. A quick analysis that we here at Panorama Capital did shows that the commodity business of selling the transfer of bytes may be one of the most profitable parts of running a cloud service.

Azure charges 10 cents for the bandwidth to upload and 15 cents to download a gigabyte of data. The disparity in pricing, I believe, is meant to encourage Microsoft developers to move lots of applications and associated data into Azure and then have lots of users access the applications from the same platform.

Let’s assume that a customer of Azure develops an application that downloads 10 gigabytes of traffic per day, 20 business days a month. That means the application downloads a total of 200 gigabytes of traffic in a month (and to make the point, let’s assume that the upload traffic is minimal). Azure charges the customer $30 per month for this bandwidth use (200 gigabytes times 15 cents per gigabyte), which seems like a small amount to pay.

If the customer’s application is only sending data and consuming bandwidth 12 hours a day –- all of its users are in North America — during 20 business days, that means that the customer is effectively using 1.85 megabits per second of bandwidth during the month (200 gigabytes per month divided by the sum of 20 days times 12 hours in a day times 60 minutes an hour times 60 seconds per minute). Put another way, the customer’s $30 per month equates to a bandwidth charge of $16.20 per megabit ($30 divided by 1.85 megabits per second).

Cloud service providers buy a lot of bandwidth to provide access to the Internet. My market research (albeit not exhaustive) puts the current price per megabit of bandwidth for a large cloud provider at around $8. That means that for the 1.85 megabits per second that the customer uses, Azure effectively pays $14.81 to its bandwidth provider and keeps $15.91, or 51 percent gross profit — not a bad profit margin on a commodity business like bandwidth. To be fair, other cloud service providers, like Amazon (s amzn) and Rackspace, (s rax) charge similar or higher bandwidth fees and likely make similar gross profits.

While this example is for a fairly limited charge to the customer of Azure, if a customer were to build an application on Azure that generates a lot of bandwidth, then the costs and profits to Microsoft get substantial. For an application that downloads 200 gigabytes per month, the costs are $600 for bandwidth for about 37 megabits per second of usage (again assuming the application only consumes bandwidth half of the day for 20 business days a month). Of that $600, Microsoft pays its service provider $296.30 and keeps $303.70 of gross profit.

And the model scales linearly –- if Microsoft can build up Azure to cumulatively charge for all customers’ applications sending 100,000 gigabytes of data a day, it will reap approximately $151,000 in daily gross profit off bandwidth. That would equate to a lot of copies of Microsoft Windows sold daily without any packaged software developers on staff required. With these gross profit margins, one can easily understand why Microsoft is building thousands of megabits of bandwidth to serve data from Azure applications.

So if you’re using a cloud customer and your application will send a lot of data from the cloud, our analysis indicates that once you’re sending over 50 gigabytes of data daily (or a terabyte a month costing you $150 on Azure, for example), it may make sense to leave the cloud and buy your own bandwidth to the Internet –- you’ll probably save 50 percent of your monthly bandwidth charges. The trick will be moving your application from the cloud to your own infrastructure and dedicated bandwidth and then finding the expertise to manage this environment. Cloud service providers are counting on that being a difficult trick to perform.