Thursday, November 20, 2008

PandaStream, or Why The Internets Are So Cool

Tonight, as if I didn't do enough nerdy stuff during the day at my job, I decided I was going to try out PandaStream. As I noted, we had a bit of trouble with our video provider, and my colleague Bob, had stumbled across this open source video package. We can own the entire process, without having to requisition the machinery to support video upload, encoding, and content serving. This is a good thing, as long as it works. Well, I can say it works. Before I go on to describe how it all comes together, let me just describe the surreal realizations I came to...

I am sitting on my couch, wirelessly connected to the internet, creating an application instance in the cloud on Amazon EC2, then deploying a git project to the server running Ruby/Merb, configured to interface with Amazon S3 and Amazon SimpleDB. In 2 hrs, on my couch, I am able to set all this up, using the great set of instructions here. 5 years ago, wireless internet was just getting solid. 5 years ago, I am pretty sure that if Merb had actually been invented, that very few people outside of its creator knew what the hell it was, and Ruby was still a pretty obscure scripting language invented by a Japanese guy. Amazon's web service offerings in cloud computing were but a twinkle in Werner Vogels' eye. Open source applications were gaining steam, but certainly not as trusted or ubiquitous as they are today. I think that this is all pretty remarkable, and it's a testament to many creative and brilliant folks that I am able to sit around on my couch and do these amazing things and have them feel pretty routine. Thanks, smart and creative people. Us mere mortals are in your debt.

So anyway, I had an EC2 account already setup, and bringing S3 and SimpleDB online were a snap (once I realized I needed SimpleDB). Getting the security certs and stuff took about 5 minutes to resolve, thanks to Amazon's great AWS Documentation. I kicked off the panda instance without issue, hopped into the instance via ssh, and jumped into the merb console. This didn't go smoothly as I was presented with a security error that just said I couldn't be authenticated using my credentials. To test my credentials, I grabbed a java library for AWS. I used this library to test my creds with S3, and it worked. Only then did I go and look closer at the error and realize it was related to simpleDB, which I didn't have an account for. Creating that made it work much better. Once I was able to hop into the merb console, there were about 10 commands to run to set up, add security, and configure some default video encoding. This took maybe 5 minutes. From there, I logged into the instance and uploaded a video. Then I took some embed code and stuck it in a test html file. It just worked.

Anyone with any experience with pandastream, we are really curious to see if this is production tested, or if anyone knows anything about it that would make us NOT want to use it.

Next episode, integration via REST APIs. Stay tuned.
blog comments powered by Disqus