Я видел довольно редко можно увидеть огромные веб-сайты, работающие на технологиях Microsoft, таких как Windows Server, IIS, ASP.NET, SQL Server, взять в качестве примера все известные веб-сайты (Google, Facebook, Twitter, Youtube), все они работает на (иногда модифицированном) Linux, поэтому я спрашиваю, почему так редко можно увидеть такие огромные веб-сайты, которые работают в Windows?
Это вопрос стоимости лицензий? Можно ли сказать, что Facebook, Twitter, Google, Youtube никогда бы не стали так расти, если бы им пришлось покупать все лицензии? Или дело в проблемах с масштабированием?
Конечно, Microsoft предоставляет действительно хорошие технологии, такие как .NET, IIS7, SQL Server, Smooth Streaming, ASP.Net, но как насчет стоимости лицензий?
Что Вы думаете об этом? Какова позиция Microsoft в отношении веб-технологий? Что насчет будущего?
Мне очень нравятся продукты Microsoft, но немного боюсь стоимости ...
Веб-технологиям Microsoft мешает прошлая репутация. Ранние версии IIS (под ранними я подразумеваю ранние версии NT4.0 и ранние версии .NET 1.0) не ставили их на один уровень с Apache, что помогло укрепить мнение дизайнеров веб-приложений о том, что они просто не подходят для масштабирования. Это была обычная конфигурация в течение многих лет, для которой Apache использовался Интернет приложений, а IIS был для Интранет Программы. Это начинает меняться, и StackOverflow на самом деле является хорошим примером этого (по крайней мере, ядро - Microsoft, не уверенный в границах).
Одна из областей, в которой Microsoft не очень хороша, - это часть управления HugeSite, связанная с удалением пакетов. Это уровни сетевых балансировщиков нагрузки, географических балансировщиков, уровни кэширования и т.п. Для этого вы по-прежнему найдете либо Linux, либо аппаратные устройства (возможно, работающие внутри Linux), либо современные облачные вещи, которые работают неизвестно на чем.
Что касается логики приложения и уровней базы данных HugeSite, то он может как StackOverflow et. al. доказать.
Что касается лицензирования, лицензирование Linux и т. Д. Также может стать дорогим, если вам потребуются контракты на поддержку. Конечно, если вы достаточно большой, чтобы выпускать свои собственные версии Linux, это спорный вопрос. Но если вы находитесь в промежуточном размере между проживанием на общих хостах или VPS, и достаточно большим, чтобы использовать собственный, поддерживаемый Linux (RedHat, SLES и т. Д.) Имеет свои достоинства; особенно если зарабатываются деньги.
В первую очередь, это обмен мыслями. Чтобы это изменилось, всегда нужно время.
Да, в основном речь идет о стоимости, но есть и другие соображения.
Интегрировать монолитные продукты Microsoft с другими продуктами сложнее, чем с программным обеспечением, разработанным в среде Unix.
Хотя Microsoft улучшает производительность, масштабируемость и надежность, у них нет хорошей истории в этих областях.
Дорожные планы: в то время как проекты с открытым исходным кодом часто не могут предоставить подробную информацию о своих будущих направлениях, оборотная сторона медали состоит в том, что коммерческое программное обеспечение предназначено для продажи вам следующей большой вещи, поэтому продукты, которые они продают сегодня, не будут только через 5 лет будут лишними - их заменят на что-то другое и несовместимое.
С.
Сравнительно редко можно увидеть сайты, работающие с инструментами MS. Отчасти это исторический факт - то есть «де-факто» стандартом для веб-приложений является система * nix, а это означает, что большинство новых веб-приложений написано для систем * nix. Это то же самое, что и настольные приложения для Windows, просто потому, что большинство настольных компьютеров - это Windows.
Помимо истории, когда IIS был довольно плохим, имел плохую запись о безопасности и был очень сильно привязан к языкам Windows (например, vbscript в ASP или ISAPI) (хотя вы могли запускать приложения cgi), в настоящее время ситуация несколько улучшилась, поскольку языки как и PHP, были перенесены на Windows с большой поддержкой.
Тем не менее, поскольку большинство веб-сайтов по-прежнему основаны на * nix, вам не только будет намного проще получить веб-навыки от людей * nix, но вы также найдете гораздо больше информации о работе с инструментами, основанными на * системы nix.
Масштабируемость. В Тесты TPC всегда показывал, что системы Windows хорошо масштабируются ... но вам нужно было чертовски много серверов Windows, чтобы получить те же преимущества, что и один «мэйнфрейм» Sun или IBM. Те бурные дни, когда «один ящик» против «одного кластера» прошли - сегодня никого не волнует, серверы стали намного мощнее, поэтому различия уменьшились. при этом текущий топ 10 TPC-C Все тесты показывают системы * nix, а тесты TPC-H показывают, что системы Microsoft работают хорошо в малом сегменте, но проигрывают при представлении в топовых тестах.
Однако есть один немаловажный фактор - стоимость обслуживания. Больше серверов = больше проблем = больше времени, потраченного на их работу. Это может означать более дорогой персонал.
Однако даже SO - это мелочь по сравнению, скажем, со слэшдотом, и когда вы получаете сайт с таким большим количеством подписчиков, что ваше имя сайта становится синонимом атаки типа «отказ в обслуживании», вам необходимо иметь серьезные возможности балансировки нагрузки и архитектуры. . * Системы nix имеют это, они хорошо известны и широко поддерживаются (на самом деле, указанные системы могут использоваться для балансировки нагрузки систем Windows, поскольку они поставляются как автономные серверы, работающие под управлением Linux или ОС BSD), но это означает, что вам нужно * nix навыки, чтобы получить от них максимальную отдачу - что, если у вас есть только навыки работы с Windows, вам придется немного поучиться. С таким же успехом вы можете сэкономить время и просто изучить 1 ОС!
Лицензирование: MS становится все лучше в предоставлении дешевой ОС для Интернета, версия Windows Server Web намного дешевле, чем обычная Windows, но если у вас крупномасштабный сайт ... вы захотите обновить его до Enterprise или даже издание Datacentre, и эти младенцы ни в коем случае не из дешевых. И вам понадобится несколько запущенных экземпляров. И если вы здесь полностью Microsoft, без сомнения, вы будете использовать другие продукты MS, инструменты Office, такие как Sharepoint или Biztalk, или Commerce Server, или SQL Server, или еще много чего. И это тоже недешево.
Сравните это с решениями * nix, вы можете гарантировать, что они бесплатные. Хорошо, вы можете использовать базы данных Oracle, но даже в этом случае это дешевле, чем весь стек MS. это может не иметь большого значения в большой схеме вещей, но если вы - небольшой стартап с возможностью выбора, то бесплатно стоит дороже любой цены. Если вы большой сайт типа слэшдот, бесплатные козыри очень дороги.
В конечном итоге бесплатные инструменты довольно хороши - достаточно хороши, чтобы их использовали все эти сайты. MS может производить множество классных игрушек, но они больше похожи на Java из мира MS, и если вы собираетесь запускать приложения, требующие большого объема памяти, вы можете в любом случае использовать Java. Если вы хотите просто продолжить создание сайта, в бесплатных системах вам доступны python, perl, php или ruby.
Я бы сказал, что это сочетание стоимости лицензирования, надежности и безопасности. Существуют некоторые серьезные проблемы безопасности с более ранними версиями IIS, и когда Apache (например) так хорошо зарекомендовал себя, оправдание затрат на лицензирование просто не стоит того.
Не я.
Я предполагаю, что одна из причин заключается в том, что продукты MS не так хорошо масштабируются.
Смотря на http://searchdns.netcraft.com/?host=.microsoft.com похоже, что большая часть масштабируемости Microsoft исходит от кого-то другого.
Разбито ОС - посчитайте для сайтов * .microsoft.com, это выглядит так: