7 Reasons I Used Windows Azure for Media Storage

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

  1. Stored Files Are Backed up

  2. Workload Scalability if traffic increases

  3. 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.

Advertisements

5 Career Lessons Learned Planning My Wedding

My wife and I were married in July two years ago (2008). We had a fairly large wedding, by our standards, which involved many nights spent planning, collaborating, and organizing. The list of tasks that needed to be completed seemed never-ending. To manage them, we used a website that listed them out month-by-month, letting us know when our progress had slipped (e.g. having not yet chosen our center-pieces 8 months prior). Little did I know that we did not have to do every little thing that the website specified…

Looking back on that wonderful night, I realized that I learned a great deal from planning such an important event. Much of what I learned will help me in my career. Below are the highlights.

1. Prioritize

Often times in America, planning of a wedding begins moments after the excitement of the engagement quells. Coming from a male perspective, this is amazing. We spend our time planning to “pop the question”, and then as soon as we do, it is as if the floodgates of wedding expectations and desires open right up. From that point forward, the giant list of preparative tasks stays at the fore-front of our minds. Ever-growing. Never shrinking.

As overwhelming as the list may be, it can be managed through prioritization, by sitting down with your fiancee and discussing those items that are the most important. This exercise leads to a plan that can save you money and time, by realizing which items can be purchased for less money, which items can be delegated, or which items can be left uncompleted.

In addition to the list of known tasks, there will be issues. For example, the color of my vest that I wore on my wedding day was incorrect. It was white when it should have been ivory. I, of course, didn’t notice until it was too late. It was not a big deal. Things like this will happen in weddings and in your career. As long as it does not affect your top priorities, do not let it stress you out. There will be a time and place to resolve such issues. That time is not during your wedding day.

Think of this scenario in the business world. You and a team are working toward a Big Hairy Audacious Goal and it feels as though processes are becoming disorganized. You feel like you have to do everything or you will be a failure. This is simply not true.

Take a step back and evaluate the most significant goals and tasks with your core group. Focus. Make sure to proceed with only those items that will bring progress to your primary goals. If you can achieve them, you will be successful even though things may not be perfect.

2. Outsource

Most people, when planning for a wedding, still have a life to live. They have a full-time job, a social life, family obligations, school… Time management becomes crucial. When wedding planning, you must realize that your time is important, because only you (and your fiancee) can make many of the important decisions. Instead of performing all the work yourself, you MUST delegate/outsource. In my case, I thought I wanted to have complete control over the DJ’s playlist. However, I soon realized that I just wasn’t going to be able to create a complete playlist and also accomplish my bigger goals. “Leave it to the DJ,” I said. “He is a professional, afterall.”

Hopefully you will find that family and friends offer to help with wedding preparations. Perhaps your initial instinct is that you do not need it. I advise you to find a way for them to help. Practice your delegation skills. Remember, your time is critical. If you can relinquish a little bit of control to allow someone else to help, you will have more time to work on the truly important aspects of your wedding. Besides, if you try to do everything yourself, it’s not going to turn out perfectly anyway, because you will run out of time. At the end of it all, make sure to let your helpers know how appreciative you are that they were able to contribute.

At the workplace, how many times have you found yourself working on a rote task because it was easier to perform yourself than to teach someone else how to do it? Please discontinue this dangerous habit! If you are working toward a tight deadline, you must have enough time to do those things that only you can do. Delegate. Outsource. Allow someone else to concentrate on those tasks that you work on just to get them out of your way. He/She may even be able to do them better than you can.

3. Overcommunicate

An important aspect of outsourcing is communication. Most likely, the biggest reason we avoid delegation of tasks is because we fear that the task will not be completed satisfactorily. This is a valid fear. Vendors, colleagues, and friendly helpers all have their own ideas and biases. Without appropriate direction, they will run with them until told to make changes (which will be too late).

Therefore, when planning a wedding or directing a project in our careers, we must overcommunicate. We cannot assume our helpers know what we want. You may not even know what you want right away either. Just make sure to follow-up with them. Express your concerns clearly and with objectivity. Explain how your tastes have changed. Remember, in most cases, you are dealing with professionals. They are skilled in taking an idea and creating something tangible. However, they cannot read your mind.

4. Disrupt Your Comfort Zone

This one is the most important.

There were many, MANY things that I had to do for my wedding that I simply did not want to do. In other words, if I could have avoided uncomfortable obligations, such as giving a speech at the Rehearsal Dinner or having to entertain during the Garter Toss, I would have. However, I would not have realized at the time how much I was missing. Looking back, the uncomfortable times created the memories and stories worth re-telling. Additionally, the uncomfortable efforts gave me experience doing things I was not used to, ultimately giving me more confidence no matter the endeavor going forward.

Ever since that night I have made a concerted effort to try and push myself outside my comfort zone. The book The Think Big Manifesto refers to this as “Getting Comfortable with Discomfort.” I admit, I have not made as many strides as I would have liked in this area. Why? Because doing things outside your comfort zone is HARD! By definition, it means doing things that are uncomfortable. Then, once you have mastered those so they are comfortable, finding new awkward things to do. Without a catalyst or a deep-rooted goal, most people will slip into a rut of comfort.

In the case of a wedding, finding that goal can be simpler. It might be to “have the best time possible,” to “show our family how much we love them,” or to “actually look half-decent while dancing.” In our career and our life, it is much more difficult to find motivation. I encourage you to do some “soul-searching”. Determine what it is you truly want from life and begin moving forward by living outside your comfort zone. If you cannot settle on a worthy goal, I recommend making a list of things that you feel like you should be able to do but have never done.

Here are a couple things on my list:

  • Sell Something
  • Talk to a Stranger in a bar (Sober)
  • Babysit
  • Medium-Sized Home Improvement Project

Perform one a week. Perhaps it will open your mind to new possibilities. I will post my progress on this blog as well.

5. Connect

There is no better time to let someone know how special they are than right now. Ok, so this isn’t necessarily career advice, but it does come into play. If you appreciate someone, let them know. Right now. In person. You will be glad you did. You will feel better about spending many hours at work knowing the people you love know you love them.

Some people find this difficult, including myself. If you are one of these people, or for some other reason you would like to say “Congrats” or “I’m Sorry” or “I Love You,” but you can’t or don’t know how, browse to my website, Viternus, which is exactly for situations like this. Create a message that can be delivered at a later date. Perhaps that will take off some of the pressure.

Conclusion

By the end of it all, we had made mistakes and left things unfinished. But guess what! I still consider the event a success. As long as our core group (i.e. my wife and I) are focused and aligned with what we want, it is possible to have success even though everything is not perfect. I will strive for this type of success throughout my life and career.