Подскажите технологии/средства для реализации вебсервиса
Имею навыки программирования под .NET (C# .NET FrameWork около 5 лет опыта), php, html, работа с mysql, немного работал с ASP.NET (+поверхностное понимание модели MVC). Хочу приобрести знания для создания в будущем различных вебсервисов. Вебсервисы могут быть различные по функционалу, однако в них чаще всего будут присутствовать следующие распространенные элементы:
1. Frontend: посадочная страница, личный кабинет, регистрация/авторизация (включая смену и напоминание пароля), система оповещения (email,sms), система поддержки (тикеты/чат с поддержкой), интерфейс для удобной подачи входных данных и запуска работы сервиса, отчеты в виде таблиц и графиков (+экспорт в Excel и т.п., сравнение, сортировка, различные варианты отчетов), биллинг;
2. Backend: админка, базы данных;
3. Движок, выполняющий полезную работу для пользователя, другими словами - основную задачу сервиса. Например это может быть: сбор или мониторинг данных из интернета, обработка данных, аналитика и генерация данных для представления отчетов.
Все элементы подразумевают необходимость автомасштабирования мощностей (например, на базе Amazon Web Services или аналогов).
Предпочтение
Предпочтение на данный момент ASP.NET + MVC, RAZOR и все около .NET-ное
Вопросы
1. Какие программные средства оптимально использовать для реализации вышеупомянутого? Уточню, преимущество отдается тем решениям, которые:
а. удобным в отладке;
б. имеют много платных или бесплатных заготовок (насколько я понимаю, есть движки где можно буквально в несколько кликов мыши создать тот же функционал авторизации, тикетов и т.п.);
в. обеспечат хорошую скорость работы при правильно разработанной архитектуре.
2. Возможно ли реализовать вышеоговоренный функционал в рамках различных продуктов .NET Framework?
3. Плохо представляю себе реализацию автомасштабирования мощностей, особенно в контексте разработки движка. Сориентируйте, в чем стоит разобраться, чтобы быть в теме.