Streaming Costs Explained?

I am looking to implement an Amazon EC2 and Wowza solution, but I want to understand my costs. Can someone look over my thoughts and give me feedback to see if I understand the pricing structure of Amazon EC2?

I would be interested in the Amazon EC2 small instance. Based upon the Wowza Quick Start Guide the bandwidth capabilities of a small instance are Small 150 mbs (Which is approximately 600 250/kbs streams). So I assume this breakdown:

600 @ 250kbps streams or

300 @ 500kbps streams or

150 @ 750kbps streams or

075 @ 1000kbps streams

I broke this out because I would like to provide multiple streams at multiple bit rates.

The Amazon EC2 Wowza server rates are as follows:

$5.00 per month for an instance (running or not?)

$0.15 per hour running

$0.10 per GB data in (upload)

$0.15 per GB data out (download) I think I am only going to use this tier of service.

Now my cost calculations.

I am using 1000kbps because that would be the aggregate bandwith total of all of my streams.

Web Browser/Desktop feed = 500kbps

Android feed = 250kbps

iPhone feed = 250kbps

I got this formula from Google.

1000kbps = 0.000125 gbps

Instance Running Cost

$0.15 * 8hrs * 4days = $4.80

Content Upload Cost

$0.10 * (0.000125gbps * 3600secs * 4hrs * 4events) = $0.72

Content Download/Distribution

$0.15 * (0.000125gbps * 3600secs * 4hrs * 4events * 50users) = $54.00

Instance Fee

Small Instance $5.00 per month

Total max cost to live stream 4 events of 4 hours in length to 50 users for one month is:

18 users @ 500kbps

32 users @ 250kbps

$4.80 + $0.72 + $54.00 + $5.00 = $64.52

Have I gone about this the right way?

Yup, that looks more or less right, although a small instance can push out about 150 streams at 1Mbps. (Based on the official recommendations from Wowza - I’ve routinely gone as high as 170Mbps on a small instance and only hit about 70% CPU though)

A common way to look at it is in terms of cost per viewer-hour. At 650K/stream, it works out to around 4 cents/viewer-hour.

Also one thing to consider if you’re scaling out beyond a single server - you can feed a lot more streams with 3 small edge repeaters (@ 15 cents/hour) than you can with a single large instance (@ 45 cents/hour).

-Ian