Обновить
256K+

DevOps *

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

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

Вместо 8 разных VPS: как я организовал практику студентам на одном сервере

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

Как дать студентам курса живой опыт деплоя, не заставляя их покупать собственные VPS и не плодя локальные виртуалки? Я решил эту задачу, «нарезав» один сервер на полностью изолированные рабочие пространства с помощью системы контейнеризации Incus. В этой статье — история одного занятия с пошаговым гайдом и разбором всех собранных граблей: почему Docker конфликтует с ZFS, куда пропадает интернет из-за IPv6 и как пробросить порты так, чтобы у каждого студента был свой кусочек сервера.

Читать далее

Данные переехали. Команда — нет

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

Представьте: команда из 80 человек несколько лет живёт в Jira. Доски, спринты, кастомные поля, автоматизации на Groovy, сотни вложений, тысячи ссылок, разлетевшихся по корпоративным вики и письмам. 

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

Читать далее

Где хранить код? Сравнение GitHub, GitLab и Bitbucket

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

GitHub, GitLab или Bitbucket — куда податься начинающему разработчику в 2026? Казалось бы, какая разница — Git везде одинаковый. Но когда дело доходит до первого пет-проекта, портфолио или стартапа на троих, выбор платформы решает всё: от скорости сборки до шансов быть замеченным рекрутером.

В этой статье — сравнение лимитов, цен и скрытых фич. Разберём реальные сценарии, таблицу с актуальными данными на апрель 2026.

Читать далее

Почему ваш FinOps не работает: 12 тезисов от практиков

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

Есть такая штука: чем больше компания тратит на инфраструктуру, тем меньше она понимает, куда уходят деньги. Казалось бы, парадокс. Но если посмотреть на то, как устроено управление ИТ-бюджетом в большинстве организаций, всё встаёт на свои места. Потому что считать научились, а управлять — пока нет. И проблема тут не в инструментах. Их-то как раз навалом. Проблема в том, что финансы, инженеры и бизнес до сих пор живут в параллельных реальностях и разговаривают на разных языках. А FinOps — это, по сути, попытка эти реальности склеить. Насколько успешная — вопрос открытый.

Вместе с Виталием Глушаковым мы решили разобрать, как это работает (или не работает, пусть будет сюрприз) на практике. Виталий имеет большой опыт управления и FinOps-трансформации отделов разработки и уже опубликовал свою часть на LinkedIn — «FinOps: 5 шагов к зрелости». Обязательно почитайте, там много интересного. А мы, со своей стороны, дополняем каждый тезис практическим контекстом, потому что между тем, как должно быть и как оно бывает на самом деле, иногда помещается целая пропасть.

Присоединяйтесь к нашему сообществу «Практики FinOps» в Telegram.

Читать далее

Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot

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

Привет, друзья!  В начале года на Хабре проходил конкурс Heavy Digital: авторы рассказывали о том, как IT помогают заводам, где «трубы дымят и мужики в куртках бегают». Строительная отрасль – не менее heavy, здесь мужики в касках укладывают бетон и забивают сваи под фундамент. А еще всю проектную документацию при подаче на госэкспертизу теперь надо подписывать усиленной квалифицированной электронной подписью (УКЭП), и это серьёзная IT-задача.

В статье я подготовил подробную инструкцию для всех этапов: как настроить систему документооборота, установить  криптопровайдер, получить сертификат УКЭП и подписать документ.

Читать далее

Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise

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

В этой статье разбираем архитектуру Pipes and Filters, Content‑Based Router и Idempotent Receiver — те самые кирпичики, на которых держатся надёжные системы. Схемы, best practices для проектирования устойчивых интеграций для Enterprise‑разработки.

Читать далее

Поиск уязвимостей ПО: базовый минимум или роскошный максимум

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

Привет, Хабр! Меня зовут Артем, я являюсь руководителем центра технической экспертизы по анализу защищенности в AKTIV.CONSULTING. Сегодня я хочу затронуть тему поиска уязвимостей программного обеспечения при эксплуатации и разобраться, чем это является на практике: базовым минимумом или все-таки роскошным максимумом. Ориентироваться будем на 24 процесс ГОСТ Р 56939-2024 по разработке безопасного программного обеспечения (БРПО, РБПО, DevSecOps).

Разбираемся

Infrastructure as Code: философия и лучшие практики IaC

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

Ручное управление серверами, «фиксы по SSH» и конфигурации, которые живут только в голове ушедшего в отпуск админа, — это не просто боль, это прямая угроза бизнесу. В этой статье разбираем, почему Infrastructure as Code перестал быть «модным словом» и стал единственным способом спать спокойно. Реальный кейс: как Knight Capital потерял $440 млн за 45 минут из‑за отсутствия воспроизводимой инфраструктуры. Практические советы, пайплайн с GitOps и лучшие практики внедрения IaC в 2026 году.

Читать далее

nxs-universal-chart v3.0: новое поколение универсального Helm-чарта

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

Релиз nxs-universal-chart 2.8.3 был более двух лет назад и за это время многое поменялось: Ingress Nginx ушел на покой, GitOps по факту стал стандартом управления инфраструктурой, а AI все сильнее входит в наши жизни. Все эти изменения не могли пройти мимо и заставили нас задуматься о том, как адаптировать наши подход и технологии DevOps к вызовам нового времени.

Результатом этих размышлений стал релиз новой версия nxs-universal-chart v3.x: из универсального набора встроенных шаблонов мы постарались превратить его в модульную платформу для поставки приложений в Kubernetes с упором на надежность и современные практики CI/CD процессов.

Всем привет, на связи Пётр, инженер компании Nixys и по совместительству maintainer проекта nxs-universal-chart. В этой статье я расскажу как мы переработали изначальную идею и какие нововведения в чарте это за собой повлекло.

Читать далее

OpenTelemetry и Sentry: как мы выстроили сбор телеметрии в микросервисной системе

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

В распределенной системе понять, что именно произошло во время выполнения запроса, бывает сложнее, чем исправить саму ошибку. Логи показывают события по отдельности, метрики — общую динамику, но без связки между ними картина остается фрагментарной. Мы решили выстроить наблюдаемость на базе OpenTelemetry и использовать Sentry для анализа трейсов.

Читать далее

Сервинг модели Grounding DINO с BentoML

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

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

Запуск ML-моделей в production-среде — это тот еще квест:  

• необходимо хранить и версионировать модели;

• нужен мониторинг ресурсопотребления, производительности и дрейфа данных в реальном времени;

• нужна поддержка разнородных сценариев — пакетная обработка или стриминг.

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

Читать далее

Как мы подружили QA и unit-тесты через Allure (и встроили их в регресс)

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

Всем привет! Меня зовут Артем. Я Android QA Engineer в команде Банки.ру.

Было ли у вас такое, что unit-тесты в проекте есть, но на практике ими почти никто не пользуется? Разработчики их пишут, но для QA это “что-то где-то в коде”: нельзя нормально посмотреть результаты, оценить покрытие или использовать в регрессе.

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

Зелёные галочки лгут: почему AI пишет тесты, которые ничего не тестируют, и как это починить

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

На QA-митапе инженер из крупной продуктовой компании показал: AI-агент пишет тесты — все зелёные, но баги не находят. Моки подогнаны, ассерты подменены, архитектура деградирует. Стек при этом — near-SOTA: свежая модель, топовый open-source агент. Я был комментатором на том митапе и сначала списал проблемы на слабые инструменты. Но при подготовке статьи перепроверил — и вынужден поправиться. Инструменты в порядке. Проблема — в коде и процессе. В статье разбираю формулу из четырёх множителей (модель × агент × процесс × качество кодовой базы), показываю, как any-типы из соседней команды обнуляют LSP-интеграцию, которую OpenCode даёт бесплатно из коробки, и даю пошаговый Spec-Driven Development — процесс, который ломает reward hacking и работает даже на слабых моделях. Плюс чеклист, что внедрить завтра.

Читать далее

Домашняя кластер-лаба с капелькой колхоза

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

Привет Хабр! Это небольшой рассказ о моей домашней лаборатории на которой я обучаюсь различным решениям необходимых DevOps‑инженеру. Для начала пробежимся мини‑обзором оборудования, а после — расскажу о том, над чем еще стоит поработать.

Читать далее

От iptables к nftables: O(n) против O(1) на практике

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

Если администрировать Linux-сервера достаточно долго, рано или поздно сталкиваешься с сетевой фильтрацией. Где-то нужно закрыть лишние порты, где-то ограничить доступ между сегментами сети, а где-то настроить NAT.

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

В этой статье разберёмся, как появился nftables, чем он отличается от привычного iptables, как устроена его архитектура и как на практике использовать его для настройки firewall на Linux-сервере.

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Как найти причину латенси в пайплайне обработки 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;

Теперь у ва

Читать далее