Почитали тут свежий отчёт по рынку ИИ-ускорителей в РФ: оказывается, 54% компаний тормозят внедрение ИИ исключительно из-за конских цен на инфраструктуру.
Ну, то есть написать пет-проект с вызовом API это задача на вечер, а вот запустить агента в продакшн так, чтобы он не сжёг бюджет отдела за неделю — суровая инженерия.
По сути, сейчас мало уметь собирать RAG. Нужно считать токены, настраивать
Также в программе:
— оценка качества, трейсинг и защита от деградации пайплайнов;
— мультиагентные паттерны и интеграция по протоколу
— локальный деплой Open Source под 152-ФЗ (когда данные нельзя выносить наружу).
Кажется, это единственный адекватный roadmap по переходу от блокнотов к enterprise-решениям.
Прямо сейчас можно урвать курс с увесистой скидкой(49 000 ₽ 62 990 ₽ за базовый тариф и 99 000 ₽ 124 990 ₽ за продвинутый трек) , но стоит поторопиться — на потоке осталось всего 5 мест.
👉 Зафиксировать цену и начать собирать агентов, за которых не стыдно в проде
Ну, то есть написать пет-проект с вызовом API это задача на вечер, а вот запустить агента в продакшн так, чтобы он не сжёг бюджет отдела за неделю — суровая инженерия.
По сути, сейчас мало уметь собирать RAG. Нужно считать токены, настраивать
time-travel дебаг в LangGraph и уметь роутить запросы на лету. Всё это мы учли в обновлённом курсе по разработке AI-агентов, где акцент сделан именно на AgentOps и жёсткий контроль ресурсов.Также в программе:
— оценка качества, трейсинг и защита от деградации пайплайнов;
— мультиагентные паттерны и интеграция по протоколу
MCP;— локальный деплой Open Source под 152-ФЗ (когда данные нельзя выносить наружу).
Кажется, это единственный адекватный roadmap по переходу от блокнотов к enterprise-решениям.
Прямо сейчас можно урвать курс с увесистой скидкой
👉 Зафиксировать цену и начать собирать агентов, за которых не стыдно в проде
Типичная картина во время инцидента — инженер получает широкий доступ:
cluster-admin, общий jump-бокс или долгоживущий SSH-ключ.У этого подхода два системных последствия: аудит теряет смысл, потому что непонятно, кто и что делал, а временные исключения тихо становятся постоянной нормой.
Три принципа
1. Минимальные права через RBAC
Вместо
cluster-admin выдавать роль с конкретным набором действий, которые нужны дежурному. Привязывается к группе, а не к конкретному пользователю:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: oncall-debug
namespace: payments
rules:
- apiGroups: [""]
resources: ["pods", "events"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get"]
- apiGroups: [""]
resources: ["pods/exec", "pods/portforward"]
verbs: ["create"]
- apiGroups: [""]
resources: ["pods/ephemeralcontainers"]
verbs: ["update"]
RBAC умеет ограничивать, может ли пользователь запустить
pods/exec, но не может ограничить, какие команды он выполнит внутри сессии. Это задача для отдельного слоя поверх RBAC.2. Краткосрочные учётные данные, привязанные к личности
Статичные kubeconfig с долгоживущими токенами — классический вектор компрометации. Цель: каждая сессия дебаггинга должна иметь учётные данные, которые истекают через 15-30 минут и однозначно идентифицируют конкретного человека.
Два способа реализации.
Вариант А — короткоживущие OIDC-токены. Большинство managed-кластеров это уже поддерживает. Достаточно настроить
kubeconfig так, чтобы токен обновлялся автоматически, а не копировался вручную в конфиг:users:
- name: oncall
user:
exec:
apiVersion: client.authentication.k8s.io/v1
command: cred-helper
args: ["--cluster=prod", "--ttl=30m"]
Вариант Б — короткоживущие X.509-сертификаты. Если API-сервер доверяет клиентскому CA, можно выдавать временные сертификаты через
CertificateSigningRequest API. Приватный ключ остаётся на машине инженера, в идеале в аппаратном токене.openssl genpkey -algorithm Ed25519 -out oncall.key
openssl req -new -key oncall.key -out oncall.csr \
-subj "/CN=user/O=oncall-payments"
После подписания CSR используем вместе с приватным ключом в
kubectl. Через 30 минут сертификат протухает автоматически.3. Just-in-time access gateway
Это точка входа, которую разворачивают в кластере по запросу — на время сессии. Работает по SSH-протоколу. Инженер запрашивает доступ, получает короткоживущий OpenSSH user certificate, подключается.
Gateway аутентифицирует пользователя, применяет политики и от его имени делает вызовы Kubernetes API. Сессия пишется в лог. После завершения гейт удаляется.
RBAC для такого сценария выглядит так:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: jit-debug
namespace: payments
rules:
- apiGroups: [""]
resources: ["pods", "pods/log"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: jit-debug
namespace: payments
subjects:
- kind: Group
name: jit:oncall:payments
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: jit-debug
apiGroup: rbac.authorization.k8s.io
Имя группы
jit:oncall:payments берётся из короткоживущего сертификата или OIDC-токена — так в логах всегда видно, кто именно и к чему имел доступ.Три принципа работают как слои: RBAC определяет, что разрешено; краткосрочные учётные данные убирают риск утечки; JIT gateway даёт полный аудит каждой сессии. Каждый из них можно внедрить отдельно, не переписывая всё сразу.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🏗 DevOps-вопрос с собеса
Вам нужно выкатить одно и то же приложение на dev → staging → prod.
Как вы это делаете?
Подумайте: как передать конфиг, если образ нельзя менять? Как откатиться, если что-то пошло не так? Как доказать, что в проде крутится именно то, что прошло тесты?
➡️ Ответ
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#задача_со_звёздочкой
Вам нужно выкатить одно и то же приложение на dev → staging → prod.
Как вы это делаете?
Подумайте: как передать конфиг, если образ нельзя менять? Как откатиться, если что-то пошло не так? Как доказать, что в проде крутится именно то, что прошло тесты?
📍 Навигация: Вакансии • Задачи • Собесы
#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
Почитали тут свежий отчёт по рынку ИИ-ускорителей в РФ: оказывается, 54% компаний тормозят внедрение ИИ исключительно из-за конских цен на инфраструктуру.
Ну, то есть написать пет-проект с вызовом API это задача на вечер, а вот запустить агента в продакшн так, чтобы он не сжёг бюджет отдела за неделю — суровая инженерия.
По сути, сейчас мало уметь собирать RAG. Нужно считать токены, настраивать
Также в программе:
— оценка качества, трейсинг и защита от деградации пайплайнов;
— мультиагентные паттерны и интеграция по протоколу
— локальный деплой Open Source под 152-ФЗ (когда данные нельзя выносить наружу).
Кажется, это единственный адекватный roadmap по переходу от блокнотов к enterprise-решениям.
Прямо сейчас можно урвать курс с увесистой скидкой(49 000 ₽ 62 990 ₽ за базовый тариф и 99 000 ₽ 124 990 ₽ за продвинутый трек) , но стоит поторопиться — на потоке осталось всего 5 мест.
👉 Зафиксировать цену и начать собирать агентов, за которых не стыдно в проде
Ну, то есть написать пет-проект с вызовом API это задача на вечер, а вот запустить агента в продакшн так, чтобы он не сжёг бюджет отдела за неделю — суровая инженерия.
По сути, сейчас мало уметь собирать RAG. Нужно считать токены, настраивать
time-travel дебаг в LangGraph и уметь роутить запросы на лету. Всё это мы учли в обновлённом курсе по разработке AI-агентов, где акцент сделан именно на AgentOps и жёсткий контроль ресурсов.Также в программе:
— оценка качества, трейсинг и защита от деградации пайплайнов;
— мультиагентные паттерны и интеграция по протоколу
MCP;— локальный деплой Open Source под 152-ФЗ (когда данные нельзя выносить наружу).
Кажется, это единственный адекватный roadmap по переходу от блокнотов к enterprise-решениям.
Прямо сейчас можно урвать курс с увесистой скидкой
👉 Зафиксировать цену и начать собирать агентов, за которых не стыдно в проде
🥱4
Red Hat объявила дату окончания поддержки для Ansible Automation Platform 2.4 — 30 июня 2026 года. Платформа вышла в июне 2023 года и стала первым релизом с Event-Driven Ansible в составе. Теперь пришло время переходить на актуальную версию.
Рекомендуемая версия для обновления Ansible Automation Platform 2.6. Важный момент: прямое обновление с 2.4 на версии 2.7 и выше будет недоступно. Поэтому переход на 2.6 сейчас это правильная подготовка инфраструктуры к будущим релизам.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2
Docker, Jenkins, OpenShift — QA-инженеры наконец начали говорить на одном языке с девопсами.
Автотесты в пайплайне, трассировка через микросервисы, логи в Kibana — это уже норма, а не экзотика.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Релизы недели
Неделя была полна релизов и не только, обновляем в памяти.
— Debian 13.4
— Вышел systemd 260
— GNOME 50 Tokyo
— Синдром пятничного оффлайна
— Ansible Automation Platform 2.4 уходит на покой
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#дайджест_недели
Неделя была полна релизов и не только, обновляем в памяти.
— Debian 13.4
— Вышел systemd 260
— GNOME 50 Tokyo
— Синдром пятничного оффлайна
— Ansible Automation Platform 2.4 уходит на покой
📍 Навигация: Вакансии • Задачи • Собесы
#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Сделали
chmod -R 755 на проекте и git показывает 300 изменённых файлов. Код не трогали. Сейчас разберёмся почему так.Git отслеживает не только содержимое, но и исполняемый бит файла. Рекурсивный chmod меняет права с 644 на 755 у всех файлов. Git видит смену режима 100644 → 100755 и считает их изменёнными.
Как починить:
git config core.fileMode false # для текущего репозитория
git config --global core.fileMode false # для всех реп на машине
Если права уже попали в staging:
git diff -p -R --no-color \
| grep -E "^(diff|(old|new) mode)" \
| git apply
С
fileMode false git будет молча игнорировать и намеренные изменения исполняемого бита. Если в проекте есть деплой-скрипты, то стоит предупредить команду перед глобальным включением.📍 Навигация: Вакансии • Задачи • Собесы
#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Микро Ghostty
Команда Ghostty выпустила демо-проект Ghostling. Это рабочий терминал, уместившийся в один .c файл. Делают это не просто так, а показывают, как использовать libghostty в сторонних приложениях.
libghostty — встраиваемая библиотека из ядра Ghostty с C и Zig API. Ghostling демонстрирует, что поверх неё можно собрать свой терминал с любым рендерером — хоть на OpenGL, хоть на чём угодно ещё.
Что под капотом
• Рендеринг через Raylib: 2D, без прямого GPU
• Однопоточный, без зависимостей, даже без libc
• VT-парсинг, управление состоянием, Unicode
• SIMD-оптимизированный парсинг, 24-bit цвет, Kitty keyboard protocol, трекинг мыши
➡️ Репозиторий
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Команда Ghostty выпустила демо-проект Ghostling. Это рабочий терминал, уместившийся в один .c файл. Делают это не просто так, а показывают, как использовать libghostty в сторонних приложениях.
libghostty — встраиваемая библиотека из ядра Ghostty с C и Zig API. Ghostling демонстрирует, что поверх неё можно собрать свой терминал с любым рендерером — хоть на OpenGL, хоть на чём угодно ещё.
Что под капотом
• Рендеринг через Raylib: 2D, без прямого GPU
• Однопоточный, без зависимостей, даже без libc
• VT-парсинг, управление состоянием, Unicode
• SIMD-оптимизированный парсинг, 24-bit цвет, Kitty keyboard protocol, трекинг мыши
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔄 Wayland 1.25 вышел
Быстрый обзор свежего обновления Wayland.
Что нового
Документация переведена из DocBook в mdBook. Диалект Wayland XML, модель обновления контента и управление цветом теперь полностью задокументированы.
Новый атрибут
Новый запрос
Функция
Wayland 1.25 продолжает закрывать белые пятна в документации и добавляет низкоуровневые API, которых не хватало.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Быстрый обзор свежего обновления Wayland.
Что нового
Документация переведена из DocBook в mdBook. Диалект Wayland XML, модель обновления контента и управление цветом теперь полностью задокументированы.
Новый атрибут
frozen для интерфейсов с несколькими родительскими интерфейсами.Новый запрос
wl_surface.get_release для per-commit коллбэков освобождения буфераФункция
wl_display_dispatch_pending_single() для диспетчеризации одного событияWayland 1.25 продолжает закрывать белые пятна в документации и добавляет низкоуровневые API, которых не хватало.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Пока все спорят, Podman лучше Docker или нет, в вашей системе уже лежит systemd-nspawn. Просто никто не сказал.
Это системный контейнер прямо из коробки часть systemd. Никакого демона, никакого рантайма, никакой регистрации на Docker Hub.
nspawn — это лёгкий контейнер на уровне ОС. Не Docker с OCI-образами, слоями, сетью, не VM с гипервизором и своим ядром. Что-то среднее: изолированный процесс со своим корнем файловой системы, PID-пространством и сетью. Ядро при этом общее с хостом.
Когда использовать вместо альтернатив
Docker/Podman когда нужны образы, реестры, оркестрация, микросервисы.
nspawn когда нужно:
• быстро поднять изолированное окружение для теста или сборки
• запустить другой дистрибутив на том же хосте без VM
• отлаживать chroot, но с нормальной изоляцией
• не тащить Docker на минималистичный сервер
Примеры команд
Создаём минимальный Debian-контейнер:
debootstrap stable /var/lib/machines/mydebian
Запускаем:
systemd-nspawn -D /var/lib/machines/mydebian
Запускаем как полноценный systemd-контейнер:
systemd-nspawn -D /var/lib/machines/mydebian --boot --network-veth
Нет хайпа, нет логотипа с китом, нет конференций. Просто инструмент, который работает, весит ноль байт сверх того что уже есть, и не требует отдельного сервиса в продакшне.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔄 Обновление SysVinit
SysVinit 3.16 это первый релиз за полгода. Больших изменений нет: авторы подчистили код и привели документацию в порядок.
Что изменилось:
Поправили опечатки и синтаксис в двух мануальных страницах — inittab и init. Туда же добавили описание того, как init читает директорию /etc/inittab.d/ — раньше это нигде не было задокументировано.
Contributor avivdaum улучшил конвертацию юнит-файлов systemd в SysV-скрипты. Пригодится тем, кто работает в смешанных окружениях или переходит с systemd.
Из кода убрали лишние отладочные и статусные сообщения при чтении /etc/inittab.d/, а в компоненте sulogin удалили неиспользуемые переменные.
SysVinit продолжает жить в дистрибутивах без systemd — Devuan, antiX и других легковесных системах.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
SysVinit 3.16 это первый релиз за полгода. Больших изменений нет: авторы подчистили код и привели документацию в порядок.
Что изменилось:
Поправили опечатки и синтаксис в двух мануальных страницах — inittab и init. Туда же добавили описание того, как init читает директорию /etc/inittab.d/ — раньше это нигде не было задокументировано.
Contributor avivdaum улучшил конвертацию юнит-файлов systemd в SysV-скрипты. Пригодится тем, кто работает в смешанных окружениях или переходит с systemd.
Из кода убрали лишние отладочные и статусные сообщения при чтении /etc/inittab.d/, а в компоненте sulogin удалили неиспользуемые переменные.
SysVinit продолжает жить в дистрибутивах без systemd — Devuan, antiX и других легковесных системах.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
ingress2gateway 1.0 это инструмент, который переводит Ingress-конфиги в Gateway API и сразу показывает, что не смог перевести автоматически.
Основная идея: вы даёте ему Ingress-манифесты или указываете кластер, он отдаёт Gateway API YAML. У Ingress-NGINX, Kong, Istio, GCE и других контроллеров свои аннотации и CRD, и ingress2gateway умеет их читать и переводить в соответствующие конструкции Gateway API.
Установка:
go install github.com/kubernetes-sigs/ingress2gateway@v1.0.0
# или
brew install ingress2gateway
Запуск:
# из файлов
ingress2gateway print --input-file my-manifest.yaml --providers=ingress-nginx > gwapi.yaml
# из неймспейса кластера
ingress2gateway print --namespace my-api --providers=ingress-nginx > gwapi.yaml
# из всего кластера
ingress2gateway print --providers=ingress-nginx --all-namespaces > gwapi.yaml
regex-матчи в Ingress-NGINX по умолчанию case-insensitive, поэтому инструмент добавит (?i) в начало паттерна. Скорее всего, вы захотите убрать это вручную.
ingress2gateway v1.0 совместим с Gateway API v1.4. Инструмент следит за версиями Gateway API и обновляется вместе с ними.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
23 марта 2026 года команда VitruvianOS опубликовала первый публичный релиз своей операционной системы. Проект существует с 2019 года, но до этого момента разработчики намеренно не привлекали к нему широкое внимание.
VitruvianOS построена поверх Linux-ядра, но с реализацией совместимости с API BeOS и Haiku. Это значит, что приложения, написанные для Haiku, могут запускаться как нативные Linux-процессы.
Разработчики построили собственный слой Nexus, который выполняет ту же роль, что Binder в Android: управляет межпроцессным взаимодействием и событийной моделью. Вместо X11 или Wayland используется собственная графическая подсистема. Ядро собрано с real-time патчами для снижения задержек на десктопе.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
🔄 Обновление Ansible
Вышел очередной минорный релиз Ansible Core v2.20.4.
Что нового в ansible-test
Теперь можно указывать тестовые окружения более гибко через контейнерные и удалённые алиасы, не привязываясь к конкретной конфигурации.
Плюс добавили поддержку Ansible Core CI прямо из GitHub Actions — если вы гоняете тесты в CI на GitHub, это упрощает настройку.
Исправления
Починили выполнение команд PowerShell через плагины подключений, которые не поддерживают stdin и pipeline. Раньше в таких сценариях команды могли не выполняться корректно.
В ansible-connection убрали ошибки десериализации: объекты AnsibleTaggedObjects в ответах JSON-RPC теперь корректно конвертируются в обычные типы до передачи в модульный контекст.
Модуль rpm_key переехал с утилиты gpg на библиотечный API librpm. Это даёт совместимость с PGP-ключами версии 6, которые gpg в ряде систем не поддерживает.
Поиск конфигурации через config lookup теперь правильно использует предустановленные константы при темплейтинге.
И небольшой фикс для тех, кто использует чистую Python-реализацию PyYAML: убрали трейсбек при парсинге YAML из строк.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Вышел очередной минорный релиз Ansible Core v2.20.4.
Что нового в ansible-test
Теперь можно указывать тестовые окружения более гибко через контейнерные и удалённые алиасы, не привязываясь к конкретной конфигурации.
Плюс добавили поддержку Ansible Core CI прямо из GitHub Actions — если вы гоняете тесты в CI на GitHub, это упрощает настройку.
Исправления
Починили выполнение команд PowerShell через плагины подключений, которые не поддерживают stdin и pipeline. Раньше в таких сценариях команды могли не выполняться корректно.
В ansible-connection убрали ошибки десериализации: объекты AnsibleTaggedObjects в ответах JSON-RPC теперь корректно конвертируются в обычные типы до передачи в модульный контекст.
Модуль rpm_key переехал с утилиты gpg на библиотечный API librpm. Это даёт совместимость с PGP-ключами версии 6, которые gpg в ряде систем не поддерживает.
Поиск конфигурации через config lookup теперь правильно использует предустановленные константы при темплейтинге.
И небольшой фикс для тех, кто использует чистую Python-реализацию PyYAML: убрали трейсбек при парсинге YAML из строк.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
DevOps-инженер — удалёнка
SRE-инженер — удалёнка
DevOps (Авторизация SaaS) — до 350 000 ₽ и удалёнка
#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Январские праздники, 7:02 утра. Консьюмер не запустился вовремя из-за регламентных работ. За три минуты простоя Kafka тихо удалила все сообщения. retention.bytes был настроен на 10 МБ, и брокер не пощадил ни одну проводку.
Архитектор Альфа-Банка разобрал 5 реальных случаев из прода: как неправильный сайзинг топика, кривые параметры retention и слепое доверие к дефолтным настройкам приводят к потере данных в самый неподходящий момент.
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 Что на самом деле происходит, когда вы запускаете apt upgrade
Вы набираете две команды, жмёте Enter и уходите пить кофе. Но за эти секунды система делает куда больше, чем кажется.
1. Сначала идёт
Это не обновление пакетов — это обновление *списков* пакетов. APT обходит все репозитории из
2. Разрешение зависимостей
APT строит граф зависимостей: какие пакеты нужно обновить, какие версии совместимы, что тянет что за собой. Это NP-сложная задача в общем случае — и APT решает её эвристиками. Иногда неидеально.
3. Скачивание
Пакеты загружаются в
4. Проверка подписей
Каждый пакет проверяется по GPG-подписи. Это защита от подмены: если подпись не совпадает, то установка не пройдёт.
5. Распаковка и скрипты
6.
Что может пойти не так
- Конфликт версий библиотек
- Новый конфиг поверх старого (dpkg спросит — не игнорируйте)
- Обновление ядра без перезагрузки (старое ядро всё ещё работает до ребута)
-
Полезные команды:
Две строчки в терминале и десятки процессов под капотом. Теперь вы знаете, что именно происходит за этим скромным
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Вы набираете две команды, жмёте Enter и уходите пить кофе. Но за эти секунды система делает куда больше, чем кажется.
1. Сначала идёт
apt updateЭто не обновление пакетов — это обновление *списков* пакетов. APT обходит все репозитории из
/etc/apt/sources.list и скачивает свежие индексы. Без этого шага upgrade работает по устаревшей карте.2. Разрешение зависимостей
APT строит граф зависимостей: какие пакеты нужно обновить, какие версии совместимы, что тянет что за собой. Это NP-сложная задача в общем случае — и APT решает её эвристиками. Иногда неидеально.
3. Скачивание
.deb-файловПакеты загружаются в
/var/cache/apt/archives/. Если соединение оборвётся, то ничего страшного, при следующем запуске докачает.4. Проверка подписей
Каждый пакет проверяется по GPG-подписи. Это защита от подмены: если подпись не совпадает, то установка не пройдёт.
5. Распаковка и скрипты
.deb это ar-архив, внутри которого лежат control.tar и data.tar. APT распаковывает файлы, а потом запускает скрипты: preinst → установка → postinst. Именно здесь может что-то пойти не так.6.
apt upgrade vs apt full-upgradeupgrade никогда не удаляет пакеты и не устанавливает новые зависимости, если это ломает что-то существующее. full-upgrade (он же dist-upgrade) — может. Он агрессивнее и умнее одновременно.Что может пойти не так
- Конфликт версий библиотек
- Новый конфиг поверх старого (dpkg спросит — не игнорируйте)
- Обновление ядра без перезагрузки (старое ядро всё ещё работает до ребута)
-
held packages — пакеты на удержании, которые не обновятся без явного разрешенияПолезные команды:
apt list --upgradable # что будет обновлено
apt-get -s upgrade # симуляция без изменений
/var/log/apt/history.log # история всех операций
Две строчки в терминале и десятки процессов под капотом. Теперь вы знаете, что именно происходит за этим скромным
[Y/n].📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
💻 Load Balancer: в чём разница между L4 и L7
Когда миллионы запросов летят на ваш сервис балансировщик нагрузки решает куда их направить . Но не все балансировщики одинаковы. Главный выбор: L4 или L7.
L4 работает на транспортном уровне: TCP/UDP.
L7 работает на уровне приложений: HTTP/HTTPS.
Это фундаментальное различие определяет всё остальное.
L4 — быстро, слепо, надёжно
L4-балансировщик видит только IP-адреса и порты, но не понимает, что находится внутри пакетов. Он пересылает TCP/UDP-соединения напрямую на бэкенд-серверы, не заглядывая в содержимое.
Что из этого следует:
— Минимальная задержка — решения принимаются менее чем за 100 микросекунд
— Работает с любым протоколом: MySQL, Redis, кастомные TCP-протоколы
— Не умеет роутить по URL, заголовкам или кукам
— Не делает SSL-терминацию
Хорошая аналогия: L4-балансировщик — как инспектор ДПС, который направляет машины по номерным знакам, не зная, что внутри.
L7 — умно, гибко, дороже
L7-балансировщик работает на уровне приложений: завершает входящее соединение, при необходимости расшифровывает трафик, инспектирует сообщения, принимает решение о роутинге на основе содержимого, открывает новое TCP-соединение к нужному бэкенду и отправляет туда запрос.
Что он умеет:
— Роутинг по URL:
— Манипуляция заголовками, SSL-терминация
— Sticky sessions (привязка сессии к конкретному серверу)
— Rate limiting, аутентификация, логирование
— Защита от XSS и SQL-инъекций — некоторые L7-балансировщики работают как WAF
Цена: типичная задержка L7 около 10 миллисекунд против микросекунд у L4. Плюс CPU на парсинг каждого запроса.
Когда что использовать
Выбирайте L4, если:
— Протокол не HTTP (DNS, базы данных, кастомный TCP)
— Нужна максимальная скорость и минимальный оверхед
— Простое распределение без контентного роутинга
Выбирайте L7, если:
— Работаете с HTTP/HTTPS/gRPC
— Нужен роутинг по путям, заголовкам, кукам
— Хотите SSL-терминацию в одном месте
— Важна наблюдаемость и безопасность
Как это выглядит в продакшне
Netflix комбинирует L4-балансировщики на региональном уровне с L7-шлюзами (Zuul/Envoy) для разделения логики. AWS предлагает Classic ELB (L4) и ALB (L7), большинство современных архитектур выбирают ALB.
Практическое правило: начинайте с L7 для HTTP-нагрузок. Переходите к L4 только когда упираетесь в производительность или нужен протоколо-агностичный роутинг.
Балансировщик это первый рубеж вашей архитектуры. Каждое его решение влияет на пользователя ещё до того, как запрос добрался до вашего кода.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
Когда миллионы запросов летят на ваш сервис балансировщик нагрузки решает куда их направить . Но не все балансировщики одинаковы. Главный выбор: L4 или L7.
L4 работает на транспортном уровне: TCP/UDP.
L7 работает на уровне приложений: HTTP/HTTPS.
Это фундаментальное различие определяет всё остальное.
L4 — быстро, слепо, надёжно
L4-балансировщик видит только IP-адреса и порты, но не понимает, что находится внутри пакетов. Он пересылает TCP/UDP-соединения напрямую на бэкенд-серверы, не заглядывая в содержимое.
Что из этого следует:
— Минимальная задержка — решения принимаются менее чем за 100 микросекунд
— Работает с любым протоколом: MySQL, Redis, кастомные TCP-протоколы
— Не умеет роутить по URL, заголовкам или кукам
— Не делает SSL-терминацию
Хорошая аналогия: L4-балансировщик — как инспектор ДПС, который направляет машины по номерным знакам, не зная, что внутри.
L7 — умно, гибко, дороже
L7-балансировщик работает на уровне приложений: завершает входящее соединение, при необходимости расшифровывает трафик, инспектирует сообщения, принимает решение о роутинге на основе содержимого, открывает новое TCP-соединение к нужному бэкенду и отправляет туда запрос.
Что он умеет:
— Роутинг по URL:
/api — одни серверы, /static — другие— Манипуляция заголовками, SSL-терминация
— Sticky sessions (привязка сессии к конкретному серверу)
— Rate limiting, аутентификация, логирование
— Защита от XSS и SQL-инъекций — некоторые L7-балансировщики работают как WAF
Цена: типичная задержка L7 около 10 миллисекунд против микросекунд у L4. Плюс CPU на парсинг каждого запроса.
Когда что использовать
Выбирайте L4, если:
— Протокол не HTTP (DNS, базы данных, кастомный TCP)
— Нужна максимальная скорость и минимальный оверхед
— Простое распределение без контентного роутинга
Выбирайте L7, если:
— Работаете с HTTP/HTTPS/gRPC
— Нужен роутинг по путям, заголовкам, кукам
— Хотите SSL-терминацию в одном месте
— Важна наблюдаемость и безопасность
Как это выглядит в продакшне
Netflix комбинирует L4-балансировщики на региональном уровне с L7-шлюзами (Zuul/Envoy) для разделения логики. AWS предлагает Classic ELB (L4) и ALB (L7), большинство современных архитектур выбирают ALB.
Практическое правило: начинайте с L7 для HTTP-нагрузок. Переходите к L4 только когда упираетесь в производительность или нужен протоколо-агностичный роутинг.
Балансировщик это первый рубеж вашей архитектуры. Каждое его решение влияет на пользователя ещё до того, как запрос добрался до вашего кода.
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2
😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать
— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета 👈
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать
MCP и A2A-взаимодействие, чтобы агенты могли вас читать;— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета 👈