Развертывание приложений .NET Windows на облаке
-
25-10-2019 - |
Вопрос
Есть ли способ приложения .NET Windows можно развернуть в облаке? Как насчет Пааса (платформа как услуги). Я очень новичок в этом All Cloud Buzz. Любая помощь в этом отношении будет высоко оценена.
Решение
Вы должны подумать о двух основных семьях облачных инфраструктур: IAAS (Инфраструктура как услуга), где вы эффективно арендуете виртуальную машину по часу, или Паас (Платформа как услуга), где вы арендуете полную инфраструктуру развертывания.
Amazon EC2 является крупнейшим и ведущим игроком на рынке IAAS. Вы можете арендовать виртуальную машину с помощью Windows Server (и SQL Server, если хотите), предварительно установленных и предварительно сконфигурирован. Вам нужно развернуть, настроить и поддерживать свое приложение самостоятельно; Инструменты Visual Studio работают хорошо для этого, как только вы настроите экземпляр.
Вы также должны поддерживать Windows на виртуальной машине - это включает в себя обновления Windows.
Azure является ведущей платформой PAAS для Windows. Развертывание приложения в Azure сделано довольно простым, так как Microsoft имеет отличные инструменты, интегрированные с Visual Studio, чтобы сделать это максимально безболезненным. Microsoft позаботится о обслуживании операционной системы и базовой сантехнике, которая может быть важной конфигурацией для приложений для среднего-большого размера.
И, как упоминали другие, некоторые поставщики смешивают оба подхода: Appharbor имеет аспекты как IAAS, так и PaaS.
Чтобы получить максимальную отдачу от любой платформы, стоит использовать специализированные технологии хранения. Оба имеют простую систему хранения пары ключей/значения, которая намного быстрее, чем база данных SQL, но с такими компромиссами, как отсутствие поддержки транзакций. Однако, в зависимости от вашего применения и его размера, это может значительно ускорить.
Большое преимущество облачной инфраструктуры заключается в том, что вам больше не нужно заботиться о таких вещах, как
- размещение сети локальных серверов, с избыточностью
- Высокоскоростные двусторонние сетевые подключения
- аварийное восстановление и резервное копирование
- Задержка сети на международном уровне
- масштабирование: в целом, вы просто покупаете еще один экземпляр, чтобы справиться с дополнительной нагрузкой
Если у вас уже есть команда экспертов в центре обработки данных, и она вполне может быть подходящей.
Я бы посоветовал вам оценить
- Использование приложения: он слегка используется? внутренний или внешний?
- Требования к работе с трудом: сколько денег вы потеряете
еслиКогда сайт терпит неудачу? - Количество ИТ -ресурса, который у вас есть: облачные инфраструктуры являются «дружелюбными для разработчиков» и могут снизить потребность в операционном персонале
- Ваш бюджет: на самом деле может быть более экономически эффективным, чтобы оставаться в системе предпосылок
Удачи!
Другие советы
Если вы хотите простой облачный хостинг, вы можете выбрать между Лазур или же Appharbor.
Я лично не использовал Appharbor, это выглядит очень многообещающе. Основная идея состоит в том, что вы подталкиваете регулярное веб -приложение к репозиторию GIT (Mercurial, SVN и TFS также поддерживает с использованием интеграции с сторонними хостерами исходного кода), а Appharbor будет создавать его, запустить тест и развернуть приложение. Это делает развертывание довольно простым. Appharbor также хороший выбор дополнений, включая SQL Server, MongoDB и т. Д.
Azure - это полноценное облачное хостинг с различными компонентами, такими как хранилище таблицы, хранение Blob и аналогичные компоненты. Похоже, что действительно масштабируемые решения понадобятся такие двигатели для хранения, но для большинства приложений с поддержкой SQL-Server я думаю, что Appharbor-самый простой выбор. (И вы все равно можете использовать капли и таблицы как из Azure, так и из S3, если вам нужно.
Через службы терминала / удаленного рабочего стола / Citrix вы можете размещать приложение Windows Forms на сервере и позволить клиентам работать с ними, как будто они установлены локально. Некоторые вещи (например, доступ к локальному файлу) работают немного по -другому, но это возможно.
Клиент должен установить программное обеспечение для доступа к сервису. Программное обеспечение, такое как Remote Desktop, уже установлен на большинстве ПК Windows.
Затраты (как лицензирование, так и ресурсы) являются разницей в размещении веб -сервиса. В целом вы не можете обрабатывать столько клиентов / сервера, сколько веб -приложение, но размещение приложения Windows обычно выполняется для ограниченного количества клиентов, так что это не должно быть проблемой.