Windows Azure Можно ли запускать несколько веб-сайтов на одном и том же экземпляре Extra small или Small instance

Я оцениваю облако MS Windows Azure для размещения 3 полностью разделенных веб-сайтов.

Каждый сайт имеет свою собственную базу данных, и они не связаны, поэтому 3 веб-сайта и 3 базы данных.

Моя цель - оптимизировать затраты для запуска проекта с возможностью расширения по требованию.

Я хотел бы знать:

  • Если возможно разместить 3 веб-сайта в одном экземпляре (Экстра маленький экземпляр или Малый экземпляр).
  • если возможно разместить 3 базы данных в одной базе данных Sql Azure (поэтому я бы использовал общий объем хранилища SQL для моих 3 баз данных), или для каждой базы данных веб-сайта я должен заплатить экземпляр SQL Azure.

Спасибо за ваше время.

Ответы

Ответ 1

Вы можете абсолютно запустить несколько веб-сайтов в одном экземпляре, начиная с SDK 1.3, так как полный IIS теперь запущен в веб-ролях. Как отметил Джонатан со ссылкой на статью MSDN, вы можете настроить элемент "Сайты" для определения каждого веб-сайта. Вы также должны ознакомиться с Windows Azure Training Training Kit, в котором есть лаборатория, специально создающая многостраничную веб-роль.

Вы также можете воспользоваться чем-то вроде Cloud Ninja или Windows Azure Accelerator для веб-ролей, который предоставляет многоуровневое решение, которое вы можете загрузить в свою веб-ролик (ознакомьтесь с изображением Cloud Cover Show здесь для получения дополнительной информации).

При размещении нескольких веб-сайтов помните, что все они используют одни и те же ресурсы в экземпляре. Таким образом, вы можете обнаружить, что экземпляр Extra Small не отвечает вашим потребностям в производительности (он ограничен оперативной памятью 768 МБ и пропускной способностью около 5 Мбит/с). Я думаю, вы будете в порядке с Small экземплярами и масштабируетесь, поскольку вам нужно обработать больше трафика.

Ответ 2

В течение последних нескольких месяцев я запускал три веб-сайта в нескольких дополнительных экземплярах, включая albahari.com, linqpad.net и сервер лицензирования LINQPad (который использует LINQ to SQL). Хитрость заключается в том, чтобы обслуживать большой статический контент непосредственно из хранилища blob, чтобы он не подвергался ограничению полосы пропускания ввода-вывода 5 Мбит/с. И у меня никогда не было никого близкого к исчерпанию памяти.

Пара дополнительных небольших экземпляров Azure - отличная альтернатива общему хостингу, когда вам нужна более высокая надежность, безопасность и производительность.

Изменить: ближе к году, все еще нет проблем с несколькими сайтами на Azure. Я никогда не вернусь на общий хостинг.

Ответ 3

Вы можете запустить 3 веб-сайта в одном экземпляре. Ознакомьтесь с этой статьей MSDN, в которой показано, как сформировать файл конфигурации, чтобы вы могли размещать несколько веб-сайтов в пределах одной роли. Одно замечание, но поскольку вы упомянули "масштабирование по требованию" - при масштабировании экземпляра с несколькими веб-сайтами вы масштабируете экземпляр, что означает, что все сайты будут масштабироваться вместе. Вы не можете масштабировать только один из сайтов в общем экземпляре.

Для баз данных теоретически это можно сделать, но это было бы "вручную" в том, что вы должны были бы ко всем своим таблицам через три базы данных в одной и той же базе данных, и вы, вероятно, захотите префикс их каким-то образом индикатора, чтобы вы знали, какая таблица принадлежит какому приложению. Это, конечно, не рекомендуемая практика, но если она работает для вашего решения, то нет ничего технического, мешающего вам это делать. Если это вообще возможно, я бы рекомендовал несколько баз данных.