В настоящее время я занимаюсь разработкой / выпуском (вроде pre-beta atm) приложения .net для EC2. Я решил пойти по маршруту Linux, поэтому я использую моно. Это была огромная кривая обучения, так как среда настолько отличается от того, к чему я привык.
Моими основными проблемами было изучение тонкостей моно - это .net, но это не так. Вы склонны время от времени сталкиваться с ошибками и небольшими различиями в том, как все работает. Кроме того, установка и установка совершенно не похожа ни на что в Windows.
В целом, хотя я действительно счастлив. Мне действительно нравится работать над linux, и чем больше я к нему привыкаю, тем легче мне его использовать, чем windows.
Я развиваюсь своего рода гибридным способом - большинство dev происходит в Windows на vs2k8 - в значительной степени потому, что resharper - это круто. Monodevelop просто еще не достаточно хорош. Поэтому, прежде чем выложить изменения в EC2, я запускаю его в своем локальном dev-среде на Ubuntu, как только все работает (я неизбежно найду какой-то способ нарушить моно-совместимость), я разверну.
Я использую:
StructureMap
ASP.NET MVC
NHibernate (Свободно)
DotNetOpenAuth
Moq
NBehave
С точки зрения управления, у них довольно хороший API и множество сторонних инструментов. По мере того, как я находил свой путь, я разработал набор сценариев, которые позаботятся обо всей тяжелой работе.
Производительность отличная, у меня средний экземпляр процессора, который, как мне кажется, 5 ядер и 2 Гб оперативной памяти. Я использую его для обслуживания индексных сегментов веб-страниц S3 и изменения размера изображений, и пока он не пропустил удар.