Обновить
256K+

DevOps *

Методология разработки программного обеспечения

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

kafkactl — другой взгляд на работу с Kafka

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

При работе с Apache Kafka рано или поздно возникает необходимость быстро проверить топик, прочитать сообщения или посмотреть состояние группы потребителей (consumer group). Можно применять стандартные инструменты Kafka. Однако на практике они часто оказываются не самыми удобными для повседневной работы. Многие команды получаются длинными, каждый раз требуют передачи параметров подключения и нуждаются в различных CLI-утилитах.

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

Привет, Хабр! Меня зовут Сергей Кардапольцев, я технический писатель в Selectel. В этой статье мы познакомимся с kafkactl — CLI-инструментом для работы с Kafka. Посмотрим, чем он отличается от стандартных Kafka-утилит и kcat, а также разберем базовые сценарии работы на примере кластера.

Читать далее →

Как Reddit без потерь перенес петабайтную Kafka с EC2 на Kubernetes

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

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

В статье — о том, как Reddit перешёл на Kubernetes: почему они отказались от Amazon EC2, какие ограничения им пришлось учитывать и чем их опыт может быть полезен в других проектах.

Читать далее

Погружение в Kafka c KRaft

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

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

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

Читать далее

Как несистемные проверки ломают продакшен и почему разовая очистка инфраструктуры не работает

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

Александр Либкинд, руководитель направления развития сервисов управления затратами и эксперт Практики FinOps, поделился материалом о том, почему ручная инвентаризация инфраструктуры редко приводит к устойчивой экономии и как перейти от разовых проверок к управляемой модели.

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

Если у ресурса нет владельца, команды, среды и приложения, компания не управляет затратами. Она просто периодически пытается разобраться, что можно отключить без последствий.

Читать далее

Я отдал разработку автономному ИИ — промежуточные итоги за 178 релизов

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

Две недели назад я отдал разработку живого продукта автономному ИИ-пайплайну: люди пишут в бота «что поменять», а код пишется, тестируется, ревьюится и выкатывается в прод без единого человеческого взгляда на дифф.

Итог двух недель: 178 релизов, 1.4 млрд токенов, 0 строк кода, прочитанных человеком перед мержем. И неожиданный вывод — я не перестал быть программистом, а стал кем-то вроде бухгалтера, который отложил счёты и осваивает Excel.

Я поставил череду экспериментов: по очереди убирал куски «обвязки» вокруг модели и смотрел, что сломается. Один эксперимент чуть не похоронил репозиторий за одну задачу: +25 зависимостей и +6000 строк на ровном месте. Рассказываю, что выяснилось.

Читать далее

Работа с ГОСТ TLS в реальных проектах: костыли, решения и опыт

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

Привет, Хабр! Меня зовут Максим Теплых, эксперт по тестированию на проникновение в ИТ-компании Innostage. В этой статье я хочу рассмотреть тему, которая с годами становится все более актуальной — тестирование систем, использующих ГОСТ TLS. Кратко расскажу о самой технологии, а также покажу подходы и наработки, которые применяем на практике. 

Заранее приношу извинения за объемное и несколько затянутое введение. Хотя изложение начинается не с динозавров и не с истории древней Руси, тему все же необходимо раскрыть с некоторой предыстории.

Читать далее

Как мы поднимали файловое облако для команды: Seafile, HTTPS, мобильные клиенты и белый экран на Android

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

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

Читать далее

Как мы делали VPN под Китай

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

Мы с другом учимся в Китае. В апреле, в очередной раз меняя умерший VPN, решили собрать свой, заточенный под Great Firewall, на протоколе Reality: VPN‑трафик в нём выглядит для системы фильтрации как обычная HTTPS‑сессия с каким‑нибудь сторонним сайтом. Я взял на себя бэкенд, бота и Mini App. Друг отвечал за серверную часть и ноды.

Ниже — про два месяца разработки, три версии интерфейса и отказ от целой механики из‑за банков.

Читать далее

ASOC from scrap. Как реализовать автоматизацию DevSecOps контролей за несколько вечеров, используя OpenSource и LLM

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

Привет, Хабр! Сегодня я хочу поделиться своим опытом разработки ASOC платформы.

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

Читать далее

После первого релиза DataSafeS3: что мы нашли и починили (v1.0.1, v1.0.2)

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

Первый публичный релиз DataSafeS3 (v1.0.0) вышел 24 июня 2026. За несколько дней после него — v1.0.1 и v1.0.2. Оба патча про исправления: для тех, кто уже крутит своё S3-хранилище не только на ноутбуке, но и в тестовом или боевом контуре.

DataSafeS3 — молодой open-source проект небольшой команды: своё хранилище файлов с S3 API, веб-консолью, пользователями, ролями и журналом действий — всё на вашем железе. Мы не MinIO и не конкуренты им — стремимся к доступному open source, который может поднять любой, кто умеет Docker и Linux. Зато честно пишем, что сломалось, что закрыли и что пока не успели.

Ниже — не CHANGELOG. Для каждого изменения: что болело, как это выглядело у вас, что мы поменяли.

А что вообще было в v1.0.0???

Цикл Junior DevOps

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

Это первая статья серии «С нуля до Junior DevOps». В ней разберём, что такое DevOps, чем занимается инженер на практике, какие мифы чаще всего мешают новичкам.

Читать далее

Многоэтапные сборки в Docker: как уменьшить образ с 1,2 ГБ до 50 МБ

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

Знакомая картина: вы написали микросервис, набросали Dockerfile из четырёх команд — и получили образ на 1,2 ГБ. В единичном случае не страшно, но этот гигабайт гоняется по сети десятки раз в день: при каждом коммите в CI, на preview-окружениях, при деплое в кластеры. В итоге — минуты ожидания пайплайнов, счета за трафик и хранение, плюс лишние системные пакеты с десятками CVE. Показываем на Node.js и Go, как ужать образ с 1,2 ГБ до 50 МБ через multi-stage — без единой строчки правок в коде.

Раскатать без боли →

Я устал писать одноразовые скрипты для бенчмарков LLM и собрал харнесс, который сам считает Pareto-front

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

Неважно, где ты гоняешь инференс: в проде на vLLM под нагрузкой или в локалке на llama.cpp, пытаясь втиснуть Llama-3 в 4 ГБ видеопамяти — вопрос всегда один. Какая конфигурация влезет в бюджет по VRAM и при этом не уронит p95?

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

Читать далее

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

Облачная LLM на 16 ГБ VRAM — часть 3: ChatGPT-интерфейс для ваших LangGraph-агентов

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

Финал цикла про облачную LLM на 16 ГБ VRAM.

За две предыдущие статьи мы подняли собственную локальную модель на облачном сервере с GPU на 16 ГБ VRAM, разобрались с vLLM и tool calling, собрали агентный бэкенд на LangGraph с MCP-серверами, получили вокруг него полноценный REST API из коробки и обернули все это в FastAPI-сервис через LangGraph SDK.

В этой части закрываем полный стек: к готовому агентному бэкенду на LangGraph подключаем официальный ChatGPT-подобный фронтенд от LangChain — agent-chat-ui. Переводим на русский, добавляем переключатель между тремя агентами разной архитектуры и удаление чатов. Закрываем API Bearer-авторизацией с разбором нюансов, которых нет в документации. Деплоим всё на VPS с доменом и SSL — LangGraph внутри контура, наружу смотрит только фронт.

Читать далее

Flipper-демиург: ставим софт на macOS через JS для пентестеров

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

Когда речь заходит о Flipper Zero, большинство вспоминает RFID, NFC, Sub-GHz и бесконечные ролики про открытие шлагбаумов. Но одна из самых интересных возможностей устройства — встроенный JavaScript-движок и модуль BadUSB, который позволяет превратить Flipper в программируемую USB-клавиатуру.

В этой статье разберём небольшой, но показательный скрипт, который автоматически устанавливает набор инструментов для пентеста на macOS через Homebrew. Заодно посмотрим, почему JavaScript на Flipper оказывается значительно интереснее классического DuckyScript.

Читать далее

ML для больших компаний: от DevBox до платформы на тысячу пользователей

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

Привет, Хабр! Меня зовут Антон Алексеев, я MLOps-инженер в Авито

В статье рассказываю, как мы строим ML-платформу на базе Kubeflow. От первых DevBox-решений мы пришли к набору небольших юнит-платформ, которые разные команды развивали под свои бизнес-задачи и связывали между собой. Со временем возникла задача объединить эти решения в единую платформу. Поделюсь, как мы это делали, с какими проблемами столкнулись и как их решили. И немного о том, как должны выглядеть агентские платформы, когда за управление инфраструктурой отвечают агенты. 

Статья будет полезна не только тем, кто разрабатывает и использует платформы в больших компаниях, но и тем, кто работает на DevBox-машинах или небольших платформах для юнит-команд от 10 до 100 человек.

Читать далее

Инвентаризируем контейнеры с помощью Wazuh-агента

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

На связи Андрей, руководитель направления безопасности облака в Selectel. Под катом расскажу, как настроить автоматический сбор данных о работающих Docker-контейнерах — образах, привилегиях и capabilities — и передать их в Wazuh для мониторинга и алертинга.

Под кат →

Тёмная сторона Prometheus: разбираем сравнение векторов на пяти примерах

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

Если вы работаете техническим инженером в отделе эксплуатации, то с вероятностью 99,9% вы знакомы с Prometheus и прекрасно разбираетесь в языке запросов promQL. Но даже в «родной и знакомой» сфере есть области, которые остаются вопросительными пятнами. Например, «Сравнение векторов»/«Сопоставление векторов». Это механизмы promQL, которые применяются не так часто, плохо документированы и неочевидны для понимания. Привет, Хабр! На связи Александр, руководитель кластера надёжности в компании ecom.tech, кластер надёжности занимается SRE, проводит тестирование нагрузкой и обеспечивает стек Observability. Этой статьей я постараюсь сделать вашу жизнь чуточку проще, на примерах объяснив нюансы непростой механики сопоставления.

Читать далее

Неочевидная мина в использовании docker compose

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

2 июня мой мониторинг аптайма разом отрапортовал, что упало почти всё: 932 инцидента за 25 минут. Сайты были живы — все до единого. Виноваты дефолтный лимит файловых дескрипторов 1024 и «оптимизация», тихо размножившаяся в 60 раз. Разбираю по приборам: /proc, ss, EMFILE и почему docker compose restart не спасает.

Читать далее

Несколько LLM-агентов в одном Chrome: изоляция вкладок без потери логинов

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

Когда у вас один AI-агент в браузере, всё просто. Когда их пять и они параллельно ходят по разным сайтам через Playwright MCP, начинается война за вкладку. Штатный @playwright/mcp работает в общем BrowserContext, и агенты перехватывают страницы друг у друга. Отдельный контекст через newContext() решает изоляцию, но убивает логины.

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

Читать далее