2013-11-20 2 views
0

Я создал веб-сайт в asp.mvc 4 с сервером sql. Данные на сервере SQL будут обновляться другой программой, а не непосредственно из mvc. Я уже создал это программное обеспечение для миграции, которое подключается к базе данных Oracle и отправляет некоторые данные на сервере sql. Таким образом, я должен иметь открытый порт для сервера sql снаружи, чтобы переносить данные каждую ночь.Какой лучший план для ASP.MVC в Azure?

Мой вопрос, какой план выбрать из Azure? Я вижу план сайта (http://www.windowsazure.com/en-us/solutions/web/), VM (http://www.windowsazure.com/en-us/services/virtual-machines/) и SQL-сервер (http://www.windowsazure.com/en-us/services/data-management/).

Может ли кто-нибудь помочь мне с выбором, который у меня есть?

благодаря

ответ

2

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

Вам необходимо учитывать сложность выполняемого вами действия и необходимый контроль при установке приложения.

  • веб-сайтов позволяет самые очень легко развертывания веб-приложений (asp.net/MVC, питон, PHP, узел) и интегрируется непосредственно около десятка управления версиями двигателей (TFS онлайн, раздаточная, GitHub и т.д. .). Недостатки? Только порт 80/443, без настроек виртуальной машины и без фиксированного IP-адреса (например, для целей whitelisting).
  • Cloud Services (web/worker) позволяет сосредоточиться на вашем коде, а не на обслуживании ОС. Очень простое масштабирование, и вы можете запускать любую требуемую рабочую нагрузку, которая будет поддерживаться Windows Server, за несколькими исключениями (например, без поддержки графического процессора). Просто знайте, что роли веб-и рабочих (эквивалент, за исключением включения IIS): stateless - у вас есть сценарий запуска, который настраивает вашу виртуальную машину с каждым новым экземпляром, и каждую перезагрузку на основе отказа VM (или, может быть, вы перешел на новое оборудование). Это включает в себя такие вещи, как загрузка/установка приложений, которые необходимы вашему приложению; создание перфомансов; и т. д. Эти операции должны быть быстрыми и автоматизированными без взаимодействия с человеком, поскольку они должны быть написаны сценарием. Вы: может RDP в экземпляр роли web/worker, но не вносите никаких изменений таким образом, кроме dev/test, - если ящик перезагружен по какой-либо причине, такой как сбой диска, все ваши вручную выполненные изменения будут потеряны ,
  • Виртуальные машины (Linux/Windows) дают вам полный контроль над виртуальной машиной, а VM поддерживается Прочное хранилище - все, что вы действительно переживаете, перезагружается. Это тип среды, идеально подходящий, например, для сервера базы данных, такого как SQL Server, поскольку требуется установка времени и требуется ручное вмешательство. При масштабировании вам нужно будет сделать копии некоторого типа «основного изображения» - поэтому, если вы создадите веб-сервер, вы сможете удалить изображение, а затем уменьшить масштаб, сделав дополнительные копии виртуальной машины. Это не так удобно, как масштабирование web/worker, так как масштабирование web/worker полностью контролируется Azure, просто разворачивая изображения виртуальной ванильной формы и применяя к ним свой код.

Вы найдете, что типичная система имеет смесь. Возможно, в вашем случае вы настроите свой веб-уровень на веб-сайтах и ​​на своем SQL Server в виртуальной машине. Есть дополнительные функции, которые вы начнете искать по мере дальнейшего изучения (например, доступ к конечным точкам, ограниченным IP-доступом, на виртуальных машинах и виртуальных сетях). Я оставлю это до вас, чтобы исследовать дальше ...

Что касается разницы между веб-сайтом и работником и веб-сайтами, я отправил еще один ответ StackOverflow, here, что более подробно.

EDIT - забыли упомянуть SQL Database Service, которая представляет собой предложение с несколькими арендаторами SQL Server-as-a-Service. Тривиально настроить и использовать (всего лишь несколько секунд, чтобы получить базу данных, которая масштабируется до 150 ГБ на базу данных), но все же немного ограничена полным SQL Server (без CLR, без FTS и т. Д.). Есть TechNet article, указав больше различий.

+0

очень полезный ответ. Большое спасибо. Я считаю, что для моего рода вещи VM лучше всего подходит. Но что я могу установить на виртуальную машину? Является ли IIS по умолчанию? Могу ли я установить SQL-сервер, и если да, то мне нужна лицензия? – gong

+0

VM - это Linux или Windows - выберите свой вкус из галереи, запустите, RDP/ssh in и сделайте все, что захотите. Существуют изображения «ванильных» окон, а также готовые изображения с SQL, BizTalk и т. Д. Существуют специальные цены на изображения SQL или вы можете получить собственную лицензию. –

0

вопрос, что вы выложили является очень общим и открытым концом, однако, я попытаюсь объяснить вам терминологии.

Выбор базы данных - SQL Server

  1. Azure SQL Databases - Полностью управляемый Azure, все, что вам нужно выбрать это размер (MaxSize & настраивается позже)

  2. SQL Server on Azure Virtual Machine - Вы первый выбор размер виртуальной машины и поставляется с ОС по вашему выбору (Windows Server 2008 R2, или 2012 или 2012 R2), и вы можете использовать RD для этого компьютера и экземпляра SQL Server в соответствии с вашей свободой. Имеются предварительно созданные изображения VM, которые поставляются с SQL Server, и вам не нужно беспокоиться о стоимости лицензирования SQL Server.

Выбор веб-сервера/App сервера

  1. Azure Websites - Больше похоже на PaaS - Azure будет заботиться о OS, IIS, время выполнения и т.д., вы можете просто развернуть приложение (ASP .net или php или узел) и забыть остальное.

  2. Virtual Machines - Вам будет предоставлена ​​пустая виртуальная машина, и вы разворачиваете свой веб-сервер и веб-приложение и его здоровье. Обратите внимание, что ответственность за обновления, исправления для ОС, IIS и другого приложения будет за вашу ответственность.

+0

Я создал предопределенное изображение с окнами 2012 + sql-сервер. Я вижу, что sql-сервер является дополнительным счетом и намного выше, чем Windows. Если я вручную установлю sql-сервер с собственной лицензией, у меня не будет этого дополнительного счета? Является ли это возможным? – gong

+0

Да, если у вас уже есть действующая лицензия SQL Server, вы можете использовать BYOL (Принесите свою собственную лицензию) на Azure VM. Проверьте эту ссылку для [Azure Licensing FAQ] (http://www.windowsazure.com/en-us/pricing/licensing-faq/) –

Смежные вопросы