AWS & Silverlight you have notes from the field
I'm interested in getting around AWS (amazon web services) and its viability as a back end for Siverlight apps. I am originally interested in using S3 and SimpleDB to store and manage a media library.
Before I start, I am trying to identify the spike problems. Is it authentication, rest versus soap, cross domain policy, or something else entirely.
What are your pain points when working with AWS - especially, but not exclusively from Silverlight2
a source to share
Your SimpleDB calls need to be proxied because AWS refuses to publish the cross domain policy to sdb.amazonaws.com for security reasons. It is not safe to upload the AWS private key publicly to the user's browser. If you host it on EC2 this shouldn't be a problem for your instance for SimpleDB proxy calls.
Use either REST or SOAP, which is ever easier. You will not find any pain there.
a source to share
The only real pain point I have is the fact that the Amazon EC2 servers are behind NAT.
As far as web applications are concerned, using NAT is not a problem, and in fact the ability to dynamically assign a public elastic IP is an advantage. In my case, my application is SIP based which needs to put the public IP in the SIP header and NAT is annoying to deal with.
I have a silverlight application hosted on an IIS instance on an Amazon EC2 server and it works fine, no problem. I am using a cross domain policy file and a custom authentication mechanism and in both cases it is the same as a regular Windows server.
I haven't used SimpleDB so I can't comment on it, but if you're looking at hosting a media library, I suspect Elastic Block Service (EBS) is what you need. I sometimes had a few difficulties getting my Windows server to recognize the EBS drive and had to use the Windows Disk Manager to recognize the drive, but once that's done it works fine and will be just like any regular Windows drive , except that you can scale this to tera or pera bytes.
a source to share