Мне, вероятно, понадобятся рабочая роль Windows Azure и очередь Azure.Насколько сложно их воспроизвести?Могу ли я заменить пользовательскую Службу Windows и некоторые другие технологии организации очередей?
Да - служба Windows с какой-либо другой технологией организации очередей вполне подойдет для этого - и рабочие роли имеют цикл main / Run, который легкоиспользовать в службе Windows.
Как можно записать сущности в моей модели данных таким образом, чтобы я мог развертывать их в Azure TDS или в другом хранилище, не развертывая в Azure?Будет ли для этого полезен MongoDB или аналогичный?
NoSql - это общий термин, объединяющий множество различных технологий.Я думаю, что Azure TDS в настоящее время принадлежит к семейству хранилищ Key-Value NoSql, в то время как MongoDB - это больше база данных документов, предлагающая гораздо более богатую функциональность, чем TDS - см. http://en.wikipedia.org/wiki/NoSQL_(concept). Для имитации дублирования Azure TDS, я думаю, может быть вариант чего-то вродеRedis может работать (хотя я полагаю, что сам Redis обладает более широкими функциональными возможностями, чем TDS в настоящее время)
В целом, это зависит от формы ваших данных, но я подозреваю, что если вы сможете уместить их в Azure TDS, то выбыть в состоянии приспособить его и к вашему выбору другого хранилища.
Конечно, есть способ создать Azure, не будучи женатым на нем.
Да, когда выВ вашем вопросе предложено, что вы можете создать свое приложение так, чтобы оно могло работать на других технологиях.На самом деле, это довольно похожая задача на традиционные методы абстракции данных SQL.Тем не менее, я думаю, что есть несколько мест, где вы обнаружите, что TDS подталкивает вас в определенных направлениях, что не очень подходит для других хранилищ - например, Azure намного больше подталкивает вас к репликации данных;имеет очень специфические правила для ключей;предлагает высокую производительность, используя очень специфические механизмы;и предлагает ограниченную целостность транзакции в очень специфических ситуациях.Эти факторы могут означать, что вам действительно нужно изменить некоторые слои среднего уровня, а также некоторые слои данных, чтобы получить максимальную отдачу от вашего приложения как в вариантах Azure, так и в версиях, отличных от Azure.
Еще одна мысль- Может быть проще предложить своим клиентам версию SaaS с несколькими арендаторами в Azure и версию с одним владельцем, размещенную в Azure, - но это зависит от клиентов!