Назад | Перейти на главную страницу

может ли кластер Windows когда-либо быть конкурентоспособным по стоимости или мне следует просто установить Mono и Linux?

Может ли кластер Windows когда-либо быть конкурентоспособным по цене, или мне следует просто установить Mono и Linux?

Мое приложение до неприличия параллельное, практически не требует координации между процессорами и обмена сообщениями между процессорами, может быть равномерно разделено между машинами, поэтому все они должны завершиться примерно в одно и то же время, а время, чтобы разделить проблему и объединить результаты, мало по сравнению с время вычислений, поэтому я не возражаю, если для распределения работы используется что-то вроде WCF (двоичный SOAP), а не какая-то операционная система, специфичная для кластера, которая, как я полагаю, будет более эффективной, чем WCF (двоичный SOAP).

Речь идет о переносе существующей реализации Windows / C #, которая слишком медленная на одном компьютере, в кластер.

Мнения пожалуйста ...

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

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

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

Тем не менее, запуск C # в моно на кластере серверов Linux, вероятно, потребует некоторого реального опыта, когда дело доходит до настройки производительности и всего прочего, а эксперты по Linux, как правило, немного реже и дороже, чем их коллеги по Windows. Это вдвойне для администраторов, которые имели бы опыт работы с чем-то вроде моно, что не совсем любимый игрок в сообществе Linux.

С другой стороны, запуск C # в Windows - это и есть вся архитектура Windows-сервера. Есть целые курсы, сертификаты и сообщества, посвященные этой единственной концепции. Найти обученного, опытного и сертифицированного администратора на удивление легко и недорого.

Тем не менее, я предпочитаю писать код на C # с использованием ASP.NET MVC2, но я запускаю свой код C # в моно под Linux. Я зарабатываю на жизнь управлением серверами Windows и Linux; а серверы Windows значительно более ненадежны и требуют много времени для обслуживания. Это не FUD, это просто мой личный опыт.

Похоже, проблема, которая хорошо работает в Azure.

Используйте 1 веб-роль, в которую вы вводите задание. Затем эта веб-роль разделяет задание и помещает части в очередь.

На бэкэнде у вас есть рабочие роли, которые берут задание из очереди и выполняют работу.

Вам не нужно вкладывать деньги в оборудование. Вы платите только за то, чем пользуетесь. Например, вы можете запустить 100 машин в течение часа.