Существует Режим эмуляции в SQL 2005 (вероятно, 2008), который позволит Вам выполнить свою 2k базу данных - мы делаем это в производстве, таким образом, это стабильно. Я не полагаю, что у разработчиков была любая проблема, когда мы мигрировали на 2k5 при использовании режима эмуляции. MS Linky
Я немного изменил бы Вашу архитектуру:
Windows Azure идет со встроенной подсистемой балансировки нагрузки. Установите все свои веб-сайты на единственный Webrole, который может быть распространен через несколько экземпляров. Настройте свое многопользовательское приложение для маршрутизации запросов, внутренне основанных на источнике/клиенте/URL.
Если Вы будете действительно многопользовательскими, то у Вас будет единственная кодовая база. Содержание, которое замечено пользователем, зависит от их контекста/идентификатора пользователя/и т.д. Таким образом, у Вас есть одно приложение, все совместно используют ресурсы Ваших экземпляров циклическим способом, и никакой единственный сервер не может стоять способом отказа.
Помещая 50 сайтов на один сервер, еще 50 сайтов на другом сервере, и т.д. "старый" необлачный способ иметь дело с вещами. Ваш сервер выходит, и 50 клиентов снижаются. И не имеют гибкость/масштабируемость, когда один из клиентов становится "слишком горячим" для единственного сервера.
В целом с чем-то вроде этого, если бы я понимаю Ваш вопрос правильно, Вы хотели бы изучить подсистему балансировки нагрузки для распределения нагрузки через несколько веб-серверов. Вы отправили бы все запросы к подсистеме балансировки нагрузки, и она затем передаст запросы к Вашим веб-серверам.
Вы могли сделать это большим количеством способов, Вы могли всегда отправлять tenant1.ourapp.com на тот же сервер, или Вы могли распространить это среди всех или ряда серверов.
Я - лично поклонник использования HAProxy на Linux как подсистема балансировки нагрузки, существуют также другие подсистемы балансировки нагрузки программного обеспечения и аппаратные опции.