Amazon has servers around the world and they offer no-contract, hassle-free static content delivery, or rather they did. Now they also offer streaming server technology which means you don't have to.
Is this a big deal? As a certain online video leader told Mark,
"It [AWS] makes RTMP streaming available to the masses. All other CDN's are nice if you are a big company with people that can negotiate prices, but AWS is the only one you can instantly sign up for and get started. They're extremely cheap for low volumes too. The other CDN's won't talk to you if you stream less than 10GB/month."
With Amazon Cloudfront's announcement that they are ready to host your streaming content, you don't need to talk to anyone. This is seriously going to force the industry to adapt. If their prices are comparable or better than the current CDN offerings it's going to be a massive shift in power and Amazon could end up accidentally taking out one or two.
But that's none of our concern, business is about adapting and overcoming and we, as publishers of content that needs to be streamed to the masses, will do just that and so should the rest. The Amazon Cloudfront servers are running Adobe's Flash Media Server 3.5.2 (FMS) which means you can use standard Real Time Messaging Protocol (RTMP) protocol, or its encrypted version, RTMPE. It also means potential for dynamic bit rate streaming so that no matter what kind of connection the end-user is on, the video will stream as well as it can.
Recently, Gamers Daily News had its YouTube Channel shut down for copyright infringement. It seems that even though we are directly sent game videos, we are not to distribute them. I know, it sounds completely asinine to me as well. But perhaps that, combined with this, was the kick in the pants we needed to find our own solution and start generating some revenue off of our video streaming.
How's it work?
Amazon Cloudfront organizes your content into distributions with unique Cloudfront.net domain names. You can even map your own domain to one if you like. The files you store there can them be accessed via standard HTTP or RTMP. You can even host files in multiple locations and then serve them based on GEO-IP (pretty sure you'd need to do that coding yourself though). It all sounds so easy but is it?
Here's what they say you need to do to get started:
- Store the original versions of your files in an Amazon S3 bucket.
- Create a distribution to register that bucket with Amazon CloudFront through a simple API call.
- Use your distribution's domain name in your web pages, media player, or application. When end users request an object using this domain name, they are automatically routed to the nearest edge location for high performance delivery of your content.
- Pay only for the data transfer and requests that you actually use.
So I went to test it out. First off, you can use your Amazon Affiliate login to start using AWS (awesome!) I'm hoping as I write this that I can also use my Amazon Affiliate revenue to pay for the services, on the next page I found out that you cannot though if you have an Amazon.com Visa you can use that along with all the standard credit cards (No Paypal or other electronic payment options available, a pity). It seems they pinged my credit card for a $2 charge when I signed up, I'm not certain, but I see a $2 hold placed today and the only thing I have done is sign up for Cloudfront.
Now they say you only pay for the data in and out for Cloudfront, but you also have to pay for storage via the Amazon Simple Storage service. That's 15 US cents a Gigabyte for the first 50 Terabytes. Oh and that's monthly so if you have a lot of content it could ramp up quickly. 100GB would be $15/month just in storage fees. That seems like a total scam to me considering storage space should be a one-time purchase in my book. But if you need content to be available as fast as possible in both Europe and America (where Amazon offers storage), this is a good option as there are three locations - US Standard (Virginia most likely), US Northern California and EU Ireland.
In the example above I mentioned 100GB of content, that would be $15/month in storage. But the whole point is to stream that data to the masses (as we are here to talk about video streaming). So if you have 1000 viewers for your content per month that turns into 100,000 GB a month (100GB time 1000 views). This falls into the first 10TB tier of streaming service and so in the US and EU it would be 17 US Cents per GB or $17,000! Slightly more if you use a Hong Kong or Japan Edge location.
Alright so maybe 100GB with 1000 viewers each is excessive, or highly optimistic. So let's do the math for 100GB. 100GB of transfer would be $17 a month (150 would be $25.50) We'll say 150GB of storage as well which is $22.50 so that totals up to $39.50 a month.
Remember what was said about sub 10GB ("The other CDN's won't talk to you if you stream less than 10GB/month")? Well 10GB of storage is $1.50 a month and 10GB of streaming at Amazon is another $1.70 for a total of $3.20 per month.
Amazon certainly is taking their global network and turning it to profit in new ways. I can see Google looking at it with watering mouth and thinking 'hey do we have enough spare resources to do this as well?' Then it would be a fight of gigantic proportions for your data storage and streaming and with Google, you'd already have built-in ad-serving. Oops, sorry Amazon, didn't mean to give Google any ideas...or did I? But I digress. Back to the topic at hand.
Is Amazon Cloudfront worth the cost?
It would sure seem like it. For those of you who aren't transferring 10GB a month the cost would be minimal. It could certainly speed up the delivery of that streaming video for your users in the US and EU and it would give you a stable environment where all you really need to do is upload, link and just pay for what you use.
Some Additional Technical Notes About Amazon Web Services and Amazon S3
The AWS Management Console, which is still in beta, sucks. Not in an organizational way, but in a not very user friendly way. Several times while writing this article scripts had to be stopped, the browser had to be full-screened so I could close a popup and generally it's slow. If you're like me and travel and work on a lower-powered or smaller laptop (like a netbook) then you'll find these issues annoying you as well.
Also, for each service they offer, you have to activate it. So in my case I used my affiliate account to login and activate Cloudfront, but before I could set anything up I had to then go activate a Simple Storage Service (S3) account so I could then create a distribution and link it to a bucket (where you store your stuff in S3). They say I already had access to it (from the Cloudfront activation no doubt) but the pages also could not seem to remember that I was logged in and clicking on many of them would take you to a page that said "login" or even "Create an AWS account." Clicking on these links did not require you to login or signup again but it certainly is not something that should be happening. From many pages there is no link back to the dashboard so it's a pain in the ass from a navigation standpoint.
For some reason, unknown to me at the time, I could not get a distribution to be created. I thought perhaps it was a Firefox problem and checked in IE8. What I realized was that for some reason the list of distributions was minimized and only a window showing "0 Distributions" was shown. I had to pull down on a separator bar to see the list of distributions. Most likely another minor annoyance because of the resolution of the netbook.
This might make you laugh, but I could not figure out how to get files up to the S3 bucket. So I had to go read the documentation. Turns out it was no surprise that I could not find it as you have to do actual coding to get the files up there. Well actually, you just have to go search for some tools. I found S3Fox Organizer which is a Firefox add-on that helps you organize/manage/store your files on Amazon S3. It is easy to install and use as it is integrated into the browser. so BONUS!
For a second there I thought I was going to have to get my coding hat on to put a file up there which would have been a deal breaker for many of you out there. There are various other tools that are available for PC, Mac and Linux. I found some resources for you:
- Backup to S3 - Some tools listed here http://jeremy.zawodny.com/blog/archives/007641.html
- Clients for PC, Mac and Linux - http://www.labnol.org/internet/amazon-s3-clients-roundup/8286/
- S3Tools - http://s3tools.org/s3tools S3tools project offers several Open source tools for accessing Amazon S3 – Simple Storage Service.
Whew, this turned into a massive article. Sorry about that. But I hope you found it interesting or helpful or both.