Айтишник читает
3 поста
3 поста
Puppet - мой основной рабочий инструмент. Сейчас он обслуживает нашу офисную и торговую сеть, а это более 9000 хостов на Linux под самые разные нужды. На русском языке актуальных материалов по нему практически нет, поэтому я взялся за англоязычную «Puppet 8 for DevOps Engineers». Читалось не быстро, но, как говорится, дорогу осилит идущий.
И книга оказалась просто 10 из 10.
Больше всего понравилось, что это не просто сборник синтаксиса и примеров, а разбор Puppet как полноценного инженерного инструмента.
Что внутри:
Сначала автор рассказывает историю создания Puppet и задачи, ради которых он создавался. Потом переходит к философии: почему он устроен именно так, как работает декларативный подход, зачем нужна идемпотентность и почему это важно для управления инфраструктурой.
Большой блок посвящён коду. Код описан через примеры и советы, но так же описаны типовые ошибки, подводные камни и наследие старых версий, которое всё ещё можно встретить в живых инфраструктурах, но лучше заменить.
Отдельно понравилось, что есть главы про архитектуру использования Puppet, серверную часть, конфигурирование, тонкую настройку, логирование, мониторинг и эксплуатацию. То есть это не только книга для тех, кто пишет Puppet-код, но и для тех, кто потом будет держать всю эту систему в работоспособном состоянии.
Последняя небольшая часть посвящена сравнению с платной версией. Автор честно говорит, что многие возможности можно собрать и в бесплатной версии, если готовы вложить время и поддерживать всё самостоятельно.
Так же в этих главах становится понятно что автор не просто пользуется Puppet, а является частью его команды разработки. Отсюда и такой уровень погружения в разные аспекты инструмента.
По итогу:
Книга оказалась полезной со всех сторон: и для написания нормального Puppet-кода, и для понимания архитектуры, и для эксплуатации серверов Puppet в реальной инфраструктуре.
Хочется, чтобы по другим DevOps-инструментам чаще попадались книги такого уровня.
Есть, правда, грустный контекст: Puppet 8 стал последней open source-веткой. После изменений со стороны Perforce новые пакеты и бинарные сборки Puppet начали уходить в закрытую модель распространения. Сообщество в ответ развивает форк OpenVox. По командам, структуре и общей логике он во многом продолжает привычный Puppet-подход, так что история инструмента, похоже, не закончилась.
23 апреля 2026 года Canonical выпустила Ubuntu 26.04 LTS Resolute Raccoon. Для меня это старт большого проекта. Работа Linux-администратора в крупной компании подразумевает создание «золотого образа», который потом годами будет крутиться на сотнях машин.
В мои задачи входит поддержка систем управления конфигурациями. И большая часть хостов крутится на подготовленной Ubuntu с нужным набором программ, политиками, настройками рабочего окружения, сертификатами, репозиториями, ограничениями, автозапуском, удалённым доступом и прочей инфраструктурной обвязкой.
Срок поддержки заявлен до 2031 года. Для корпоративной среды это главный аргумент: если сейчас нормально подготовить дистрибутив, на нём можно спокойно жить ещё 5 лет.
Первое знакомство.
Canonical в документации указывает для Ubuntu Desktop 26.04 минимум 6 ГБ RAM, 2 GHz dual-core CPU и 25 ГБ.
В чистом виде, без swap-файла, система заняла у меня около 6.6 ГБ на диске. Потребление оперативки на старте чуть меньше 2 ГБ. На фоне этого официальная рекомендация в 6 ГБ RAM выглядит как оценка для комфортной работы.
Думаю после загрузки всех требуемых пакетов, браузеров с десятками вкладок, мессенджерами, антивирусами, агентами и прочими пожирателями ресурсов будет в самый раз.
После тестовой установки нескольких тяжеловесных приложений, система ощущается плавной и отзывчивой. Дальше предстоит выяснить что поменялось в системе, где могут сломаться сценарии Puppet, не поедут ли настройки dconf/gsettings и ещё тысячи других мелочей.
Что нового в «Решительном еноте»?
Если сравнивать с 22.04 (которая до сих пор остается основной рабочей лошадкой во многих конторах), то это довольно крупный технологический скачок.
- Ядро Linux 7.0. Ubuntu 26.04 базируется на новой мажорной версии ядра. Это поддержка самого свежего железа, оптимизации в работе планировщика, а также свежие фичи в сетевом стеке.
- GNOME 50 принёс улучшения в адаптации интерфейса под небольшие экраны, аппаратное ускорение записи экрана, прокачанный remote desktop и более плавную работу. GNOME-сессия теперь работает только на Wayland. Старый добрый X11 не бросили (он работает через XWayland), но стандартная сессия как X.org больше не запускается. Здесь есть риск что все настройки связанные с графикой и удалённым доступом могут сломаться.
- Также Canonical удалила PreLogin и PostSession скрипты. Это может задеть корпоративные сценарии, например синхронизацию домашней директории при входе/выходе или очистку временных данных.
- Расширилось использования Rust в системе. Это помогает бороться с целым классом ошибок памяти, что всё равно не делает утилиты полностью безопасными.
- APT 3.1. Наконец то история операций и команды для отката: apt history-info, apt history-undo, apt history-redo, apt history-rollback. Вещь полезная, особенно когда случайно удалил лишнее.
Так же появилось несколько изменений, которые важны для администратора.
- Dracut — новый механизм сборки initramfs по умолчанию. Он отвечает за ранний этап загрузки системы: подготовку драйверов, модулей, шифрования дисков и всего, что нужно до старта основной ОС.
- TPM-backed full-disk encryption — полнодисковое шифрование с привязкой ключей к TPM-чипу. Система может разблокироваться автоматически, если проверка целостности прошла успешно. Это удобно, но требует аккуратности при обновлениях BIOS или замене платы.
- CUDA и ROCm в репозиториях Ubuntu — упрощённая установка инструментов для вычислений на GPU, что полезно для ML.
Итог
Первое впечатление у меня положительное. Система установилась без сюрпризов, занимает умеренно места, по памяти выглядит адекватно, интерфейс работает плавно. В системе заявлено довольно много новых технологий, что обещает начало долгого марафона по настройке и тестированию. Будем смотреть, как Енот покажет себя в «боевых» условиях.
Есть категория сбоев, которые особенно неприятны не потому, что всё упало сразу, а потому что сначала кажется, будто ничего страшного не произошло.
Все любят строить отказоустойчивые системы, и наша команда не исключение. У нас был именно такой сервис, надёжный как "швейцарские часы": хорошо распределённый по инфраструктуре, по нескольким дата-центрам, с резервом в облаке. По всем признакам система выглядела вполне надёжной.
Но экскаватор внёс свои коррективы и просто перерубил оптику, отрезав один из ЦОДов от остального мира. Казалось бы, чего переживать: компоненты распределены, запас прочности есть, значит переживём.
Только реальность, как обычно, интереснее, чем схемы на бумаге.
В сервисе были указаны локальные DNS-серверы, и находились они как раз в том самом отрубленном ЦОДе. Формально сервис продолжал жить, но тихо начал деградировать.
Красивого мгновенного падения не произошло. По мере истечения DNS-кэша часть запросов начала подвисать, отдельные функции стали работать нестабильно, таймауты поползли вверх. Получилась классическая история про отказоустойчивость, которая не пережила отказ одной из зависимостей.
Именно такие аварии хорошо отрезвляют. Они учат смотреть чуть шире: не только на свой сервис, но и на те сервисы, без которых он на самом деле жить не может.
Postmortem составили, причины выяснили, выводы сделали. Дальше уже обычная инженерная работа — не просто обсудить проблему, а закрыть дыру в архитектуре. Так появилась задача добавить собственный кэширующий DNS, который позволил бы сервису продержаться без удалённых резолверов.
Я взял эту задачу на себя. Перебрал несколько вариантов и в итоге поднял в Kubernetes связку из двух pod’ов Unbound для отказоустойчивости и Redis для хранения кэша. Redis сохраняет данные в файл в хранилище Ceph, чтобы кэш не исчезал после перезапуска и система не начинала каждый раз с чистого листа.
Получился ещё один слой устойчивости.
Самое полезное в таких историях не конкретный стек, а понимание простой вещи: отказоустойчивость проверяется не только количеством узлов, но и надёжностью зависимостей.
Как говорил великий классик:
«Опыт, сын ошибок трудных».
Официально: репозиторий github.com/minio/minio отправлен в архив. Поддержка Community Edition прекращена, а пользователям настойчиво предлагают переходить на платный продукт AIStor.
Путь к этому финалу был постепенным и довольно предсказуемым:
- Сначала «вырезали» удобный UI из бесплатной версии.
- Затем перестали выкладывать готовые Docker-образы и бинарники.
- Позже документация стала привилегией Enterprise-клиентов.
- Проект перешел в режим «только фиксы», а теперь и вовсе заархивирован.
В ноябре прошлого года я как раз готовили проект с использованием minio: мне выделили мощности, подготовили десятки терабайт под данные, я настроил кластер с хранением в cold tier.
Миграция должна была начаться с дня на день, но поступила новость о переходе в режим Maintenance и мою работу притормозили.
После совещания рисковать инфраструктурой не стали и начали искать альтернативное S3-хранилище. Глядя на текущий статус репозитория — решение было на 100% верным.
У кого есть необходимость в S3, какое хранилище сейчас рассматриваете вы в качестве альтернативы?
Недавно дочитал книгу Дмитрия Кетова «Внутреннее устройство Linux» и хочу поделиться впечатлениями. Главный совет - прежде чем открывать эту книгу, Linux стоит немного «потрогать руками».
Если вы новичок, книга станет отличным проводником. Но если за плечами нет элементарного опыта работы в консоли, некоторые объяснения могут показаться абстрактными. Практика усиливает впечатление - вы связываете термины с тем, что уже видели, и всё начинает складываться в понятную картину.
Дмитрий Кетов отлично показывает, как взаимодействуют ядро, файловая система и сервисы. Да, информация подана поверхностно - это не детальный технический разбор. Но в этом и сила книги, она помогает собрать целостное понимание Linux.
Читая её, ощущаешь, как разрозненные кусочки складываются в единый пазл. Если хотите наконец увидеть лес за деревьями и перестать бояться командной строки, книга Дмитрия Кетова - отличный старт для первого серьёзного знакомства с архитектурой системы.
Рад видеть, как активно развивается экосистема Linux. Я с нетерпением жду возможности протестировать свежую версию, для меня это часть повседневной работы.
Меня особенно привлекают два момента:
⚙️ Производительность десктопа и накопителей
Обещают значительное повышение отзывчивости под нагрузкой и оптимизацию работы с дисками. Для меня это критически важно, потому что моя зона ответственности — подготовка операционных систем, приложений и декларативное описание состояний
не только для серверов, но и для тысяч десктопных машин. Любое улучшение планировщика или подсистемы ввода-вывода напрямую влияет на пользовательский опыт и стабильность всей инфраструктуры. Чем меньше тормозов - тем меньше обращений в поддержку 😉
🦀 Rust официально в ядре
Новость о том, что Rust вышел из экспериментальной стадии и стал полноправным языком разработки ядра, не может оставить равнодушным. Это шаг к более безопасному и современному системному программированию. Появление второго официального языка - серьёзный шаг для такого консервативного проекта.
Думаю следующий язык, который я буду осваивать будет Rust. Пора расширять инструментарий и заглядывать в будущее инфраструктурных решений.
Вы будете тестировать новую версию ядра сразу или будете ждать, пока оно не войдёт в стабильный релиз или LTS-ветку?
«Руководство по DevOps» - плотное чтение. Авторы это люди, которые формировали DevOps как подход: поток, обратная связь, непрерывное обучение. Всё это связано с примерами из крупных компаний и описано через набор методологий и практик. Их много, они разные, и при линейном чтении они легко смешиваются в голове.
Лучше всего книга работает как контекстная карта. Она помогает понять, какие практики вообще существуют, как они связаны и где применимы. Но читать её без заметок — плохая идея. Лично для меня она раскрылась только в связке с конспектом.
Если посмотреть на отзывы, картина ожидаемо противоречивая.
Одни называют книгу обязательной для DevOps. Другие — слишком «менеджерской», повторяющей известные идеи и не дающей глубины. По-моему, правы и те и другие. Здесь действительно разобраны базовые понятия DevOps.
Поэтому книга особенно полезна тем, кто ещё не выстроил для себя целостную картину. Она постоянно возвращает к вопросу: что в вашей компании должно измениться. И это ключевой сдвиг мышления.
Моя оценка: 8 из 10 ✅.
Полезно тем, кто переходит от теории к реальным изменениям и хочет понимать, что и зачем внедрять. Менее полезно тем, кто ищет глубокие технические инструкции или детальные кейсы по конкретным инструментам.
Какие источники (книги, курсы, блоги) по автоматизации инфраструктуры и практическому внедрению оказались для вас самыми полезными?
Я долго откладывал «Проект Феникс».
Художественный роман казался странным форматом, если нужен практический DevOps. Сейчас понимаю: именно поэтому книга и сработала.
«Феникс» не про CI/CD и не про автоматизацию. Он про IT как поток работы.
Если поток не управляется, инструменты только ускоряют хаос. Узкие места, перегрузка, ручные костыли — это не технические сбои, а следствие организационных решений.
Самое ценное здесь не сюжет. Ценно смещение фокуса.
Когда начинаешь мыслить ограничениями и потоком, инструменты перестают быть «обязательным набором» и начинают занимать своё место. А часть из них — становится просто лишней.
Мой вывод простой:
книга не научит вас настраивать пайплайны. Она заставит задавать правильные вопросы до выбора инструмента. Вы начинаете видеть не сервера и задачи, а поток создания ценности, где сбои — это данные для улучшений, а не повод для героизма.
Оценка: 9 из 10 фениксов.
А у вас что было первым — смена инструментов или пересмотр процессов и ответственности команд?
