Animoto - Kick Ass Slide Show Producer Experiencing Explosive Growth
Animoto is experiencing You Tube and Facebook style growth. The difference is that Animoto actually has a proper business model!
Move over, Slide and Rock You! here comes Animoto with a totally kick ass slide show experience. They take your photos, your music and do magic to create slide shows that "feel" the music.
To sign up and save $5, click on the graphic above with code: oxqeiaug
Animoto, which is currently experiencing explosive growth and went from 25,000 users to 250,000 users in just three days, runs on Amazon EC2 and uses S3 for storage.
A demo of Animoto produced slide show is below:
At Startup School 2008, Jeff Bezos, Amazon CEO, talked about Animoto. The video of his talk follows:
According to Right Scale, which Animoto uses for handling their EC2 instances, mentions that Animoto has been adding 40 EC2 instances per minute during their peak time.
The upshot is that there are a lot of moving parts! Each one of the subsystems consists of many servers and everything needs to scale-up as the load increases. What Animoto CTO Stevie Clifton did really well is to connect all the operations using queues, many of them in SQS. One queue contains work items that list photo URLs to fetch from other sites, such as Facebook, Flickr, etc., and that is processed by one array of worker instances. Another queue has the list of render jobs and each work item in there points to the set of photos sitting at the ready in S3 and at the music files also on S3. All of these queues are held in Amazon SQS and the arrays of worker instances are managed by RightScale. This allows the monitoring part of our service to detect when the queue gets too large and more instances need to be launched. What’s nice about using queues is that it decouples the various parts of the site, so if the renderers get backlogged the queue simply builds up and users have to wait a little longer for their video to be produced. Waiting is not good, but dropping requests on the floor is much worse!
Right Scale blog also touches on some of the important lessons learned from Animoto's growth:
First of all, when you scale 10x and then 10x again to run on thousands of servers every little problem turns into a large one. That insignificant error rate of 0.1% gets multiplied by 1000x per second and you end up with an error a second, and actually, the error rate typically increases in itself too because of the added load on the system. So suddenly it’s not something you can ignore anymore. An example for this was having exponential backoff for uploads to S3 when using curl, but forgetting that the 5th retry exceeds the S3 connection timeout. Normally, this happens only once in a blue moon, but when tens of uploader instances are banging hard on one S3 bucket the S3 error rate goes up a bit and suddenly uploads are failing left and right. Once we changed this to a constant retry timeout it all went smooth again.
References:
Animoto's Facebook scale-up by Right Scale Blog
Animoto Scaling through Viral Growth by Amazon Web Services Blog
Move over, Slide and Rock You! here comes Animoto with a totally kick ass slide show experience. They take your photos, your music and do magic to create slide shows that "feel" the music.To sign up and save $5, click on the graphic above with code: oxqeiaug
Animoto, which is currently experiencing explosive growth and went from 25,000 users to 250,000 users in just three days, runs on Amazon EC2 and uses S3 for storage.
A demo of Animoto produced slide show is below:
At Startup School 2008, Jeff Bezos, Amazon CEO, talked about Animoto. The video of his talk follows:
According to Right Scale, which Animoto uses for handling their EC2 instances, mentions that Animoto has been adding 40 EC2 instances per minute during their peak time.
The upshot is that there are a lot of moving parts! Each one of the subsystems consists of many servers and everything needs to scale-up as the load increases. What Animoto CTO Stevie Clifton did really well is to connect all the operations using queues, many of them in SQS. One queue contains work items that list photo URLs to fetch from other sites, such as Facebook, Flickr, etc., and that is processed by one array of worker instances. Another queue has the list of render jobs and each work item in there points to the set of photos sitting at the ready in S3 and at the music files also on S3. All of these queues are held in Amazon SQS and the arrays of worker instances are managed by RightScale. This allows the monitoring part of our service to detect when the queue gets too large and more instances need to be launched. What’s nice about using queues is that it decouples the various parts of the site, so if the renderers get backlogged the queue simply builds up and users have to wait a little longer for their video to be produced. Waiting is not good, but dropping requests on the floor is much worse!
Right Scale blog also touches on some of the important lessons learned from Animoto's growth:
First of all, when you scale 10x and then 10x again to run on thousands of servers every little problem turns into a large one. That insignificant error rate of 0.1% gets multiplied by 1000x per second and you end up with an error a second, and actually, the error rate typically increases in itself too because of the added load on the system. So suddenly it’s not something you can ignore anymore. An example for this was having exponential backoff for uploads to S3 when using curl, but forgetting that the 5th retry exceeds the S3 connection timeout. Normally, this happens only once in a blue moon, but when tens of uploader instances are banging hard on one S3 bucket the S3 error rate goes up a bit and suddenly uploads are failing left and right. Once we changed this to a constant retry timeout it all went smooth again.
References:
Animoto's Facebook scale-up by Right Scale Blog
Animoto Scaling through Viral Growth by Amazon Web Services Blog
Labels: animoto, cloud computing, rock you, slide, slide show, social networking, video





0 Comments:
Post a Comment
<< Home