Pull to refresh

Comments 80

Microsoft, Skype запилите, потом к дизайнерам с такими банерами про любовь.
Зашел за этим комментарием!
Сейчас год Linux на сервере :))
Это был референс к году Linux на десктопе ;D
На десктопе тоже маловало!
Когда студия будет на линуксе?
Будем надеяться что взлетит, т.к. это кроссплатформенная IDE все-таки.
Глядишь, через пару лет и Visual Studio там будет… Интересные нынче времена)
Как я понимаю, VS написана на смеси COM и WPF. Это все довольно тяжело перекинуть на никсы, поэтому в ближайшие пару лет едва ли стоит ожидать такого поворота событий.
Так ведь купили же нативный для Linux и MacOS Xamarin. Доведут до ума своими ресурсами и, видимо, это и будет VS для Linux и MacOS.
Это сильно вряд ли. VSCode — это просто текстовый JAvaScript-редактор Atom с IntelliSence. А Xamarin — полноценная нативная IDE с отладчиком и всем, что должно быть в IDE.
Сегодня VSCode — всего лишь кастомизация Atom, а завтра они вполне могут запилить туда весь функционал Xamarin Studio.
Кстати про отладчик, VSCode умеет отлаживать JS и TS, а версии для Linux и Mac вдобавок умеют отлаживать Mono https://code.visualstudio.com/docs/editor/debugging
Xamarin это несколько другое. И вряд ли чем-нибудь поможет портировать студию. А вообще, с точки зрения MS подход "пиши под Win и запускай где хочешь" — очень даже не плох.
А зачем? Проще запилить Posix совместимость в ядре и пойти по пути OSX :)
Не можешь победить хаос? — Возглавь его!
Хаос — это подавляющая популярность POSIX совместимых систем… ;)
Хмм… Вы о чём? POSIX системы как раз довольно редки в современном мире. Преобладают как раз "почти как бы где-то как-то совместимые" системы на базе Linux'а...

Если вы про них (включая всякие Android'ы и роутеры), то да — тут Windows ловить нечего. А вот сертифицированных на совместимость с POSIX'ом — их мало...
Извиняюсь Posix-like :)
Вовсе не так редки, OS X — POSIX-сертифицированная ОС :-)
UFO just landed and posted this here
Это очень круто, конечно… Но только один вопрос: зачем мне SQL Server на Linux?
экономия на лицензии Windows Server
сомнительная экономия ввиду стабилизации системы на новом (по сути) ядре в течении ближайших нескольких лет. Плюс раздельная поддержка, отсутствие опыта сообщества в Интернете и как результат — постоянно оставаться один на один с новыми багами.
сам лично MS SQL касался очень давно, уже можно считать, что не правда.
Но вот регулярно приходится касаться продуктов, у которых MS SQL в качестве хранилища. Довольно часто, это SQL Embedded, который идет в комплекте с неким ПО. У которого ограничения по размеру и памяти. И когда данные пользователя начинают подбираться к лимитам, авторы говорят "вам нужен полноценный MS SQL". В этот момент возникает вопрос денег.
Поддержка и опыт за год-два накопятся, если продукт будут хорошо продвигать.

Второй момент — несколько лет MS активно и достаточно успешно продвигает Azure. Сколько там стоит конект и место в MS SQL? Будет ли оно стоить меньше, если это будет вариант RedHat Enterprize + MS SQL или Ubuntu Server + MS SQL в том же Azure? Судя по прессрелизу — есть шансы.
Чтобы не платить за Windows?
Есть приложения, которые хотят ms sql сервер. В силу особенностей диалекта mssql или даже его уникальных фич (наверняка, такие есть). Но в то же время люди не хотят иметь дело с windows server под адским хайлоадом по IO, а хотят няшный linux. В этих условиях Microsoft идёт навстречу пользователям. Приложухи остаются под винды (хотя это тоже поправимо), а СУБД работает на нормальном линуксе под управлением нормальной системы управления конфигурациями, как и все остальные сервера.

(Жду следующую винду с линуксом в качестве ядра и майкрософтовским userspace'ом — и я даже не совсем троллю в этот момент).
не хотят иметь дело с windows server под адским хайлоадом по IO

Для этого есть причина? VMware выжали миллон иопсов на винде ещё четыре года назад.
По поводу причины — нужно разбираться. Причём я не издеваюсь.

Картина такая:

  • Берём Windows и FreeBSD. Во всех бенчмарках Windows рвёт BSD "как тузик грелку".
  • Переводим HotMail с FreeBSD на Windows. Windows сворачивается в трубочку и оседает на пол.

Кажется с 3й, что ли, попытки переехали-таки на Windows — но это было делом принципа, с поддержкой со стороны разработчиков самой Windows и прочего!

Или такая:

  • Сравниваем Windows и Linux. Во всех бенчмарках Windows рвёт Linux "как тузик грелку".
  • Собираем суперкомпьютер. И почему-то он под Windows погоду считает процентов на 50 медленнее.

Или, чёрт побери, такая:

  • Сравниваем Windows и Linux на одинаковом железе. Windows выдаёт дофига IOPSов, Linux и рядом не валялся.
  • Начинаем собирать Хром. Один и тот же clang почему-то под Linux собирает его раза в 3-4 быстрее, чем под Windows.

Это — вполне себе тенденция на практике: смотришь на бенчмарки — Windows прям ракета. Нет, не просто ракета — фотонная. Супер! Запускаешь реальное приложение… почему-то Linux оказывается впереди… не всегда, но очень часто.

Почему такой феномен — фиг знает, но такова жизнь.

P.S. На самом деле всё просто: в LKML часто появляются люди с разными "улучшениями". Как правило они приносят бенчмарки, которые показывают что их изменение ускоряет в 100500 раз. На что Линус обычно спрашивает: отлично, а как эти бенчмарки связаны с тем, что делают реальные там Ораклы и NGINX'ы? И часто "улучшатели" признают, что реальные приложения становятся медленее.
Кроссплатформенные приложения не всегда хорошо оптимизированы под все поддерживаемые платформы. Про NGINX недавно писали и даже у JVM в рамках одной архитектуры встречаются проблемы с производительностью в зависимости от ОС.
В чем-то вы правы, НО — странно ожидать производительности, если ПО заточено под одну архитектуру ОС.
Ваши примеры интересны, но вот обратный пример — игры :) Что-то порты под Linux не блещут производительностью.
В целом, если уметь готовить, и Linux и Windows могут выдать конский перформанс. Но, по моему опыту, мало кто хочет разбираться в Windows на том же уровне, что и Linux.
Например, мало кто знает про RIO, ведь Win8 не сильно полюбилась :)
Вот пример разницы в производительности:

libuv C# perfsvr 2,379,267 36 threads, 288 connections, pipelining 16 deep Simple TCP server, load spread across 12 ports (port/thread/CPU) CPU is 100%, mostly in user mode

RIO C# perfsvr ~5,905,000 32 threads, 512 connections, pipelining 16 deep Simple TCP server using Windows Registered IO (RIO) via P/Invoke from C# CPU is 100%, 95% in user mode

Ну или тот же, набивший оскомину аргумент про IOCP :) Которые перекочевали в AIX и Solaris.

Сказки про падающий Asp.Net на пару с IIS каждые 10 секунд и так далее — издержки низкого порога входа, когда разработчики ждут, что за них все сразу сделают, раз денежки заплачены и привычки закидывать проблемы деньгами и железом. Но магии нет :)
Что-то порты под Linux не блещут производительностью.
Я правильно понимаю, что «не блещут производительностью» == «выдают процентов на 10-15 больше FPS'ов на бенчмарках»?

Как это помогает опровергнуть тезис, что «Windows заточена под бенчмарки, а Linux — под реальную работу»?

И как тот факт, что из одной OS, которая заточена под бенчмарки, всякие идеи, которые помогают в них, но не очень помогают в реальной работе перекочёвывают в другие подобные же OS, но при этом почему-то не приживаются в той OS, на которой работают свыше 95% из TOP500 — с ним же соотносится?

Я не спорю с тем, что при должном желании можно и х#й сломать, но хочу заметить, что ваш ответ — откровенно странен.

Сказки про падающий Asp.Net на пару с IIS каждые 10 секунд и так далее — издержки низкого порога входа, когда разработчики ждут, что за них все сразу сделают, раз денежки заплачены и привычки закидывать проблемы деньгами и железом.
В TOP500 отсутствие Windows тоже будем объяснять тем, что «разработчики ждут, что за них все сразу сделают»? То есть вот если они собрали систему на Linux — вкалывают, программы под железо затачивают, на AIX — тоже, а как Windows — так сразу «лапки сложили и сидят»?

P.S. Хороший аргумент другого плана: сейчас все разработчики Linux-систем работающие с графикой планируют отказаться от X'ов и OpenGL. ChromeOS — переходит на Freon, RedHat — на Wayland, Android — всегда SurfaceFlinger использовал. Что, очевидным образом, показывает что в графическом стеке у Linux'а — действительно брешь. Но когда в ответ на замечание «на бенчмарках Windows выигрывает, на на реальных приложениях сливает» получаешь перечисление ещё 100500 бенчмарков, то возникает вопрос: твой оппонент вообще-то читать умеет? Про то, что Windows показывает чудеса на бенчмарках мы все знаем — вот только почему-то это не убеждает пользователей… почему? Я вас уверяю: не потому, что 100500 бенчмарков мало и нужно 100500100500.
Молодцы. Выжать миллион iops'ов — не велика заслуга, особенно в multiqueue режиме. Вы эти миллион iops'ов раздайте правильно (cgroups, да?), да позвольте адекватно контролировать кому что можно и сколько.
Поэтому и спросил, а не ради подъеба. Про cgroups почитал в wiki — штука интересная, но там основным применением указан только докер и его обвязка. Оно где-нибудь ещё массово используется?
В RHEL Resouce Management Guide использование cgroups описано довольно подробно, но это лежит на конечных пользователях (администраторах), поэтому про эту тему громко и не кричат.

Другой распространенный инструмент, активно использующий cgroups — systemd. Можно любому unit'у настроить нужные параметры cgroups. Рекомендую заглянуть в man systemd.resource-control.
Я не могу сказать про "массовое использование", но каждый раз, когда надо ограничить аппетиты кого/чего-либо на сервере — используются cgroups.

Ещё одна область — это универсальный блочный стек (device mapper). Конструкции вида "lvm-тома поверх iscsi, на которых зашифрованный рейд, подключенный через multipath с кешированием и верификацией" — это вотчина линукса. Управление блочными устройствами в windows 2008 было рудиментарное (а дальше я не знаю, но т.к. не слышал ничего модного, то предполагаю, что таким же и осталось).
Я вот видел однажды такой случай: код приложения переписан с asp на java и перенесен на линукс, а вот база данных все еще ms sql, ввиду высокой сложности миграции на тот же postgresql — слишком разные диалекты. Вот им точно пригодится
ИМХО тут проще прокси мессаджинг сервис поставить, например. Ну или подумать в зависимости от того, какие данные ходят. Перетащить базу на сырое решение — поиметь факториал проблем
У меня часто бывают обратные ситуации — система протирается на .NET но у клиента ещё остаётся часть серверного окружения под старую платформу. Такой вариант позволит, например, использовать эти мощности под размещение БД. Ну заодно открывается возможность использовать под БД бюджетные сервера от Digital Ocean.
Я даже так скажу — вижу новые проекты на связке Asp.Net MVC + Postgres. Думаю тут просто MS хочет кусок пирога Оракл.
Повоевать с Oracle за нишу DWH?
А зачем любой другой сервер баз данных на Linux? Вот для тех же целей и SQL Server.
Думаю, можно перефразировать: «зачем SQL Server, если есть те самые, другие СУБД». Совпало: буквально вчера я искал сравнения MS SQL vs MySQL. Сложилось впечатление, что MS SQL используют по инерции. Я так понял, что различие только в диалекте, и некоторых особенных фичах, которые, ввиду специфичности, как могут отсутствовать на одной СУБД, и присутствовать на другой, так и наоборот; и которые почти никогда не используются. Только MySQL бесплатен, а MS SQL — нет.
У Ms Sql есть бесплатная Express версия.
Сравнивать MS SQL и MySQL неправильно. MySQL рассчитан под веб-приложения. Любой шаг в строну — начинает творится что-то непонятное. Например, почитайте документацию про поддержку ограничения CHECK, inline-объявление внешних ключей, триггеры и каскадное удаление/обновление. А как только дело касается минимальной аналитики — он начинает сливать. Ту же поддержку CTE начиная 2006 просят ( http://bugs.mysql.com/bug.php?id=23156 )
Тогда уж можно сказать "зачем Linux, если есть Windows". А по факту MSSQL становится не бесплатным, когда он начинает потреблять много ресурсов (более 1 CPU и 10 GB на базу данных). Но в этот момент, как правило, вы вполне можете позволить себе не Express версию.

А если вам нужны репорты и аналитика, то в MySQL их все равно нет.
Как раз MySQL не много смысла использовать под Windows, а не наоборот.
Приходилось (да и приходится по сей день) иметь дело с проектом, который переехал с MSSQL на MySQL, когда упёрся в ограничения бесплатной версии первого. Из замеченных на практике неудобств MySQL: отсутствие filtered index-ов, отсутствует insert/update + output, дефолтный utf8 на самом деле урезанный, некоторая глючность Workbench, дотнетовский провайдер в сочетании с EntityFramework генерит скрипты для миграции, которые приходится немного подправлять руками. Отдельно кусается мучительно медленное добавление столбцов в большие таблицы, но тут я не могу с уверенностью сказать, лучше ли с этим обстоит дело в MSSQL, т.к. на одинаковых объёмах не сравнивал. Некоторые запросы после переезда начинают работать заметно медленнее.

Другое дело, что оправдывает ли всё это тех денег, которые просит MSSQL — вопрос хороший. Но для проектов, влезающих в Express-версию, я явно предпочту его.
так ASP .NET Core 1 + Entity Framework и из коробки умеем с чем работать?
Какое же место остаётся для Windows Server? asp.net core + dnx, kestrel, sql server, linux = всё ваше legacy-application на стеке Microsoft теперь ранится на linux.
MVC приложение надо еще перенести на ASP.NET Core. Плюс, есть то самое трушное легаси на WebForms.
Exchange, Active Directory, RDS, SharePoint, Lync и куча всего ещё.
Ну Asp.Net Core и dotnet прекрасно запускаются поверх .Net Standard и уже вполне пригодны для прода и лицензия позволяет, если знаете как работать с исходниками. Вон парни из Age Of Ascent активно используют — ASP.NET Core – 2300% More Requests Served Per Second.
Этож опенсорс: нашли баг — форкнули, поправили и отправили пулл реквест.
Это просто подарок Линуксоидам на 8 марта..))
Сорри за оф топ, но несколько лет назад читал новость о ms office на Linux.
Есть какие-нибудь сведения об этой движухе? А то уже ms server server выпустили, а про офис не слышно...
Ну тут ситуация разная. На декстопе у MS не монополия, но очень доминирующее положение. А на серверных платформах она никогда не была игроком №1. Сначала она воевала с мейнфреймами и проприетарными юниксами (как передовая дерзкая система), а потом с freebsd/linux (как легаси-которое-терпят-потому-что-на-него-много-чего-завязано). MS пыталась это исправить, и пытается, но, извините, если в Windows Core до сих пор можно наткнуться на диалог OpenFile с 8.3 имена~1, о чём можно говорить-то?

Т.е. на десктопе MS может лежать спокойно и игнорировать всех, а на серверном рынке им надо шустрить, ибо иначе проиграют, как с мобильной платформой про… совсем нет, ни в коем случае не проиграли, а даже показывают огромный рост год от года.
Новость безусловно очень хорошая, но более чем уверен, что реализация будет не ахти. В последнее время Microsoft вообще научилась хорошо обламывать пользователей. Например, на днях анонсировали SQL Server 2016 RC0, которого я ждал. Но вот незадача… поставить его можно только на новые версии ОС: 8.1 и 10-ку. При этом сделали это намеренно, чтобы народ мигрировал с 7-ки.
Но вот незадача… поставить его можно только на новые версии ОС: 8.1 и 10-ку. При этом сделали это намеренно, чтобы народ мигрировал с 7-ки.

Сколько версий назад поддерживаете вы в своих продуктах? Поддерживаете ли вы продукты, которым более 6 лет?

Сделали это, скорее всего, потому что некоторые новые возможности требовали что-то новое от операционной системы, либо может просто работающее старое.
Решение, конечно, странное. Насколько я понимаю, многие выбирают SQL Server именно из-за платформы Windows, а не наоборот. По крайней мере разработчики Eve Online на одном из выступлений как раз про это говорили — один из основных плюсов SQL Server по сравнению с каким-нибудь Oracle именно в том, что позволяет иметь стэк ПО (база+ОС+инструменты) от одной компании, и в случае проблем, понятно к кому в техподдержку стучаться.

А вот Visual Studio реально не хватает на OSX и Linux. Тот же Unity3D вынужден включать и поддерживать 2 разных редактора (MonoDevelop и студию).
Думаю, что задумка не о самом MS SQL Server, а больше о продуктах его требующих. Например, Exchange написан на .NET и требует MS SQL Server.
Уточню, что Exchange не требует MsSQL. Данные о пользователях хранятся в Active Directory, данные почтовых ящиков в Exchange database (edb).
Уточню — Exchange и Active Directory используют ESE.
Вот уже чего чего, а этого говномонстра VS точно не надо.
11Гигов после установки чистой VS, это за гранью разумного.
А есть ставить VS для разработки для WinPhone, то установщик затребовал >40Гигов на диске.

Ждем когда допилят нормально IDEA под C#.
Размер студии всегда поражал, конечно, но все-таки в этих 11и гигах не только редактор, но и SDK и прочее. И по функционалу он не с каким MonoDevelop не сравниться. Я, конечно, хотел бы писать C# в idea, но зачем им делать ее под C# когда у них есть решарпер?
Причины: 1. ASP.NET Core 2. Потому что могут (они решарпер переписали, чтобы он отдельным процессом бегал, теперь уж какая разница, что будет фронтэндом: студия или идея)
Есть мнение, что Windows NT архитектура в целом лучше спроектирована для современных приложений, чем posix-основанная архитектура Linux. На архитектурном уровне там действительно довольно много вкусных вещей. Тот кто говорит про проблемы с I/O на Linux, скорее всего не видели IOCP на Windows в действии. А как хороши легковесные fibers в Винде? Эта точка зрения, конечно, теряется за тем, что Windows — это проприетарная система. А чтобы все эти вкусности заиграли, должно быть написано массовое прикладное ПО, его утилизирующее. Что в обозримом будущем не предвидится, ведь из-за недавней закрытой политики Microsoft никто действительно "не любит" Windows. Но что если бы Windows была сделана open-source?..
Это означает, что MS продолжит развивать развивать Моно (напомню, они купили Xamarin) — были опасения, что выйдет как со Skype. Потому что SQL Server требует .net.
Вообще-то MS SQL в древности произошел от Sybase. A Sybase Adaptive Server точно запускался пол Linux и Solaris. Лет 10 назад даже видел каких-то бедолаг, которые под ним жили.

Так что это "возвращение к истокам".
Хех. Я Sybase ASE жил. в 2000 году. Использовал документацию от MS SQL 6.5, потому что своя была просто ужасна, а от SQL на 99% совпадала.
А почему бедолаги? Отличный сервер, особенно сравнивая с тем, что под линуксом тогда было.
Знаю двух, где она ещё до сих пор работает (ASA 9 и 11). Ещё и под NetWare запускалась.
А для новичков так вообще идеальная СУБД. И шикарная родная документация.
И шикарный Sybase Central, в отличие от SSMS.
Считать, что Microsoft делает это чтобы кто-то мог сэкономить 850$ на лицензии Windows — в высшей степени наивно. Если дело было бы лишь в этом, цену Windows Server просто включили бы в цену SQL.

Укрепить позиции SQL Server, заняв часть ниши MySQL, внести свои правки в ядро в части ввода-вывода и управления памятью — более вероятно.
Sign up to leave a comment.

Articles