Обновить
256K+

DevOps *

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

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

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

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

В процессорах ARM Cortex‑M стек растет от большего адреса к меньшему.

В этом тексте я написал как оценивать расходование стековой RAM памяти прямо во время исполнения программы на микроконтроллере (run-time).

Считать израсходованный стек можно определив соотношение непрерывно прописанных констант к остальным значениям в диапазоне стековой памяти.

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Трейсинг в hh.ru: как мы выросли от 1 тысячи до 1 миллиона событий в секунду без семплирования

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

В каждой компании есть необходимость выстроить систему observability. В hh.ru мы перестраивали архитектуру под большее количество данных несколько раз — сейчас имеем на входе 24к RPS, 1 миллион спанов в секунду, 5к инстансов сервисов. Если вы — инженер, который находится в процессе построения или перестройки собственной системы трейсинга, этот доклад — для вас.

Привет, Хабр! Я — Александр Казанцев, уже более десяти лет в разработке. Когда-то был инженером на пивзаводе и могу рассказать, из чего делают пенное; но сегодня — о другом.

Читать далее

SSL-сертификаты в 2025: самый прибыльный развод в истории интернета

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

$199 за файл.

Не за программу. Не за базу данных. Даже не за документ с полезной информацией. За файл в несколько килобайт зашифрованного текста, который говорит браузеру «этот сайт действительно тот, за кого себя выдает».

Читать далее

Бенджамин Вуттон «Микросервисы — не бесплатный сыр!»

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

Этот текст 2014 года стал одним из первых образцов содержательной критики микросервисной архитектуры. Хотя с тех пор отрасль нашла решения для многих технических проблем, поднятых автором, его основные предостережения не утратили актуальности и по-прежнему заслуживают серьезного внимания.

Читать далее

Очередной бенчмарк VictoriaMetrics против Prometheus

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

Дело в том, что в какой-то момент, выбирая между Викторией и Прометеусом, я прочитал несколько статей на Хабре. В них речь шла о плюсах Виктории — о том, что она лучше сжимает и хранит данные. Тогда я поверил, однако во время эксплуатации у меня возник ряд вопросов, и я решил провести собственное исследование.

Читать далее

Как попробовать FinOps бесплатно и понять, что это даёт: изучаем платформу FinOps Radar

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

Насколько облака удобны и приятны в использовании, настолько же они и непредсказуемы. Особенно, если не перестроить «железную» модель бюджетирования под облачную. В этом случае практически гарантирован исход, при котором инфраструктурные затраты будут превышать планы в полтора, а то и два раза. Сказывается невозможность контролировать расходы вручную. Слишком уж много нюансов и переменных влияет на итоговый счет. Обычно проблему решают специализированные FinOps‑инструменты, но они чаще всего, либо дорогие, а потому не подходят для начинающих, либо попросту не учитывают особенностей российских платформ. Но у FinOps Radar этих недостатков нет.

Читать далее

Сквозь эпохи: от хаоса к гармонии, или как мы запросы в Greenplum улучшали

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

Привет, Хабр! Я Илья Назаров, старший инженер в разработке сервисов направления эксплуатации инфраструктуры данных DataPlatform Т-Банка. В работе я часто соприкасаюсь с движками баз данных. Первым и основным движком волею судеб стал Greenplum. Расскажу о своем длинном пути взаимодействия с «Зеленой сливой», как из хаоса и невежества я дошел до истины и гармонии.

В начале карьеры меня много чего удивляло. Тогда я еще не знал, что такое Greenplum,и плохо понимал, что такое MPP. Позднее коллеги на пальцах объяснили мне, что это «постгрес курильщика» и «постгрес поверх кучи постгресов». 

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

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

Читать далее

Как мы вшили нагрузочное тестирование в CI/CD, чтобы не хоронить фичи в проде глубокой ночью

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

Привет Хабр! Я Дима, DevOps-инженер в IT-компании.

Эпик-фейлы бывают разные. Можно забыть закоммитить config.json. А можно так упаковать новый эндпоинт, что всё апи ляжет костьми в час-пик и будет тихо плакать под лавиной реквестов. Ручные нагрузочные тесты — это как проверять тормоза на уже летящем с горы автомобиле. Сегодня говорим о том, как автоматизировать эту магию — вшивать проверку производительности прямо в CI/CD, чтобы не краснеть перед продом и спокойно спать по ночам.

Запускайте свои пайплайны, щупальцы в руки — погнали!

Читать далее

Разлочка некоторых функций Mattermost Team Edition

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

Дисклеймер: Данный туториал представлен исключительно в ознакомительных целях. Автор ни в коем случае не призывает заниматься этим в целях, которые выходят за рамки локальных экспериментов.

Mattermost в редакции Team edition имеет ряд ограничений, которые активируются только при применении Enterprise лицензии. Но покопавшись немного в коде, выяснилось что некоторые функции все-таки можно включить, внеся некоторые изменения и собрав из исходников.

Читать далее

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

CDN Плацебо: Когда сети доставки контента замедляют сайты

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

«Ваш сайт теперь глобально оптимизирован!» — обещают продавцы CDN, показывая красочные карты с серверами по всему миру. Зеленые точки от Нью-Йорка до Сингапура, обещающие молниеносную доставку контента пользователям повсюду. Ваш ежемесячный счет отражает это глобальное покрытие премиальными ценами.

Но вот неудобная правда: для многих сайтов CDN не ускоряют их — они делают медленнее. Инфраструктура, разработанная для ускорения доставки контента, становится узким местом, добавляя задержку вместо ее уменьшения.

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

Че у вас здесь происходит?

Как мы изобрели свой велосипед с vuls и запустили сканирование уязвимого ПО на базе OpenSource решения

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

Как сканировать любую инфраструктуру на уязвимости — без агентов, бесплатно, через Jump Host и без боли? Мы в K2 Облаке искали именно такое решение — и не нашли. Зато взяли Open Source-инструмент Vuls и сделали из него полноценный автоматизированный сервис с GitLab-интеграцией, красивыми PDF-отчётами и нативной работой с облачным API. В статье рассказываем, как превратили «сырое» решение в удобный инструмент с CI-пайплайнами, алертами и конфигами, которые генерируются за секунды.

Привет, Хабр! На связи Роман Масягутов и Анастасия Козлова из команды K2 Облака. В этой статье — краткий разбор нашей практики по автоматизации сканирования инфраструктур: как организовали удалённое сканирование без агентов, с одного хоста, без вмешательства в работу приложений и без дополнительных затрат. 

Читать далее

Мониторинг и анализ производительности бэкенда с помощью ClickHouse и Grafana. Часть 3

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

Всем привет! Я Артём Седых, ведущий разработчик и тимлид проекта банковского сопровождения. Наш сервис — 8-летний монолит на PHP с командой из 39 человек. В цикле статей рассказываю об опыте разработки и внедрения альтернативы pinba: гибкого инструмента мониторинга, который позволяет увидеть живую систему как на ладони и понять, из‑за чего именно проседают определенные экшены. Сегодня, в третьей и заключительной части, рассмотрим мониторинг со стороны devops на дашбордах SLI/Apdex, поколдуем над статистическими методами для прогноза снижения производительности, поговорим об автоматических уведомлениях Grafana. Оценим перспективы развития, сравнительный анализ выбранного подхода и выводы по нашему опыту.

Читать далее

Как Netflix добивается корректной атрибуции в журналах сетевых потоков eBPF

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

Один неправильно «пришитый» IP — и рождается фантомная зависимость. Netflix на масштабе ≈5 млн TCP-потоков/с отказался от событийного учёта адресов и построил атрибуцию на наблюдаемых таймлайнах владения IP: eBPF-сайдкар точно метит локальную нагрузку (включая Titus и связку IPv6→IPv4 по паре IP+порт), а FlowCollector держит интервалы в памяти и рассылает их через Kafka, форвардя межрегиональные кейсы по trie из VPC-CIDR. Задержка — ~1 мин вместо 15, ложных совпадений — ноль по проверке на Zuul. В итоге flow logs стали источником истины о зависимостях и «здоровье» сети.

Читать далее

Как мы в ВТБ автоматизировали мажорное обновление PostgreSQL

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

Привет, Habr! На связи эксперты команды сервиса WatchDog — Дмитрий Коновалов и Геннадий Переломов.

В ВТБ, у нашего основного заказчика, мы развиваем сервисы автоматизации сопровождения баз данных. Одной из ключевых СУБД в инфраструктуре является PostgreSQL. Поддержка её в актуальном состоянии требует периодических мажорных обновлений, которые остаются одной из самых трудоёмких задач для DBA, особенно в ночные или выходные технологические окна.

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

Читать далее

Как я хакнул хакеров на leHack-2025

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

Автор статьи провёл масштабную карма-атаку на публичные Wi-Fi-сети прямо на конференции leHack-2025. В итоге удалось подключить к поддельным точкам доступа сотню устройств, включая одного из спикеров. В статье — подробности эксперимента и объяснение, почему подобные атаки всё ещё работают в 2025 году.

Читать далее

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

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

Многие российские компании, отказались от железной инфраструктуры и, перейдя в облако, столкнулись с неожиданным парадоксом. Финансовое планирование, которое должно было стать проще, на деле усложнилось настолько, что потеряло всякий смысл. Ситуации, когда стартап закладывал в месячный бюджет 500 тысяч рублей на облачные расходы, а по итогу получал счет на 1.2 миллиона, стали обычным делом. И это не единичные случаи. Исследование Flexera за 2023 год показывает, что с перерасходом сталкиваются примерно 45% всех организаций. А, по данным Wasabi, и вовсе 60%. Конечно, так быть не должно. 

Читать далее