Развертывание приложений .NET для Windows в облаке - PullRequest
3 голосов
/ 29 ноября 2011

Есть ли способ развернуть приложение Windows .NET в облаке? как насчет PaaS (платформа как услуга). Я очень новичок в этом облаке. Любая помощь в этом отношении будет высоко оценена.

Ответы [ 3 ]

5 голосов
/ 29 ноября 2011

Вам нужно подумать о двух основных семействах облачных инфраструктур: IAAS (инфраструктура как услуга), где вы фактически арендуете виртуальную машину по часам, или PAAS (платформа как услуга), где вы арендуете полную инфраструктуру развертывания.

Amazon EC2 является крупнейшим и ведущим игроком на рынке IAAS.Вы можете арендовать виртуальную машину с предустановленной и предварительно настроенной Windows Server (и, если хотите, SQL Server).Вам необходимо самостоятельно развернуть, настроить и поддерживать ваше приложение;инструменты Visual Studio хорошо работают для этого, как только вы настроили свой экземпляр.

Вам также необходимо поддерживать Windows на виртуальной машине - это включает в себя обновления Windows.

Azure - ведущая платформа PAASдля Windows.Развертывание приложения в Azure стало довольно простым, поскольку у Microsoft есть несколько превосходных инструментов, интегрированных с Visual Studio, чтобы сделать это максимально безболезненно.Microsoft позаботится об обслуживании операционной системы и лежащей в основе системы, что может быть важной конфигурацией для приложений среднего и большого размера.

И, как другие упоминали, некоторые поставщики объединяют оба подхода: AppHarbor имеет аспекты как IAAS, так и PAAS.

Чтобы извлечь максимальную выгоду из любой платформы, стоит использовать специальные технологии хранения.Оба имеют простую систему хранения пар ключ / значение, которая намного быстрее, чем база данных SQL, но с компромиссами, такими как отсутствие поддержки транзакций.Однако, в зависимости от вашего приложения и его размера, это может значительно ускорить процесс.

Большим преимуществом облачных инфраструктур является то, что вам больше не нужно заботиться о таких вещах, как

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

Если у вас уже есть отличная команда экспертов по центрам обработки данных и сверхбыстрая сеть, то это может быть не совсем уместно.

Я бы посоветовал вам оценить

  • использование приложения: оно слегка используется?внутренний или внешний?
  • требования к времени безотказной работы: сколько денег вы потеряете , если при отказе сайта?
  • количество доступных ИТ-ресурсов: облачные инфраструктуры «дружественны к разработчикам»и может сократить потребность в операционном персонале
  • вашего бюджета: на самом деле может оказаться более экономически эффективным использование системы на рабочем месте

Удачи!

3 голосов
/ 29 ноября 2011

Если вы хотите простой облачный хостинг, вы можете выбрать между Azure или AppHarbor .

Я лично не пользовался AppHarbor, но выглядит очень многообещающе.Основная идея заключается в том, что вы помещаете обычное веб-приложение в репозиторий git (Mercurial, SVN и TFS также поддерживаются с помощью интеграции с сторонними хостингами исходного кода), а AppHarbor создаст его, запустит тестирование и развернет приложение.Это делает развертывание довольно простым.AppHarbor также предлагает хороший выбор надстроек, в том числе SQL Server, MongoDB и т. Д.

Azure - полнофункциональный облачный хостинг с различными компонентами, такими как хранилище таблиц, хранилище больших двоичных объектов и аналогичные компоненты.Кажется, что для действительно масштабируемых решений потребуются такие механизмы хранения, но для большинства приложений с SQL-сервером я думаю, что AppHarbor - самый простой выбор.(И вы все еще можете использовать BLOB-объекты и таблицы из Azure и S3, если вам нужно.

1 голос
/ 29 ноября 2011

С помощью служб терминалов / удаленного рабочего стола / Citrix вы можете разместить приложение Windows Forms на сервере и позволить клиентам работать с ними, как если бы они были установлены локально.Некоторые вещи (например, локальный доступ к файлам) работают немного по-другому, но это возможно.

Клиенту необходимо установить программное обеспечение для доступа к службе.Программное обеспечение, такое как Remote Desktop, уже установлено на большинстве ПК с Windows.

Расходы (как на лицензирование, так и на ресурсы) отличаются от стоимости размещения веб-службы.Как правило, вы не можете обрабатывать столько же клиентов / серверов, сколько веб-приложение, но хостинг Windows-приложения обычно выполняется для ограниченного числа клиентов, поэтому проблем не должно быть.

...