Обновить
261.13

DevOps *

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

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

Как мы внедряли Dynatrace в банке для мониторинга Kafka, БД и Java/C++ сервисов

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

Я работаю в одном крупном российском банке, где занимаюсь разработкой распределённых систем. За последние несколько лет наша архитектура заметно усложнилась — часть сервисов работает в OpenShift, часть на виртуалках, а кое-что до сих пор крутится на «железе».

Основная боль заключалась в том, что у нас не было единой системы мониторинга. Метрики мы собирали из разных источников: где-то стоял Prometheus, где-то — Zabbix, в Kafka писали свои дашборды, а для C++ приложений вообще не было нормального мониторинга. Каждый инцидент превращался в расследование: мы переключались между тремя-четырьмя консолями, сверяли логи, писали временные скрипты для выгрузки метрик. В среднем на поиск корневой причины (root cause analysis) у нас уходило от нескольких часов до пары дней.

Читать далее

Как мы автоматизировали анализ упавших тестов с помощью AI: от хаоса к структуре

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

Представьте: каждый день ваши автотесты генерируют десятки отчетов об ошибках, QA команда тратит часы на анализ падений, а разработчики получают невразумительные описания в духе "test.feature упал на строке 410". Знакомо?

Мы решили эту проблему, интегрировав AI в процесс анализа тестов, и хотим поделиться опытом.

Читать далее

Как запустить свою LLM для инференса. Руководство по запуску: Ollama, vLLM, Triton, LM Studio, llama.cpp, SGLang

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

В этой статье будет приведено практическое руководство по базовой настройке и запуску следующих инструментов для работы с LLM: Ollama, LM Studio, vLLM, Triton, llama.cpp, SGLang.

🔥 Начинаем? 🔥

Devsyringe: Хватит копипастить динамические значения

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

Сегодня расскажу о Devsyringe — инструменте для автоматизации работы с динамическими значениями в статических файлах.

Мы, разработчики, постоянно сталкиваемся с API-токенами, временными URL, строками подключения и флагами функций. В Node.js и других средах есть dotenv и менеджеры конфигураций, которые подставляют значения во время выполнения.

Но что делать со статическими файлами — HTML, JS-конфигурациями или старыми конфигами? Обычно приходится вручную копировать значения, открывать файлы, вставлять, сохранять — скучно, долго и легко ошибиться. Devsyringe решает эту проблему, автоматизируя процесс.

Читать далее

Часть 2. Rsync — подробное руководство для админов

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

Привет, Хабр! В первой части я разобрал основы rsync: синтаксис, ключевые опции и работу по SSH. Эти аспекты позволяют эффективно пользоваться утилитой на базовом уровне. В этой статье заглянем «под капот» и научимся тонко контролировать весь процесс синхронизации и диагностировать проблемы с производительностью...

Что в статье:

— Фильтрация;
— Экономичные бэкапы;
— Диагностика и решение проблем.

Читать далее

HTTP/3 и QUIC: почему интернет обновляется, и что это даёт приложениям

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

Представьте, что дороги в вашем городе заменили за ночь: больше нет светофоров на каждом перекрёстке, машины едут быстрее, а пробки исчезают сами собой. 

Так же внезапно (и не так уж безболезненно) интернет получил новую «дорожно-транспортную» логику: QUIC и HTTP/3. В этой статье разберём, что конкретно дают HTTP/3/QUIC веб- и мобильным приложениям, где эффект заметен сразу, а где — только после тщательного теста. Детали под катом.

Читать далее

Логирование и мониторинг WG

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

Всех приветствую! Послушал обзор курса «Мониторинг высоконагруженных систем» от OTUS, в котором упоминалось, что используется асинхронный подход в мониторинге и решил реализовать его в установленном WG. Готового легковесного в интернете ранее не нашел, а вопрос назрел в ввиду оперативного понимания, кто забивает канал, да и логи хотелось бы увидеть о событиях. Если читатель надеется, что тут я опишу изменение исходника, не тратьте время, будем обрабатывать вывод команды wg в консоли Python-ом, который уже есть в ubuntu 20.04 и содержит asincio. Можете по

Читать далее

Разработка, деплой, эксплуатация: как перестать терять ценность на пути к продакшену

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров1.1K

Сколько и куда инвестировать в дев-инструменты и платформу, как считать отдачу от оптимизаций (хоть от снижения CPU), и где гонять тесты — на пресабмите или на интеграции? Простых ответов нет. В этой статье я предлагаю целостную модель баланса между затратами разработки и создаваемой ценностью с учётом рисков: успех продукта, продуктивность команды, эффективность ресурсов и стратегические возможности. Дам практичные ориентиры для продактов, инженеров и менеджеров, а также покажу, как инфраструктура и архитектура сдвигают этот баланс и где именно выгодно усиливать автоматизацию и проверки.

Читать далее

Подлог на интервью: как не попасть в ловушку

Время на прочтение6 мин
Количество просмотров3.5K

Заманчивые зарплаты в ИТ — это не только магнит для вчерашних студентов и карьерных поворотов после 30. Это ещё и вкусная приманка для тех, кто мечтает получать шестизначные суммы… не особенно утруждаясь работой. Иногда соискатели доходят до абсурда — например, с чужой помощью запрыгивают на уровень, который не тянут.

Читать далее

Как Vertical Pod Autoscaler пошёл вразнос и уронил наш кластер

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

Autoscaler призван оптимизировать ресурсы CPU и памяти кластеров. Но что, если он сам становится источником проблем? Обычный алерт о пропавших метриках обернулся расследованием на всю ночь. Шаг за шагом команда выясняла, почему VPA начал агрессивно пересоздавать поды, пока не дошла до скрытой настройки, едва не похоронившей кластер. Подробности в статье.

Читать далее

Поднимаем BGP в облаке: как мы запустили «матрешку» тоннелей и ушли от L2-ограничений в новой локации Рег.облака

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

Привет, Хабр! На связи Евгений Мартынов, CIO Рег.облака. Сегодня мы подключили вторую зону доступности облака в Москве на базе дата-центра «Медведково-2» . И вместе с новым запуском провели значительный апгрейд  технологический базы: пересобрали сетевую архитектуру, ушли от большого L2, навели порядок в изоляции трафика и перевели API на BGP-анонсы. В статье расскажу про конкретные решения — как и что мы пробовали, какие процессы отложили и к каким выводам пришли.

Читать далее

Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

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

Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой.

В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи.

В этой статье узнаем:

Читать далее

Автомасштабируем узлы кластера Kubernetes. Часть 2

Время на прочтение11 мин
Количество просмотров1.6K

Всем привет! Это вновь Илья Смирнов, архитектор решений из Cloud.ru. В прошлой статье мы рассмотрели традиционные подходы к масштабированию подов и узлов кластера Kubernetes. Но остался нерешенным вопрос — как масштабировать приложение по событиям из внешней системы? Ведь мы хотим, чтобы каждое новое сообщение в очереди RabbitMQ масштабировало нагрузку вверх, реализовать event-driven подход и масштабировать приложение не по метрикам утилизации ресурсов, а по факту появления новых событий от внешних систем. Так как же быть?

Я предлагаю использовать решение KEDA 😉

Читать далее

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

Как выбрать облачный GPU-инстанс для развертывания ИИ-моделей: практическое руководство

Время на прочтение3 мин
Количество просмотров1.1K

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

Читать далее

Покраска Cтека (Stack Painting)

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

В процессорах ARM Cortex‑M стек растет от большего адреса к меньшему. То есть вниз. В этом тексте я написал как оценивать расходование стековой памяти прямо во время исполнения программы на микроконтроллере. Считать израсходованный стек можно определив соотношение непрерывно прописанных нулей к ненулевым значениям в диапазоне стековой памяти.

Читать далее

Часть 1. Rsync: подробное руководство для админов

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров24K

Привет, Хабр! В арсенале системного администратора и разработчика есть множество инструментов для переноса данных. Мы копируем файлы десятки раз в день: cp для локальных копий, scp для удалённых серверов. Но что если задача сложнее? Нужно не просто скопировать, а синхронизировать два дерева файлов, дёргая по сети лишь изменившиеся данные? Или поддерживать в актуальном состоянии зеркало веб‑контента?

О чём эта статья?
— Фундамент: как правильно путями в rsync и почему слеш в конце решает всё;
— Два основных режима работы: локально, с сервером;
— Разбор флага -a: что скрывается под капотом; — Главные опции: как сделать вывод подробным, а работу — безопасной; — Синхронизация поверх SSH: работа с нестандартными портами; — Самые опасные «грабли» и как их избежать.

Читать далее

Кастомный процессор для OpenTelemetry Collector. А почему бы и нет?

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

Всем привет! Меня зовут Артем, я платформенный инженер и в работе часто приходится сталкиваться с Observability‑инструментами. Одним из таких инструментов, о котором я хотел бы рассказать является OpenTelemetry Collector. Это мощный инструмент, который позволяет работать с различной телеметрией и строить гибкие пайплайны для метрик, логов и трейсов.

Но иногда возможностей стандартного набора компонентов не хватает, чтобы справиться с поставленными задачами без использования костылей и изоленты. Тогда на сцену выходят кастомные компоненты для Otel-Collector.

В этой статье я расскажу про свой опыт написания кастомного процессора для otel-collector. Он обогащает спаны данными из CSV‑файла: находит совпадение по атрибуту и добавляет дополнительные поля прямо внутрь трейсов. Мы разберём архитектуру процессора, посмотрим код и конфигурацию, а в конце покажу, как собрать и запустить Collector с этим расширением.

Читать далее

gh0stEdit: как скрытно заразить Docker-образ, обходя его подпись и историю

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.8K

Docker и контейнеризация давно стали стандартом. Мы подписываем образы, сканируем их на уязвимости, используем приватные реестры. Кажется, что цепочка поставки надёжно защищена.

Но исследователи показали атаку gh0stEdit (arxiv.org, 2025), которая ломает привычные представления. Суть: можно внедрить вредоносный код в Docker-образ так, что это не видно в истории, подписях и стандартных сканерах.

Читать далее

Как улучшить мониторинг и не потерять логи: Zabbix + ELK

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

Привет, Хабр! Меня зовут Сергей, я DevOps-инженер в компании Webest. В работе ежедневно сталкиваюсь с задачами мониторинга и анализа логов, и знаю, как иногда трудно разобраться в причине, почему лег прод в 5:21 утра.

Здесь на помощь приходит Zabbix. Он как верный пес: всегда громко «лает», когда что-то идет не так, и даже может «принести» алерт прямо к тебе с тапочками. Но на этом история не заканчивается. Если нужно понять, что именно сломалось и по какой причине, приходится копать глубже — в мир логов, где живет ELK Stack.

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

Читать далее

Telegram бот управления Docker контейнерами

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

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

оставлю пища для размышлений и задел на развитие бота

Читать далее

Вклад авторов