Добавлена поддержка
ЭЧ/Ech (ex-Escapechan) и Ежчана (
ejchan.net,
ejchan.site). Набегаем, тестируем архивацию,
сообщаем о замеченных проблемах.
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (
подробности случившегося). Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Сейчас много вакансий типо DevOps, SRE, все они представляют из себя одно - компаниям нужны "устойчивые" "масштабируемые" технологии. А зачем? Зачем нужны контейнеры, kubernentes, ansible и прочая кнопкодавская ерунда, если можно раскатать всё на голом сервере и пусть оно работает. Корень всех проблем - окружение, динамические библиотеки. Linux давно уже заполучил ту же проблему что и dll-ад на винде - большая часть программ настолько крупная что не может быть независимой - программы компилятся с миллионом динамических библиотек. Принцип обратной совместимости обычно нарушается всегда - стоит либке обновиться до какой-то версии, её функционал начинает работать иначе - в итоге всё рушится. Складывается ситуация, что развернув веб-приложение на локалхосте - оно отлично работает, но стоит перенести его в прод - всё рушится и падает. Да даже на десктопе уже возникают проблемы - apt, dnf, pkg обновят что-то - всё пизда всем приложениям, звук на freebsd не робит, игры нормально не запускаются. А если то же самое произойдёт на сервере - то это ведь провал, часы простоя, потеря денег. Поэтому придумали cgroups, контейнеры для изоляции зависимостей в "образ". Более того, придумали кубернетес чтобы всё это оркестрировать в декларативном стиле, чтобы ничего не падало даже когда образ собран с ошибками. Но ключевой вопрос - а зачем нам вообще такая дрянь как "динамические библиотеки"? Программы ведь можно писать маленькими и простыми в Unix-way, Keep it sample. Действительно, если у тебя программа собрана статично, то необходимости в контейнерах нет - ты можешь просто поднять несколько процессов, на разных портах, или даже связать их через балансировщик. Проблемы окружения вообще не ебут - ведь все либки уже зашиты в бинарник. Почему так не сделали? Могли бы существовать в альтернативном интернете, где браузер представляет собой парсер гипертекста и клиент для подключения по http. Программы бы предварительно скачивались - google docs запускался бы как обычное дестопное приложение. Удобно, адекватно, защищённо. Для совершения ддос атаки потребовались бы значительные усилия, ведь когда браузер отдаёт контент за миллисекунды, и строго обрывает соединение по таймауту - придётся вбухать огромные деньги, чтобы забить пропускную способность такого канала. А если ещё и сделать распределённую систему - то ддос становиться практически невозможным. Отсутствовала бы как таковая навязчивая реклама, ведь любой браузер мог бы иметь фичу - заблокировать загрузку и кэширование картинок до тех пор пока автор сам на них не кликнет "загрузить". В чём проблема жить так? Очевидно - узколобые припизднутые на голову юзеры насрали нам в жопу, испортили всю малину. Среднестатистическое быдло не умеет пользоваться компьютером. Юзер - это долбоёб который открывает страницу и такой "ыыыы красивые картиночки ыыыы всё работаит прямо в бравзере!! уииии хрюююю и даже качать ничего не надо" - узколобому дебилу невдомёк, что всё что он использует на этом сайте он УЖЕ СКАЧАЛ и запустил на VM внутри браузера. Учитывая что там IQ дай бог 60, ему и не обьяснишь, что он бы могу просто скачать десктопное приложение и запустить его, и это было бы и быстрее и удобнее раз в 100. Он просто даж слов таких не поймёт, там на противоположной стороне сетевого интерфейса сидит рома-попрыгун, который умеет только кнопки тыкать и иконки на флешку закидывать. И таких людей большинство - именно они диктуют тенденцию рынка. В итоге гипертекстовые сайты просто не вывозят конкуренции - пользователь выберет тормознутую кнопкотыкалку в браузере, вместо нормального ПО, просто потому что по его мнению "качать нинужна". Подобные кнопкотыкалки невозможно реализовать по Unix-way, они требуют javascript, кучу серверной логики, кучу бесполезного мусора и наслоений - современный браузер это уже чёрти-что на палочке с QT5 и половиной пакетов из репозитория. Даже если откомилить их статически - появится масса проблем, начиная от того что это +60% к использованию дискового пространства, до уязвимостей в либках, чтобы пофиксить которые пришлось бы очень муторно всё перекомпилировать. Сделовательно, в таком раздутом говне проще использовать динамические библиотеки, а с ними и массу других вышеперечисленных проблем, для фикса которых придумали контейнеризацию. Оправдывайтесь, как так получилось, что всем вашим интернет-существованием заведуют дебилы на юзерах?