Обновить
1024K+

Системное администрирование *

Лишь бы юзер был доволен

434,12
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Pipeline Triad Pattern: конвейер AI-агентов вместо команды разработки

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7.6K

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

Pipeline Triad Pattern - это модель enterprise-разработки, где каждый этап SDLC проходит через тройку ролей: Создатель, Критик, Арбитр. Не один “суперагент”, а цепочка специализированных троек с человеческим контролем в нескольких ключевых точках.

Рассказываю, как устроен такой конвейер, чем он отличается от CI/CD, сколько стоит и где у него реальные пределы.

Создатель + Критик + Арбитр

«Приходила уставшая, ставила таймер на два часа и училась»: как я стала DevOps-инженером

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели17K

Всем привет, я Настя, DevOps-инженер и выпускница курса «DevOps для эксплуатации и разработки». До того, как я стала DevOps-инженером, работала системным администратором, а ещё немного раньше — училась в IT-вузе. Многие знакомые интересовались, как я прошла этот путь, что именно изучала и с какими сложностями встретилась, так что эту историю я рассказываю не в первый раз. Но в первый раз на Хабре :)

Читать далее

Неочевидные нюансы миграции с Docker на Podman

Время на прочтение7 мин
Охват и читатели16K

Миграция на Podman — вопрос достаточно интересный. И ответ на него достаточно простой — берете и мигрируете, там делов-то!

Но на самом деле это только верхушка айcберга. Сначала кажется, что все просто. А потом оказывается, что нужно решить много спорных моментов и учесть кучу мелочей. Сегодня я расскажу, на что стоит обратить внимание и стоит ли игра свеч. Поехали, порассуждаем про миграцию из Docker в Podman.

Читать далее

Дай нам силу, лунная… хотя нет, в нашем случае — «Призма данных»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.7K

Всем привет! 

Если вы хоть раз пытались свести список установленного ПО из разных источников, вы знаете, как это выглядит. Один и тот же продукт может приезжать как MS Office 2019, Microsoft Office Pro, Office 19 x64 или вообще без версии (как вам, например, MS Comp Ivanov?).

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

Мы в Инферит ИТМен как раз занимаемся этими задачами — развиваем систему учета и контроля ИТ-инфраструктуры. Недавно усилили ее в этой части: добавили библиотеку ПО «Призма данных».

Читать далее

Как я собрал автономную AI-новостную систему за полтора месяца

Время на прочтение7 мин
Охват и читатели9K

Автор: Алексей Кравцов

Полтора месяца назад у меня было семь воркфлоу в n8n для новостного пайплайна. Каждый делал что-то своё. На бумаге красиво. На практике — постоянные затыки. Где-то новость застряла, непонятно где. Исправляешь одно — ломается другое.

Семь воркфлоу — семь точек отказа. И каждая ломается по-своему.

Сегодня та же задача решена иначе: 160 уникальных источников, 7127 записей в базе, 11 воркеров, 5 AI-агентов, локальная LLM на домашнем мини-ПК — и оркестратор, которому я просто пишу задачу в Telegram.

Без n8n. Без ручного управления. Почти без моего участия.

Вот как это вышло.

Читать далее

Как написать собственную версию Traceroute

Время на прочтение13 мин
Охват и читатели10K

Я никогда не понимал, как именно traceroute обнаруживает каждый сетевой переход. Оказывается, всё дело в хитром трюке с TTL и примерно в 80 строках на Rust.

Читать далее

Почему мы до сих пор используем пароли, хотя все их ненавидят

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели13K

Все ругают пароли, но продолжают их вводить. Даже там, где уже есть токены, OAuth и биометрия, привычная строка «Введите пароль» никуда не делась. Кажется, мы привыкли к боли, но у этой устойчивости есть вполне рациональные причины… 

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

Читать

«Старички» V100 в деле и модные ИИ-агенты для написания документации

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.2K

Документация к инфраструктуре устаревает быстрее, чем коммиты попадают в main ветку, но мы решили эту «боль», отдав её на откуп ИИ. В статье разбираем, как связка из нескольких LLM-агентов автоматически парсит Ansible-плейбуки, генерирует пользовательские инструкции, проверяет и переводит их. Всё это крутится на четырёх Tesla V100 с ручной балансировкой через Ollama и OpenWebUI — без свежего железа, но с десятками сэкономленных часов и гарантией актуальности текстов.

Читать далее

Кто мониторит монитор? Рекурсивная задача, у которой нет чистого решения

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.3K

У вас есть Grafana. Она показывает графики с Prometheus. Prometheus скрейпит метрики с ваших сервисов. Если сервис упал — вы видите красный на дашборде. Если Prometheus упал — вы не видите ничего. Дашборд замирает на последних известных значениях. Если не знать, что Prometheus лежит, можно час смотреть на «зелёный» дашборд, который на самом деле показывает данные часовой давности.

Это не гипотетика. Я видел это дважды.

Читать далее

MCP-серверы для всей команды: от локального запуска, до централизованного доступа

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.1K

Когда MCP-серверов стало шесть, а коллег — десять, фраза «просто запусти npx локально» перестала работать. Не у всех есть желания ставить Node.js, у менеджеров нет Docker, а локальный claude_desktop_config.json начинает напоминать хранилище секретов от всех систем.

Я прошёл путь от remote MCP → локальный запуск → Docker → Kubernetes с единым Helm-чартом и JWT-аутентификацией через Envoy. Расскажу, на что напоролся, что получилось, и что еще предстоит решить.

Читать далее

Как найти причину латенси в пайплайне обработки HTTP запроса за 5 минут: разбираем шаг за шагом

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели2.3K

Как найти причину латенси в пайплайне обработки HTTP запроса за 5 минут: разбираем шаг за шагом

Я достаточно ленивый и рациональный человек. В конце прошлого года у CloudFlare и его клиентов были непростые дни и утро Infra инженеров начиналось не с кофе. Плюс, те, кто много работает с CF знают про 503 и 520 ошибки и, если вы не на Enterprise тарифе, они также могу доставить неприятности. Хочу поделиться подходом и инструментом, которые помогли решить эти проблема и рационализировать/автоматизировать их решение в последствии.

Алерт в три часа ночи: время ответа выросло с 150 ms до 1.2 секунды. Или хуже — пользователи получают 502/503/504. Дежурный инженер открывает дашборд и видит красный график. Что-то тормозит. Но что именно?

Это CDN? Ingress? Приложение? База? Сеть между чем-то из вышеперечисленного? Каждый вариант ведёт к совершенно разному исправлению: перезапуск пода не поможет, если проблема в маршрутизации CDN, а звонок в поддержку хостера бесполезен, если у вас медленный SQL-запрос. Гадать дорого — особенно в три часа ночи.

В этой статье я покажу системный подход к поиску узкого места. Шаг за шагом, с минимумом телодвижений, используя данные, которые у вас скорее всего уже есть (или которые легко начать собирать). Акцент будет на CDN, Hosting Provider, Ingress.

Путь запроса

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

User → CDN → SLB (Nginx) → App(POD) → Connection Pooler → RDBMS

Шесть слоёв. Каждый может вносить свою задержку, свои ошибки — и каждый дает свои сигналы для диагностики.

Ключевое наблюдение: SLB (балансировщик, Nginx, HAProxy, ALB) сидит в центре и является вашей точкой отсчёта. Его логи подскажут, куда смотреть — налево (сеть, CDN) или направо (приложение, база).

Шаг 1. Точка опоры: логи балансировщика

Это лучший стартовый шаг — особенно если у вас еще нет развитого observability-стека и внешнего мониторинга. Достаточно Nginx access log.

Два ключевых значения:

Переменная Nginx Что измеряет $request_time Полное время обработки запроса — от первого байта клиента до последнего байта ответа $upstream_response_time Время ожидания ответа от upstream (вашего приложения)

Если вы ещё не логируете эти значения, добавьте их в log_format:

log_format timing '$remote_addr - $request_uri ' 'status=$status ' 'rt=$request_time ' 'uct=$upstream_connect_time ' 'urt=$upstream_response_time'; access_log /var/log/nginx/access.log timing;

Теперь у ва

Читать далее

Blameless post‑mortem: как разбирать инциденты так, чтобы они не повторялись

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.4K

Инциденты случаются у всех. Разница между командами — не в их отсутствии, а в том, повторяются ли одни и те же сбои снова и снова. Часто разбор заканчивается быстро и предсказуемо: нашли виноватого, сделали вывод «надо быть внимательнее» и пошли дальше — до следующего инцидента. В этой статье разберём, почему такой подход не работает, что на самом деле стоит за blameless post‑mortem и как выстроить разбор инцидентов так, чтобы он приводил не к формальным выводам, а к конкретным изменениям в системе.

Читать далее

На один плюс больше. Сервер Mobian на OnePlus 6. Оказалось слишком просто

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели10K

TL;DR: Расскажу про свой опыт перепрошивки телефона и превращения его в маленький домашний сервер. Спойлер: оказалось гораздо проще, чем я сам ожидал.

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

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

Можно было для этой цели взять какой-нибудь из старых ноутбуков, что пылятся у меня за спиной, или купить Raspberry Pi, но я решил, что это будет слишком скучно, потому что, честно говоря, затеял всё это для развлечения, а не для гонки за реальным результатом, этого мне и на работе хватает. Я было полез на всем известный сайт в поисках б/у дешёвого Mac на M1 или чём повкуснее. Искал как сами miniPC, так и ноутбуки со сломанными дисплеями. Но, покопавшись в объявлениях с полчаса, понял, что это не такое дешёвое удовольствие, как хотелось бы. Да и что там будет веселее, кроме повышенной мощности?

И вот в этот момент я подумал: ну я же вырос из мобильной разработки, а M1 – это сильно ушедший вперёд мобильный процессор (не бейте ногами, я сильно упрощаю, да).

Почему бы не поискать возможность накатить сервак на телефон?

Читать далее

Ближайшие события

SherlockOps, или как мы победили мониторинг

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели9K

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

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

Читать далее

Как музыка и IT пересеклись в моей жизни

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.1K

Привет, дорогой читатель! На связи Саша, системный администратор из отдела хелпдеска в ЮMoney, вот уже 20 лет как «тот самый шумный сосед» — барабанщик. Сегодня я приоткрою завесу нашей деятельности, возможно, вдохновлю кого-то на первый шаг в работе с «железом» — компьютерным или барабанным.

Как ни странно, но в обеих профессиях началось всё примерно идентично: меня привели, показали, и в моей голове прозвучала фраза: «Это то, чем я хочу заниматься».

Читать далее

Podman Compose: как устроен, что умеет, чем отличается от Docker Compose

Время на прочтение5 мин
Охват и читатели13K

Если у вас есть конфигурационный файл docker‑compose.yml, то в большинстве случаев его можно запустить через Podman без переписывания. Так вы, с одной стороны, сохраните привычный воркфлоу, а с другой — получите преимущества rootless‑контейнеров. В Docker же для запуска compose-файлов раньше использовалась внешняя утилита Docker Compose, но спустя время Docker внедрил возможность запускать такие файлы нативно через Docker Compose plugin.

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

В Podman аналогично есть Podman Compose — подкоманда, которая запускает внешний провайдер. В качестве такого провайдера может выступать Docker Compose / docker‑compose. Вот во всем этом сегодня и разберемся.

Читать далее

У меня нет звука, но я должен слышать: история одной регрессии ядра

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.6K

Что делать, если после очередного обновления Linux на старом ноутбуке намертво отвалился звук, а в логах висит зловещее CORB reset timeout и 0xFFFF? Переустановка аудио-серверов не поможет, параметры загрузчика GRUB система упорно игнорирует, а LTS-ядро больше не гарантирует стабильности. В этой статье разбираем, как спуститься в логи dmesg, понять, почему устройство «задыхается» на шине PCI, и заставить ядро заново проинициализировать аудиокарту «на горячую» с помощью sysfs и systemd.

Найти звук

Telegram умер. Мы нашли, чем его заменить

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели13K

Созвоны ломаются, VPN отваливается, сообщения теряются. Мы просто хотели рабочий чат — и в итоге сменили мессенджер. Рассказываю, что получилось.

Читать далее

«Увидеть» сигнал, «нарисовать» комнату, построить виртуальное пространство — исследования и эксперименты с Wi-Fi

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели12K

Сегодня мы рассмотрим несколько исследований, посвященных использованию Wi-Fi в задачах визуализации. Речь пойдет не только о том, как «увидеть» движение внутри помещений, используя информацию о состоянии канала (CSI), но и о попытках визуализировать комнату и даже сам процесс распространения радиосигналов.

Читать далее

Хранение классифицированных данных

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

Всем привет!

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

Читать далее