Записки IT специалиста
8.51K subscribers
1.91K photos
53 videos
16 files
2.42K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
Download Telegram
Hugo - или сайт как код

О смене движка сайта мы думали уже давно и даже предпринимали попытки тестовой миграции на другие движки, в частности на Wordpress или Joomla, но постоянно находилось то, что заставляло отказаться от этой идеи.

Обычно это всякие мелочи, но этих мелочей набиралось критическое количество и становилось понятно, что надо или лезть под капот и потом это все поддерживать, или отказываться и становиться «еще одним сайтом на __________ (нужный движок впишите сами).

Кроме того, у текущего сайта есть ряд особенностей, которые нам очень нравятся и которые бы мы хотели сохранить.

Текущий движок – Movable Type – это, по сути, генератор статических страниц. А сайт – набор HTML файлов и скриптов. И только динамические функции выполнялись PHP и CGI скриптами.

И все бы ничего, но написан этот движок был на Perl, что влекло при каждом его переносе на другую систему или хостинг увлекательный квест с установкой и настройкой всех зависимостей. Также требовался умеющий работать с Perl сервер приложений FastCGI или uWSGI.

Наличие PHP требовало PHP-FPM, а данные, по классике, хранились в базе данных.

В итоге получался довольно сложный комбайн, к тому же – достаточно капризный. При обновлении как движка, так и ОС постоянно приходилось решать какие-то вопросы, а то и просто менять ОС.

Так ну нас, в свое время, не получилось подружить его с Ubuntu 20.04, а теперь он отказался взлетать на Debian.

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

А сидеть на устаревшем веб-приложении – такая себе идея. И хотя сайт – в основном статика, тот же поиск обрабатывается движком, что несет вполне определенные риски.
Тем не менее у Movable Type были огромные плюсы – полностью разделенные между собой контент, движок и дизайн. При всех сложностях с оформлением мы не разу не столкнулись с тем, что отображение данных оказывалось сломано.

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

Hugo попался нам на глаза давно, когда он только-только набирал популярность. Мы его попробовали, покрутили и отложили до лучших времен. Это было современно, перспективно, но переносить проект подобный нашему на новомодный движок было неосмотрительно. Есть у них большая проблема – они долго не живут (это касается любых молодых проектов).

И вот сейчас мы к нему вернулись и активно разрабатываем новую версию сайта.

Да, именно разрабатываем.Hugo – это современный статический генератор, который делает все тоже самое, что и Movable Type – генерирует набор статических страниц и JS-скриптов.

Но есть большая разница. Hugo – это не движок в прямом смысле этого слова, его не нужно устанавливать на хостинг, это просто генератор, созданный им сайт полностью автономен, все что ему нужно – веб-сервер. Никаких СУБД, никаких серверов приложений.

А сам сайт – это набор текстовых файлов, как для конфигурации, так и для шаблонов. Сам контент хранится в формате Markdown.

Фактически весь сайт – это код. Вы можете открыть его в Visual Studio Code и работать как с любым другим проектом, а результат держать в Git, что позволит как контролировать версии, так и облегчить задачу бекапов. Которые, в обычном понимании, становятся просто не нужны.

Хотите сделать по-своему? Смело пилите, строгайте и ломайте. Если что – у нас есть Git, откатимся. А можно вообще завести ветки и пилить в них разные фичи.

И у вас не болит голова про эффективность кода, безопасность и т.д. Hugo можно держать в закрытом контуре, да хоть на локальной машине. Главное – чтобы формируемый им HTML код был корректным.

Возможности? Возможности ограничены только вашей фантазией и навыками. Документации достаточно, есть крупные сообщества, да и нейросети неплохо знают как с ним работать.

Но, следует понимать, это не для простого пользователя, которому надо сайт из коробки, чтобы открыл страничку и быстро набрал все, как в Word. Придется вникать, но результат того стоит.
👍433🤮2👏1👀1
Больше не придется часами обрабатывать документы. Разгрузить специалистов в финансовой сфере поможет искусственный интеллект.

Как делегировать задачи ИИ — обсудим на бесплатном вебинаре 30 сентября в 11:00 мск от компании Directum. В программе — только живой диалог и реальный опыт приглашенных экспертов:

🔸 Игорь Гипич из Т-Банка расскажет, как ИИ-сервисы распознают документы от госорганов и корпоративных клиентов.

🔸 Денис Шибаев и Константин Задорожный из СОДФУ объяснят, как интеллектуальные механизмы распознают входящие повестки, судебные запросы и обращения граждан без участия человека.

🔸 Роман Колбин из ББР Банка поделится планами по внедрению ИИ на базе Directum RX в финансовые процессы.

Для участия необходимо только зарегистрироваться. Бронируйте время в календаре и приглашайте коллег!

Вебинар будет полезен руководителям и специалистам ИТ-департаментов, директорам по организационному развитию и информационным технологиям, а также финансовым директорам и сотрудникам финансовых организаций.

#реклама
О рекламодателе
3
Их нравы

Организация OpenSSF опубликовала открытое письмо, которое подписали разработчики репозиториев PyPI, crates.io, Packagist, Open VSX и Maven Central. В письме упомянуты проблемы с сохранением устойчивости инфраструктуры при нынешних моделях финансирования и использования репозиториев.

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

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

Некоторые компании злоупотребляют общедоступными репозиториями и используют их в качестве сети доставки контента (CDN) для распространения бинарных компонентов, SDK и пакетов, работающих только в составе платного продукта; флудят запросами из автоматизированных CI систем и систем сборки контейнеров; применяют ресурсоёмкие сканеры зависимостей.

При этом часто компании не задумываются о влиянии своей деятельности на инфраструктуру репозиториев и не пытаются реализовать оптимизации, ограничить интенсивность потока запросов или кэшировать загружаемые пакеты. Всё это создаёт огромную нагрузку на инфраструктуру, которая усугубляется растущей активностью AI-ботов.

Коммерческое использование репозиториев в промышленных масштабах без коммерческой поддержки нежизнеспособно и инфраструктура открытого ПО в таких условиях не может бесконечно масштабироваться на одном энтузиазме.

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

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=63959

В общем и целом – это было ожидаемо. Open Source – это хорошо, но в мире, который основан на товарно-денежных отношениях – недостижимо. Очередная модель «от каждого по способностям, каждому по потребностям» разбилась о реальную жизнь.

Если раньше это был удел гиков и энтузиастов, то сегодня открытое ПО широко используется в коммерческой разработке. Взяли то, взяли это, обернули в красивую обертку и давайте продавать.

О том, что используемые компоненты имеют своих авторов и эти авторы тоже хотят кушать все как-то забывают. Оно же ведь бесплатное, в свободном доступе, какие деньги, вы о чем?

👉 А потом начинается «я устал, я ухожу», так без сопровождающего осталась библиотека libxml2, о чем мы уже писали: https://t.me/interface31/4435

При этом данную библиотеку используют в своих продуктах Apple, Google и Microsoft (а также 1С), но с помощью разработчику у них как-то не сложилось.

Скорее всего, в ближайшее время, нас ждет существенный пересмотр модели распространения открытого ПО и неизбежно связанная с ним коммерциализация, либо закрытие многих проектов.

Тем более, что поколение реальных энтузиастов, которые могли и работали за идею уходит. А на смену им идут люди, для которых это просто инструмент, в т.ч. и для зарабатывания денег.
😢189🫡5🤮2😁1
Воскресное. Игры

Я в игры играю не то, чтобы много и не то, чтобы часто. Но эпизодически, так как игры хорошо помогают «переключить контекст» и дать отдохнуть мозгам, причем отдых этот будет активным.

Так вот третьего дня в Стиме была мною обнаружена и приобретена Against the Storm, градостроительная стратегия в жанре темного фэнтези. Стратегии я люблю, особенно неспешные, градостроительные.

Но в этот раз оказалось все по-другому. Хотя, на первый взгляд, ничего особо сложного, те же самые ресурсы, производственные цепочки, разные расы со своими бонусами и т.д. и т.п.

Любая экономическая, градостроительная стратегия имеет наибольшую сложность в начале партии. У вас тотальный дефицит во всем: материалах, рабочей силе, ресурсах. Вы еще не видели всей карты и не понимаете, как строить свое развитие, а нужно быстро удовлетворить базовые потребности.

Но потом вы твердо становитесь на ноги, выстраиваете экономические цепочки и вас становится достаточно сложно выбить из седла. Главное – контролировать ресурсы, чтобы всем всего хватало.

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

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

А в конце партии так и вообще становится скучно, знай себе строи и развивай, а так все есть, ничего особого и не надо. Разве что погоняться за редкими ачивками.

В Against the Storm все по-другому. Вы находитесь в недружелюбном мире, недружелюбие которого со временем только растет. Ресурсы конечны, кроме дерева, и чтобы найти новые вам нужно будет активно расширяться.

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

Но это все лирика, основная особенность – это жесткий цейтнот в каждой партии. Здесь он выражен как нетерпение Королевы, которая дает вам задания и ждет их исполнения. По сути, обычный таймер, который просто тикает.

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

Королева может попросить ресурсов, которых у вас нет или выполнить определенные условия по численности и удовлетворенности какой-то расы.

Как мы уже говорили – ресурсов мало, и они конечны. Получить новые ресурсы можно на соседних полянах, куда надо прорубиться дровосеками.

Поляны бывают обычные, опасные и очень опасные. На обычных просто есть какой-то ресурс, на опасных и очень опасных вы можете найти и починить производственные здания или получить высокоуровневневые ресурсы без их производства.

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

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

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

Все зависит от того, куда вы прорубитесь. Было все хорошо, попали на опасную поляну, которая кинула штраф в виде ускорения нетерпения. Надо ресурс, у вас его нет. Прорубаете ход на вторую поляну, а там еще один штраф к нетерпению и снова нет нужного ресурса.

Равно как и наоборот. Прорубились – а там просто кладезь «ништяков», быстро закрыли задания, сбросили таймер и вот уже жизнь засияла новыми красками, хотя до этого – хоть убегай.

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

В общем – рекомендую попробовать.
🔥26👍169🤮3🤝2
Зависимости триггеров Zabbix

Еще одна очень важная настройка системы мониторинга. Но, как показывает практика, не все начинающие пользователи Zabbix уделяют ей должное внимание.

А зря, именно эта настройка способна предотвращать такие неприятные вещи как вал алертов или ложные срабатывания.

Для чего это нужно? Допустим у вас есть филиал, офис, торговая точка – любой объект, стоящий в отдельном сегменте сети за своим роутером. В случае недоступности роутера вы получите вал алертов от всех контролируемых устройств этой сети. Хотя важен только один – проблема с роутером.

Другой пример – вы настроили какой-то триггер не срабатывать в вечернее время, но другой триггер об этом не знает и будет постоянно отвлекать вас от дел несмотря на то, что его состояние в это время для вас также не имеет значения.

Как быть? Настроить зависимости триггеров, это быстро и несложно. Для этого переходим в настройку триггера на вкладку Зависимости, нажимаем Добавить и выбираем хост и триггер этого хоста, от которого мы хотим зависеть. После чего не забываем нажать Обновить. Готово!

Теперь зависимый триггер не будет срабатывать, если ведомый триггер находится в состоянии ПРОБЛЕМА. Задача решена и вы будете получать только важные алерты и не будете отвлекаться на информационный шум.
👍40🥱2🤝2
Новый формат DEB822 для источников APT

С выходом Debian 13 многие пользователи могли заметить новый формат источников APT – DEB822, еще раньше с ним столкнулись пользователи Ubuntu, где он применяется начиная с Ubuntu 24.04.

Почему DEB822? Название происходит от RFC 822, который описывает текстовый формат структуры ключ-значение.

Новый формат предусматривает описание источников APT в файлах .source расположенных в /etc/apt/sources.list.d и теперь записи в них выглядят так:

Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie
Components: main non-free-firmware contrib non-free
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg


Это пример записи для Debian 13, разберем основные опции нового формата:

🔹 Types: - тип репозитория, может принимать два значения: deb и deb-src, бинарные пакеты и исходный код.

🔹 URIs: адреса репозиториев, поддерживается HTTP(S), FTP и файловая система (для репозиториев на диске или в папке).

🔹 Suites: выпуск, указываем кодовое имя дистрибутива, для Debian можно также использовать stable, testing и т.д.

🔹 Components: компоненты репозитория. Тут тоже все понятно.

👆 Эти четыре опции обязательны. Остальные могут добавляться по желанию и необходимости.

🔹 Signed-By: ключ для проверки подписей репозитория. К этому все идет уже давно, дистрибутивы отказываются от apt-key и переходят к персональным подписям. Это правильно, так как серьезно повышает безопасность.

Какие еще опции могут оказаться полезны?

🔹 Enabled – по умолчанию имеет значение yes, но вы можете указать явно no чтобы выключить источник, не комментируя и не удаляя строки.

🔹 Trusted – позволяет сделать источник доверенным (yes), что может пригодиться для собственных локальных репозиториев. Если установить его в значение no, то репозиторий перестанет считаться доверенным, даже если мы успешно проверили его подпись. По умолчанию не задан.

🔹 Architectures – определят для каких архитектур источника будут загружены индексные файлы, если эта опция явно не указана, то используются все доступные архитектуры. Может быть полезна если вы подключили какой-то специфический источник и вам оттуда нужны только, скажем, i386 пакеты.

🔹 Check-Valid-Until – контролирует срок действия загруженных индексных файлов, что позволяет избежать атак класса Replay Attacks однако для ряда репозиториев которые не обновляются (например, архивные репозитории Debian) эту опцию следует отключить (по умолчанию включена).

🔹 Valid-Until-Min / Valid-Until-Max – задают минимальный и максимальный срок «годности» репозитория, используются совместно с Check-Valid-Until, могут быть полезны для редко обновляющихся репозиториев или тех, кто не указывает «срок годности».

🔹 X-Repolib-Name – используется только графическими инструментами и позволяет указать человекопонятное имя источника.

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

DEB822 поддерживается начиная с Debian 9 и Ubuntu 20.04, однако по умолчанию применяется начиная c Debian 13 и Ubuntu 24.04, в современных системах для конвертации источников в новый формат можно выполнить команду:

apt modernize-sources


Более подробно со всеми опциями формата вы можете ознакомиться на официальной MAN-странице: https://manpages.debian.org/stretch/apt/sources.list.5.en.html
👍1810👀5🔥4🥱2
Колечко, колечко, кольцо...

Владелец умного кольца Samsung Galaxy Ring за $400 сообщил, что во время путешествия батарея на гаджете раздулась и устройство вдавилось в фалангу пальца. Пользователь Даниэль не смог самостоятельно снять кольцо с пальца и обратился в лечебное учреждение. В больнице смогли снять титановое кольцо без последствий для здоровья человека.

Читать полностью: https://habr.com/ru/news/951896

О чем то таком я сразу подумал еще давно, сразу как увидел данный девайс.

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

В свое время у меня буквально за 15 минут на ровном месте в кармане раздулся ASUS Zenfone, выдавив и раздавив экран.

Думал загорится, но нет, пошипел и перестал.

До этого другой телефон начал греться как утюг, тоже в кармане, помогло выключение и включение.

В комментариях посчитали при полном заряде энергии аккумулятора хватит разогреть кольцо до 150 градусов. Но нам столько не надо, для получения ожога достаточно 55-60 градусов.
💯23😱15👍42
Очередные сложности в работе ночного кинотеатра

Третьего дня приключилась беда, наш ночной кинотеатр оказался недоступен.

Все чада, домочадцы и примкнувшие к ним домашние животные внезапно выяснили, что ходящий до кинотеатра экспресс с модными иностранными буквами Х-рай (не знаю, что это значит, наверное, перевозчик такой) к нашей остановке больше не ходит.

Все в смятении, все требуют хлеба и зрелищ, точнее хлеб и то, что на него положить у них есть, поэтому требуют зрелищ. Понятно, что находиться в такой тревожной обстановке решительно невозможно и надо было что-то решать.

Сначала решил проверить, может это сам кинотеатр закрылся, мало ли, да нет, работает. И даже пункты выдачи заказов с вывесками FTP и SSH работают, курьеры от них нормально приезжают, только вот пассажиров они не берут.

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

Походил по городу, посмотрел, выяснил что новые модные маршрутки с драконом в красном кружке все еще нормально катаются к вокзалам, в частности к такому зелененькому, с надписью CLOUD. Там еще льготные проездные раздают, не 100% халява, но условия приятные.

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

Но если тебе от дома до вокзала CLOUD или еще какого подобного надо – довезем с ветерком.

В общем съездил я на этот вокзал CLOUD и выяснил, что экспресс с буквами Х-рай (не знаю, что это значит) туда приходят регулярно. И можно спокойно ездить в ночной кинотеатр и самому забирать заказы в ПВЗ.

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

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

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

Теперь проблемы на пригородных трассах нас пока не касаются, но кто знает, что будет завтра?

Все описанные события являются плодом авторского, возможно, нетрезвого, вымысла. Но сказка ложь – да в ней намек.
11😁43👌12🔥8🤯3🤡3
Начали потихоньку переводить производственные гипервизоры на Proxmox 9.

Каких-либо серьезных багов или аномалий не наблюдается. Из плюсов пользователи отмечают более информативные графики.

Процесс обновления имеет ряд особенностей, которые не отражены в документации или отражены не полностью. В целом, если вы успели изучить процесс перехода на Debian 13 они не доставляют сложности, но могут и поставить в тупик начинающего.

Поэтому в планах на ближайшее время подготовить материалы по апгрейду всех основных продуктов Proxmox.
👍963🤔1🤝1
Недорогие процессоры Intel Jxxx и Proxmox

Сегодня некоторые читатели, глядя на выложенный нами скриншот с удивлением спрашивали, а серьезно ли это у нас Proxmox крутится на Celeron J3455?

Да, серьезно. Да, в продакшене. Но зачем? Не везде нужна вычислительная мощность, часто бывает просто надо уплотнить размещение сетевых служб, не предполагающих высокой нагрузки. В нашем случае это УТМ ЕГАИС, которые можно установить в количестве 1 единицы на 1 хост. Да, виртуализировать ее официально запрещено, но что прикажете делать, если у вас крупная сеть? Искать 10-20-30 отдельных ПК?

Вот для таких задач эти машинки подходят просто отлично и стоят недорого. Также, как показала практика, они отлично тянут типичные Linux-задачи: прокси, VPN, файлопомойка, веб-сервер, всякие докеры и прочие контейнеры, конечно с оглядкой на вычислительные способности процессора.

Но может можно немного доплатить и взять что-нибудь помощнее? Можно, но не нужно. Почему? Данные системы позволяют реализовать предельно энергоэффективные, компактные и очень тихие или вообще бесшумные системы.

Пассивное охлаждение на CPU, внешний блок питания, компактный mini-ITX корпус и вот у вас бесшумный, не требующий обслуживания ПК, при этом вы уплотняете не только сервисы, но и физическое размещение за счет предельной компактности.

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

А теперь по моделям. Процессоры линеек J3000/J4000 – это уже устаревшая, но не утратившая актуальности платформа. Скажем так – неплохой выбор для экономных. Производительности вполне хватает, потребление небольшое, цена – приемлемая.

Старшую линейку J5000/J6000 покупать сегодня нет никакого экономического смысла, эти модели не стоят своих денег. Все дело в том, что сейчас на рынке широко представлены модели нового семейства N100, которое превосходит своих предшественников на голову.

Данный процессор по вычислительной мощности примерно равен Core i5 4-го поколения и это не только маркетинговые заявления, мы лично тестировали и те и другие системы и вполне согласны с этим определением.

Поэтому если хотите недорого, но сердито – смотрите на серию N100, там также доступны платы с пассивным охлаждением, цена таких плат формата mini-ITX на сегодня варьируется от 11 000 руб. до 15 000 руб., плюс-минус.

Полностью собрать компактный блок выйдет в 20 - 25 тыс. руб. Если взять J3000/J4000, то там платы доступны по 7 – 8 тыс. рублей, что позволит еще немного сэкономить.

При этом, если брать современные платы, то у вас будет 1 M.2 NVMe, 2 SATA и один или два слота под память, до 16 ГБ, плюс один PCIe x4.

Для обрисованного нами круга задач вполне достаточно. Плюс есть вариативность по памяти и накопителям. Чем не мини-сервер или домашняя лаборатория?

Но можно пойти другим путем и еще немного сэкономить денег купив готовый неттоп. Модели на N100 в рознице стоят в районе 15 000 руб. Это готовый ПК с памятью и накопителем. А если поискать на Озоне или других маркетплейсах, то можно найти китайцев от 7 – 8 тыс. руб.

Да, туда придется добавить памяти и, возможно, заменить накопитель на более емкий. Но по деньгам это очень привлекательная покупка.

В минусы – низкая возможность расширения и шумный вентилятор под нагрузкой. Зато – предельная компактность и экономия.

Еще более радикально можно сэкономить, купив на Авито старый неттоп с J1900. Это очень старый процессор, но очень удачный и по производительности он даже превосходит младшие J3000, но уступает по энергоэффективности.

Готовый неттоп с ним сейчас можно найти за 5 000 руб. Правда память там будет DDR3 и только SATA. Но как домашний гипервизор начального уровня он будет работать отлично, и полностью бесшумно.

А дальше смотрите и думайте. Но в любом случае подобные системы имеют смысл, когда высокой нагрузки не предполагается, а на передний план выходят компактность и бесшумность.
👍2914💯5🤝4🔥2
Еще одно полезное новшество в Proxmox 9

На графике расхода памяти теперь показывается доступная память и ZFS ARC, последнее крайне полезно для тех, кто просто поставил Proxmox, подключил ZFS-хранилище, но ни стал ни читать, ни разбираться.

А потом – ой, а где это вся моя оперативная память? И почему OOM-killer отстреливает мои виртуальные машины?

Прочитать подробнее можно здесь: https://interface31.ru/tech_it/2022/07/nastraivaem-ispolzovanie-ram-pri-rabote-s-zfs-v-proxmox-ve.html
🔥20👍15
​​KISS (Keep it simple stupid, «не усложняй, придурок»)

Работая с различными заказчиками, очень часто приходится вспоминать этот принцип. Потому как многие коллеги, особенно молодые, очень любят переусложнять системы.

Когда в сети на 5-7 узлов встречаешь ActiveDirectory, развернутую на единственном сервере, там же еще крутится 1С, СУБД и всякое прочее – берет оторопь.

Причем никакой виртуализацией там не пахнет, потому что виртуализация – это сложно.

А насколько просто будет поддерживать и сопровождать этого монстрика Франкенштейна – никто и не думает.

Если заглянуть в набор правил брандмауэра, то мы увидим там кучу правил с заковыристыми критериями, типа TCP-флагов и прочего, чего сам коллега и толком пояснить не может.

На вопрос: «зачем?»

Поясняют, что: «Защита от сетевых атак»

На следующий вопрос: «А вас кто-то атакует?» тоже остается без ответа.

По имеющимся сообщениям, акроним был придуман Кларенсом Джонсоном, ведущим инженером Lockheed Skunk Works, когда Джонсон вручил команде инженеров-авиаконструкторов набор инструментов, поставив им условие: механик среднего уровня должен суметь отремонтировать реактивный самолёт, который они проектировали, в полевых условиях только с этими инструментами.

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

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

А аппаратные ресурсы для этого способен предоставить любой бытовой ПК среднего уровня.
👍43🔥97😁4🥱2
​​1С, Linux и виртуализация

Буквально на днях коллега попросил рассказать нас как мы работаем с на платформе виртуализации Proxmox.

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

Центром всей этой системы является сервер 1С:Предприятия, который лицензируется отдельно на каждый запущенный экземпляр, стоимость лицензии составляет 95 000 руб., что не располагает к маневрам по разделению серверов и т.п.

Но не стоит сбрасывать со счетом Сервер-Мини за 15 500 руб. разрешающий пять сеансов к расположенным на нем информационным базам. Его можно использовать для вынесения на него ресурсоемких баз с малым количеством пользователей (например, ЗуП) или служебных баз для выполнения разного рода обменов и прочего регламента.

В любом случае сервер 1С – это центр вашей инфраструктуры и ему следует уделить особое внимание. Начнем с лицензирования, при нахождении сервера 1С в контейнере он учитывает ядра и сетевые карты контейнера, но диски и объем оперативной памяти берет от хоста.

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

Сколько места выделить под контейнер? Много не нужно, там будет храниться серверный кеш, индексы и журналы, не считая временных файлов. Все это можно посмотреть на живой базе. Если не знаете – 1,5 – 2 размера ИБ, в случае чего всегда сможете откорректировать.

Следующий важный компонент – СУБД, мы используем бесплатную версию PostgreSQL от компании PostgresPRO. Также можно использовать сборку от 1С, но версия от PostgresPRO имеет репозиторий и получает обновления, что является более предпочтительным.

Ведущие специалисты по Postgres для 1С, такие как Антон Дорошкевич, рекомендуют выделять под одну базу один контейнер. И в этом есть смысл.

Во-первых, вы можете выделить каждой базе собственный набор ресурсов, за которые ей не придется конкурировать. Во-вторых, вы можете настроить сервер СУБД с учетом реальных потребностей конкретной базы, а не искать компромисс между различными базами с различным характером использования.

Как минимум разнесите на разные сервера СУБД различные конфигурации 1С, Бухгалтерию на один, Зарплату на второй, Торговлю на третий.

В этих целях следует создать готовый шаблон контейнера с уже установленной СУДБ и быстро разворачивать экземпляры по необходимости.

Основной тип подключения к базам – тонкий клиент, он отлично работает не только в локальной сети, но и из удаленных расположений через VPN. Забудьте про терминалы как страшный сон, в этом сценарии они не дают никаких преимуществ, только лишнюю головную боль.

Третий компонент – веб-сервер для публикации баз или веб-сервисов. Это дополнительный способ доступа и разворачивается он также по принципу: одна база – один веб-сервер, веб-сервисы публикуются отдельно.

Для него точно также имеет смысл создать готовый шаблон и разворачивать по необходимости. Это позволяет также использовать одноразовые веб-сервера, например, чтобы предоставить доступ внешнему пользователю (скажем, аудитору). После чего такой контейнер просто удаляется.

Что из этой схемы бекапится? В первую очередь сервер СУБД, частота выбирается исходя из допустимой потери информации. Потеря СУБД – потеря всех расположенных на них информационных баз 1С.

Сервер 1С не хранит никакой пользовательской информации и его потеря не так критична, бекапим сугубо в целях быстрого восстановления работы системы при авариях.

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

Исключение – сервера работающий наружу, с сертификатами и прочими настройками безопасности. Опять же единственная цель бекапа – быстрое развертывание.
👍54👌6🤡2🥱21
​​Разделяй и властвуй

И снова про нашу родную 1С, точнее про сервер 1С:Предприятие, который в наш век виртуализации и контейнеризации с завидным упорством продолжают устанавливать и настраивать монолитом, особенно на платформе Linux.

Вина в этом во многом связана с массой материалов в сети, где эта тема именно так и подается, без разбора на составляющие и пояснений. Мол выполни шпаргалку – получишь результат.

Надо ли говорить, что рано или поздно подобное творчество приходится разбирать и перенастраивать. Почему? Этих почему много и ниже мы их коснемся.

▫️ Начнем с самого сервера 1С:Предприятие, в платформе ПРОФ разработчики фактически забрали у пользователя практически все инструменты управления памятью и сервер будет работать с параметрами по умолчанию.

Поэтому это очень плохой сосед и первый кандидат на отселение, точнее главный. Сервер 1С:Предприятие всегда должен жить отдельно.

Часто в статьях про виртуализацию советуют выносить в отдельную виртуалку Сервис лицензирования. Но перед тем, как это сделать нужно хорошо подумать.

Локальная серверная лицензия позволяет запустить неограниченное количество экземпляров сервера на узле. При использовании Сервиса лицензирования: один экземпляр – одна лицензия.

А необходимость второго экземпляра возникает весьма часто, когда та же Бухгалтерия или ЗуП требует новой версии платформы, но вы не хотите обновлять ее в масштабе предприятия, потому что та же Торговля такого обновления не требует.

▫️ СУБД, а наших реалиях это будет все чаще Postgres, но практически все нижесказанное будет справедливо и для MS SQL.

Это второй кандидат на отселение, так как вы не подружите СУБД и сервер 1С:Предприяите по памяти на уровне лицензии ПРОФ.

Для Postgres вообще рекомендуется разносить сервера СУБД по принципу: 1 база – 1 инстанс. Это связано как с возможностью тонкого тюнинга СУБД под нагрузку, так и с особенностями резервного копирования и восстановления Postgres.

Но в любом случае, вне зависимости от СУБД, разделяйте инстансы для рабочих баз, тестовых и архивных. Архивные – это базы прошлых лет, которые бухгалтера любят держать для «зайти посмотреть».

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

Начнем с того, что никакого преимущества веб-клиент перед тонким клиентом не имеет. В том числе и на медленных каналах. Поэтому если можете использовать тонкий клиент – используйте.

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

В клиент-серверном варианте веб-сервер обработкой запросов не занимается и просто проксирует их серверу 1С:Предприятие, поэтому ресурсов много не потребуется.

Веб-сервера тоже лучше разделять, как минимум по разным информационным базам или их наборам. Во-первых, это связано с версией платформы, которая должна совпадать между сервером 1С:Предприятия и веб-сервером.

Во-вторых, это более удобно в плане обслуживания и безопасности, так как можно разделить разных пользователей по разным веб-серверам.

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

Для популярных ныне веб и HTTP-сервисов также используйте отдельный веб-сервер, опять-таки исходя из соображений обслуживания и безопасности.

При этом помним, что никакой полезной информации веб-сервера на себе на хранят и поэтому мы их можем создавать и удалять в любом количестве в зависимости от текущих потребностей.
При этом совмещать веб-сервера для 1С с другими ролями и задачами не следует.

Но опять-таки, перед тем как настраивать веб-сервер подумайте, а для чего он вам нужен и нужен ли вообще. Потому что это еще один компонент системы, который требует обслуживания и во многих случаях он просто не нужен.
👍18💯168👀7🤡4
Хотели как лучше, а получилось как всегда…

Эта поучительная история случилась с одной очень дружественной нам фирмой. Бухгалтерия на аутсорсе, пять рабочих мест, около 70 баз 1С:Предприятие. Из них реально горячих – 5-10, остальные так – отчетность сдать.

В какой-то момент все это хозяйство, которое работало в файловом режиме с доступом к базам по локальной сети стало тормозить. Местный падаван, племянник владельца, посмотрел и выдал вводную – надо переходить в клиент-серверный режим.

Времена тогда были более простые и под Linux можно было невозбранно запустить 12 сессий. Поставил, настроил, перенес пару баз – отлично! Бухгалтера затею одобрили и была куплена настоящая лицензия и процесс пошел!

Но очень скоро, где-то на переносе 25-30 базы сервер стал колом. Причина – 100% загрузка диска. Так как баз много и места им тоже надо много, то их разместили на HDD, мол какая там нагрузка, один человек и то не постоянно…

Но беда… Ладно, пошли купили SSD, отпустило, но в потолок уперся процессор и оперативка.

😡 Что за @#@$@%!!!

Все просто – регламентные задания. У типовой 1С:Бухгалтерия из коробки они очень неоптимальные, и мы рассказывали, как с ними бороться в нашей статье:

Почему тормозит 1С. Регламентные задания

Но на этом дело не закончилось. С диском и процессором разобрались, но вот как быть с ОЗУ?

Это самая больная тема, так как мы можем увеличить диски, можем поставить самый мощный в поколении процессор. Но ОЗУ ограничено платформой и хоть пой, хоть пляши.

А в клиент-серверной системе каждая база будет запускать регламентные задания, надо оно вам или не надо и все это требует ресурсов. А баз у вас 70, хотя из них 50 – холодные.

Менять серверную платформу? Стоит денег. Как быть?

А просто разобраться. Горячие базы выносим на сервер. Там им самое место. Все быстро, все довольны. А холодные оставляем в файловом варианте и публикуем через веб-сервер, это означает что серверный код будет быстро выполняться на сервере.

А клиентский – на клиенте, но для этого надо использовать тонкий клиент через веб.

В общем мы местного падавана направили и поправили, после чего снова стало все хорошо.

👆 Мораль? Любые технологи должны быть уместны. Если мне раз в пятилетку надо закрутить два самореза – я куплю отвертку, шуруповерт мне ни к чему.
👍38🤝195
Накладные расходы на контейнер

Вчера в обсуждениях задавали этот вопрос, а сегодня мы как раз поднимали новый контейнер с Postgres. Накладные расходы чистого контейнера (без баз) вы можете видеть на скриншотах.

🔹 Итого по памяти ~ 50 МБ, обратите внимание, что сам контейнер показывает большее значение. Но никакого противоречия тут нет, так как контейнер считает внутри и собственное потребление и совместно используемые с хостом ресурсы, в частности ядро.

🔹 Итого по диску ~ 500 МБ, цифра на фоне типовых размер баз 1С достаточно скромная. Даже при использовании SSD небольшого размера.

Примерно такая же картина наблюдается и в контейнере с Apache.

👆 Таким образом накладные расходы на дополнительные контейнеры можно считать несущественными.
👍23👌1
Административная виртуалка

В свете перевода всей инфраструктуры 1С на Linux и в контейнеры встает закономерный вопрос – как обслуживать все это хозяйство.

«Что значит как?» —спросит иной читатель, со своего рабочего места. Но тут не все так просто. Да, повседневные задачи вы можете выполнять откуда угодно, в т.ч. и удаленно. Инструментов для этого хватает.

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

Хорошо, если у вас есть выделенное рабочее место в локальной сети, а если вы нештатный админ или аутсорсер? Также рабочее место может оказаться выключено во внерабочее время, зависнуть, в общем много чего может случиться.

Поэтому мы уже давно практикуем административные виртуалки. Это обычная виртуалка с самой обычной Windows 10/11 на том же самом гипервизоре (или на любом доступном, если их несколько).

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

👉 Накладные расходы – место на диске и потребляемая память. В этом случае уместно использовать Memory ballooning для динамического выделения памяти или просто включать такую виртуалку по необходимости если свободной памяти не очень много.

👆 А плюсов такого решения более чем достаточно. Про высокую доступность такого рабочего места мы уже говорили. Но оно еще и повторяемо – вы можете взять уже настроенную виртуалку и сделать из нее шаблон. После чего быстро разворачивать ее по необходимости.

Зависла – перезагрузим из веб-интерфейса гипервизора, выключена – включим. Сломалась – починим, хотя быстрее развернуть новую из готового шаблона.

Нужно выполнить какие-то ресурсоемкие работы? Добавили вычислительных ресурсов. И все это в быстрой внутренней сети гипервизора.

А вы используете подобные инструменты?
👍83💯654👎1