Произвели миграцию нашего флагманского продукта на opnesource стэк разработки, теперь это все работает на линуксе и постгриsql. Ну и всякие апачи, докеры, куберы, и прочее опенсорсное.
Что я вам скажу. Под MS реально проще! Там все стандартизировано, а тут куча продуктов, куча дистрибутивов линукса, абсолютный зоопарк всяких решений для кластеризации и безопасности. Все это банально настроить даже, чтобы ничего не падало — уже проблема. Админ (девопс) по факту нужен с очень большим опытом и кругозором в этом зоопарке. Сис. инженер под винду обычно знает пяток продукто — AD, MSSQL, Exchange, ну и всякие кластерные технологии и все. А тут необходимый набор знаний — ощутимо выше. Особенно "радует" разбираться в ошибках, возникающих в тех или иных решениях, собранные в уникальный для конкретного клиента зоопарк.
В общем, администрировать линукс реально дороже, чем винду. В этом плане мелкософт правду говорил.
Из плюсов — линуск зоопарк не хакают: все случае хаков, недавно др.веб хакнули например, и еще несколько компаний специализирующихся на ИТ безопасности ханкули за последние месяцы — везде хакают через микрософт продукты. Они хорошо изучены, хакеры используют стандартный инструментарий для взломов. Вторая слабость MS — ценрализация, все решения админятся через AD, и в конечном итогу берут под контроль домен и досвидос. А с линуксом черт ногу сломит...
По функционалу опенсорс кстати очень далеко шагнул. Мне нравится.
В общем через боль идем на Linux. Тяжело, но мы справимся
S>Произвели миграцию нашего флагманского продукта на opnesource стэк разработки, теперь это все работает на линуксе и постгриsql. Ну и всякие апачи, докеры, куберы, и прочее опенсорсное.
Если позволите, задам несколько технических вопросов.
Ранее, на сколько я помню, у вас был .Net-стек (но возможно это еще во времена SharePpoint-based продукта), а что сейчас?
Ну и если вы всё еще на .Net:
— были ли какие-то именно специфичные для .Net проблемы?
— как строится сама разработка? Она тоже переехала на Linux или там только сам продукт?
Ну вот тот же докер и кубер чем заменить на Винде? Это ж кроссплатформа. Апач тоже весь стек под винду есть.
Есть предположение, что с новым стеком и возможностей гораздо больше стало: масштабирование, разворачивание, автоматизация всего и вся и прочее-прочее.
Просто на моем опыте: на линуксе все сильно (на порядки) проще: разворачивание, поддержка, доступ из консоли, скейлинг (тут вообще от платформы не зависит по сути), перенос и правка окружения. Ну просто все на изи. А вот с виндой постоянно какие-то траблы
PS да, сам я сидел плотно на винде еще лет 10+ назад и с тех пор ушел в кроссплатформу. А лет 20 назад так и вообще админил сети на винде
Здравствуйте, DiPaolo, Вы писали:
DP>Ну вот тот же докер и кубер чем заменить на Винде?
А они там нужны? Спаковал все в msi и в 99% случаев оно все поставится и будет работать.
DP>Есть предположение, что с новым стеком и возможностей гораздо больше стало: масштабирование, разворачивание, автоматизация всего и вся и прочее-прочее.
Человек жалуется что в линуксах зоопарк для которого нужно под каждый дистрибутив пилить отдельную конфигурацию и сопрягать между собой "микросервисы".
Тем более что, судя по тексту, у них on-premise решение и приходится под каждого клиента устраивать отдельную интеграцию с бубнами и плясками.
DP>>Ну вот тот же докер и кубер чем заменить на Винде? pva>А они там нужны? Спаковал все в msi и в 99% случаев оно все поставится и будет работать.
в каких-то случаях нужны. В каких-то — нет. Если это монолит, то и на линуксе докер и ко не нужны. а если распределенная микросервисная архитектура, то кто-то должен этим зоопарком управлять.
DP>>Есть предположение, что с новым стеком и возможностей гораздо больше стало: масштабирование, разворачивание, автоматизация всего и вся и прочее-прочее. pva>Человек жалуется что в линуксах зоопарк для которого нужно под каждый дистрибутив пилить отдельную конфигурацию и сопрягать между собой "микросервисы".
pva>Тем более что, судя по тексту, у них on-premise решение и приходится под каждого клиента устраивать отдельную интеграцию с бубнами и плясками.
Так вот чтобы плясок не было — и используют всякие ансиблы/куберы/терраформы. Что для этого есть в Микрософтовском стеке.?
Здравствуйте, DiPaolo, Вы писали:
DP>в каких-то случаях нужны. В каких-то — нет. Если это монолит, то и на линуксе докер и ко не нужны. а если распределенная микросервисная архитектура, то кто-то должен этим зоопарком управлять.
На линуксах и монолит запустить бывает та еще проблема. Например, у меня было что бинари скопиленные под убунту 22 под версиями ниже не работали из-за несовместимого рантайма.
Докер жеж вроде и делался чтобы обеспечить универсальное окружение, а на винде оно и так универсальное (не считая перехода от XP к NT линейке).
Ну а кубера разве нет на винде? Ансибл, насколько я помню, тоже умеет в винду (через ssh как минимум?) или я путаю с солтчего-то там?
Здравствуйте, pva, Вы писали:
DP>>в каких-то случаях нужны. В каких-то — нет. Если это монолит, то и на линуксе докер и ко не нужны. а если распределенная микросервисная архитектура, то кто-то должен этим зоопарком управлять. pva>На линуксах и монолит запустить бывает та еще проблема. Например, у меня было что бинари скопиленные под убунту 22 под версиями ниже не работали из-за несовместимого рантайма. pva>Докер жеж вроде и делался чтобы обеспечить универсальное окружение, а на винде оно и так универсальное (не считая перехода от XP к NT линейке).
Так это если только один голый бинарник cdejector.exe. А если тебе вдург потребуется, например, некая конкретная версия .net-фреймворка, то начнутся свистопляски. А у него там ещё и "AD, MSSQL, Exchange, ну и всякие кластерные технологии". Докер же позволяет запаковать это всё в один образ, который развернётся где угодно, в т.ч. и с сетевыми настройками, юзерами и т.п.
pva>Ну а кубера разве нет на винде? Ансибл, насколько я помню, тоже умеет в винду (через ssh как минимум?) или я путаю с солтчего-то там?
Вроде есть, но грустно всё. Получается типичный троллейбус из буханки.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, pva, Вы писали:
pva>На линуксах и монолит запустить бывает та еще проблема. Например, у меня было что бинари скопиленные под убунту 22 под версиями ниже не работали из-за несовместимого рантайма.
Так это не проблема, рантайм всегда можно взять с собой (скорее всего, просто одна so), у них по ABI отличная совместимость. Я удивлюсь, если приложение, собранное под Win11, начнёт запускаться без проблем под ранними Виндами.
Здравствуйте, pva, Вы писали:
pva>На линуксах и монолит запустить бывает та еще проблема. Например, у меня было что бинари скопиленные под убунту 22 под версиями ниже не работали из-за несовместимого рантайма.
glibc стремиться гарантировать обратную совместимость, поэтому надо собирать на самой старой версии ОС которую надо поддерживать и все будет работать на новых (скорее всего). Хорошая политика выбирать самую старую еще поддерживаемую Убунту. Или можно идти по пути МС и поставлять свою версию glibc вместе с приложением.
pva>Докер жеж вроде и делался чтобы обеспечить универсальное окружение, а на винде оно и так универсальное (не считая перехода от XP к NT линейке).
Вы мешаете в одну кучу API ОС и С рантайм. В винде каждое первое приложение устанавливает свой рантайм (Microsoft Visual C++ Redistributable). API ОС обратно совместимо и в винде и в линухе.
Здравствуйте, pva, Вы писали:
pva>Докер жеж вроде и делался чтобы обеспечить универсальное окружение, а на винде оно и так универсальное (не считая перехода от XP к NT линейке).
Правда XP это и есть NT 5.1 (W2K — NT 5.0)
Ты наверное 9X имел в виду? Но и там всё было довольно неплохо
Здравствуйте, Skorodum, Вы писали:
pva>>На линуксах и монолит запустить бывает та еще проблема. Например, у меня было что бинари скопиленные под убунту 22 под версиями ниже не работали из-за несовместимого рантайма. S>glibc стремиться гарантировать обратную совместимость, поэтому надо собирать на самой старой версии ОС которую надо поддерживать и все будет работать на новых (скорее всего). Хорошая политика выбирать самую старую еще поддерживаемую Убунту. Или можно идти по пути МС и поставлять свою версию glibc вместе с приложением.
Да понятно что нужно делать, но я просто указал на то что проблема зависимостей в линуксах стоит острее. А при попытках вкомпилить рантайм в либу начинаются другие приколы, наподобие того что некоторые зависимые либы не умеют в статику и требуют только динамику.
pva>>Докер жеж вроде и делался чтобы обеспечить универсальное окружение, а на винде оно и так универсальное (не считая перехода от XP к NT линейке). S>Вы мешаете в одну кучу API ОС и С рантайм. В винде каждое первое приложение устанавливает свой рантайм (Microsoft Visual C++ Redistributable). API ОС обратно совместимо и в винде и в линухе.
Про АПИ ОС речи нет. Речь о том что в линуксах две соседних версии могут быть несовместимы. А на свежих версиях так вообще может не быть нужных пакетов еще.
В винде редисты ставят потому что ты не знаешь до тебя поставил их кто-то или нет. Так-то они одни для всех и на обновляющейся винде есть свежие.
Здравствуйте, пффф, Вы писали:
П>Ты наверное 9X имел в виду? Но и там всё было довольно неплохо
Нет, я имел в виду что у XP тоже были свои какие-то приколы из-за чего в студии для нее был отдельный набор либ и ключи компиляции.
Про проблемы с переходом из 9х в NT не припомню, если честно, кроме драйверов vxd-sys.
pva>На линуксах и монолит запустить бывает та еще проблема. Например, у меня было что бинари скопиленные под убунту 22 под версиями ниже не работали из-за несовместимого рантайма.
Ну да. Потому принято делать сборки под каждую таргет ОСь, типа:
Ubuntu 20.04
Ubuntu 22.04
Debian 9
Debian 10
Debian 12
ну и т.д.
Свой glibc я лично предпочитаю не носить для надежности и безгеморности. А настроить один раз сборку под все платформы — не проблема.
Для примера достаточно посмотреть на дистры некоторых продуктов — там как раз будет портянка под таргет ОСи, которые не End of Life.
Ах да! Еще же разные архитектуры... ну, там, x86, x64, ARM и прочее
Здравствуйте, sharpcoder, Вы писали:
S>Что я вам скажу. Под MS реально проще! Там все стандартизировано, а тут куча продуктов, куча дистрибутивов линукса, абсолютный зоопарк всяких решений для кластеризации и безопасности. Все это банально настроить даже, чтобы ничего не падало — уже проблема. Админ (девопс) по факту нужен с очень большим опытом и кругозором в этом зоопарке. Сис. инженер под винду обычно знает пяток продукто — AD, MSSQL, Exchange, ну и всякие кластерные технологии и все. А тут необходимый набор знаний — ощутимо выше. Особенно "радует" разбираться в ошибках, возникающих в тех или иных решениях, собранные в уникальный для конкретного клиента зоопарк.
Следует читать как: "мы много лет трахались на ms-стеке, набили кучу шишек, набрали большой опыт, имеем в штате много узких специалистов. И, внезапно, имея нулевой опыт всего-лишь за ~год успешно перешли на совершенно другую платформу с совершенной другой инфрой".
This was a triumph. I'm making a note here: "Huge success".
S>В общем, администрировать линукс реально дороже, чем винду. В этом плане мелкософт правду говорил.
Странный вывод.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай