7 Reasons I Used Windows Azure for Media Storage
August 26, 2010 2 Comments
Windows Azure is one service that Microsoft offers as part of its Cloud Computing platform. Earlier this year, I began leveraging a small piece of the entire platform on my side projects for what is considered “Blob Storage.” Essentially, I am just storing large media files on Microsoft’s servers. Below I outline why I chose this option over storing the large files on my traditional web host.
General Reasons for Cloud Storage
-
Stored Files Are Backed up
-
Workload Scalability if traffic increases
-
Cost scalability if traffic increases
Benefits of Microsoft’s Windows Azure
-
Easy to Learn for .NET Developers
I am a pretty heavy Microsoft developer so I more easily learned: how to use it, what the resources for learning it were, etc.
-
Azure Cheaper than Competitors
Thirsty Developer: Azure was cheaper than competitors
-
Azure Discounts with Microsoft BizSpark program
Azure is heavily discounted for BizSpark program members (Microsoft’s Startup program that gives free software for a 3 year time frame). BizSpark members get a big discount for 16 months, and a continued benefit for having an MSDN membership for as long as it is current (presumably a minimum of 3 years).
-
Ease of use
Retrieving and creating stored files is extremely easy for public containers. One can just get the blob from a REST URI.
How this applied to me
Traditional hosting had a very low threshold for data storage (1GB) above which it was very expensive to add on more storage. The same was true for Bandwidth but the threshold was higher (80GB). Instead, with Azure, the cost is directly proportional to each bit stored and/or delivered, so it is much easier to calculate cost and it will be cheaper once I get over those thresholds.
Using Azure for Storage produces the following Download Process
1. When a user requests a video file, he/she receives the web content and the Silverlight applet from my website.
2. Embedded in the web content is a link to a public video from Windows Azure storage.
3. Silverlight uses the link to stream the video content.
The link that my Silverlight applet uses to retrieve the file is a simple HTTP URI, which Silverlight streams to the client as it receives it. This is nice behavior; especially considering the file is downloaded directly to the client browser and does not incur additional bandwidth costs (from my traditional webhost) for every download.
What this means in terms of cost
There are several cost-increasing metrics as I scale my use of Windows Azure (see pricing below). Fortunately, Azure is much cheaper than my traditional web site hosting provider.
Under my current plan, costing roughly $10 per month, my hosting provider allows us to use:
80 GB of Bandwidth per Month
1 GB of storage space
For each additional 5GB of bandwidth used per month, a $5 fee is charged
For each additional 500MB of storage on the server above 1GB, the additional fee would be $5.
Fees for Windows Azure uploads & downloads can be easily predicted using the metrics below.
Azure Pricing (Effective 02/01/2010)
Compute = $0.12 / hour (Not applicable to this example)
Storage = $0.15 / GB stored / month
Storage transactions = $0.01 / 10K
Data transfers = $0.10 in / $0.15 out / GB
An Example
Let’s say that I average 80 GB of Bandwidth Usage per month on a traditional hosting provider. Because I would be using the full allotment from my provider, that would be the cheapest scenario per GB. Let’s assume that half of my $10 payment per month accounts for Bandwidth and the other half accounts for storage. In that case, my cost for Bandwidth Usage would be $5 / 80 GB, or $.06 / GB.
That may seem cheap, but remember that this price is capped at 80 GB per month. If my website sees tremendous growth, to say 500 GB per month then I would be in real trouble. For that additional 420 GB, I would have to pay a total of $420 per month. My total monthly bill attributed to Bandwidth Usage of 500 GB would be $425, or $.85 / GB.
In contrast, the Azure storage model is simple and linear. For the low traffic case of downloading 80GB per month, it would actually be more expensive. However, as Bandwidth Usage grows, the rates do not go through the roof. Case in point, my total monthly bill attributed to Bandwidth Usage of 500 GB would be $75 (assuming all outgoing traffic).
I could walk through a similar example for the cost of storage but I think you see the point. In fact, it would likely be even worse. Since my website collects videos, it would be more likely that the amount of storage used would grow faster than the Bandwidth used.
As you can see, Azure storage and bandwidth is much cheaper, especially after scaling over the initial allotment.
Note: Storage transactions are a negligible contributor to cost in comparison.
This article should really be called “7 Reasons Why I’m a Huge Nerd”.
Pingback: Implications of Windows Azure Container Types « Midwest Developer Insights