I am currently in the process of developing/releasing (sort of in pre-beta atm) a .net application to EC2. I have elected to go the linux route so am using mono. It has been a huge learning curve as the environment is so different to what I have been used to.
My main issues have been learning the intricacies of mono - it is .net but it is different. You tend to come across bugs from time to time and slight differences in the way things work. Also the setup and installing is totally different to anything on windows.
Overall though I am really happy. I really enjoy working on linux and the more I get used to it the easier I find it to use than windows.
I am developing in a sort of hybrid way - most dev happens in windows on vs2k8 - pretty much because resharper is so awesome. Monodevelop just isn't quite good enough yet. So before I push up changes to EC2 I run it in my local dev env on Ubuntu, once everything works (I inevitably find some way to break mono compatibility) I deploy.
I am using:
StructureMap
ASP.NET MVC
NHibernate (Fluent)
DotNetOpenAuth
Moq
NBehave
In terms of management, well they have a pretty good API and there are a ton of third party tools. As I have been finding my way I have developed a suite of scripts that take care of all the heavy lifting.
Performance is great, I have a medium cpu instance which I think is 5 cores and 2Gb RAM. I am using it to serve web pages index S3 buckets and resize images and so far it hasn't missed a beat.