Как стать автором
Поиск
Написать публикацию
Обновить
290.13

DevOps *

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

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

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

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

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

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

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

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

Читать далее

Новости

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Мониторинг SSL-сертификатов в oVirt Engine: как мы научились спать спокойно благодаря Go и Prometheus

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

Как избежать простоев и сбоев из-за просроченных SSL-сертификатов? Мы в HOSTKEY разработали простой, но надёжный инструмент на Go для oVirt Engine, интегрированный с Prometheus и Grafana. Теперь система сама предупреждает о проблемах — задолго до их возникновения.

Читать далее

Репликация базы Postgrespro на двух нодах

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

В данной статье описывается пошаговая настройка отказоустойчивой репликации PostgresPro-12 на двух серверах в изолированной среде без внешнего доступа и возможности развертывания третьего узла. Решение ориентировано на AstraLinux, но легко адаптируется под другие дистрибутивы. В условиях, где стандартные решения вроде Patroni с etcd или ZooKeeper неприменимы из-за требования минимум трёх нод, предлагается альтернативный подход на базе keepalived и кастомных bash-скриптов.
Ключевой особенностью является использование keepalived не только для управления виртуальным IP-адресом (VIP), но и для автоматического переключения роли PostgreSQL между мастером и репликой при отказе основного сервера.

Читать далее

Мультиагентные системы: как «команда ИИ» берёт сложность штурмом

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

Когда один ИИ — мало. Нужна команда

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

В этой статье мы покажем, как собрать такую «бригаду» поверх LLM так, чтобы она реально работала с кодом: читала файлы, вносила патчи, гоняла тесты и сама себя проверяла. Без магии — с понятным интерфейсом действий (ACI), с архитектурой, которая объясняет метрики, и с живыми примерами из репозитория.

Что получите за чтение:

простую логику, почему «команда» надёжнее «соло-ИИ» и как это связано с ReAct, self-consistency, процессной проверкой и Mixture-of-Agents;

инженерный взгляд на масштабирование качества не только «размером модели», но и временем вывода (больше попыток → лучше отбор);

практику: минимальные команды запуска, «скриншоты» прогонов и аккуратный ACI, который превращает LLM из советчика в исполнителя;

архитектурный эскиз асинхронного оркестратора поверх реального LLM API — без тяжёлого кода, но с ясной идеей, как это встроить к вам.

Если вы тимлид, архитектор или ресёрчер, это статья-мост: от теории, которая действительно помогает, к работающим сценариям. Откроем крышку, включим свет — и соберём команду ИИ, которая берёт сложность штурмом.

Читать далее

Подстилая соломку, или Как выжить в ситуационном центре

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

Привет, Хабр. Меня зовут Кирилл Борисов, я SRE в Ситуационном центре. Я часто видел, как неправильное использование паттернов отказоустойчивости архитектуры или их игнорирование приводит к серьёзным последствиям. Поэтому хочу рассказать, как обеспечить надёжность в условиях, когда может упасть любой микросервис.

Читать далее

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

Зачем CEO рискует всем ради хакатона с AI? История MergeSensei

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

Глубокой ночью CEO инициирует хакатон — за 48 часов команда собирает MVP AI-ревьювера кода. Безумие? Возможно. Но теперь мы ищем CTO и тимлидов, чтобы протестировать MergeSensei и сделать его настоящим помощником в code review. Подключайтесь — и помогите нам улучшить инструмент, который реально снимает боль ревью.

Читать далее

Canary-деплой в Kubernetes с использованием Argo Rollouts и Istio

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

Мы не раз разбирали в своём блоге теорию и практику по разным стратегиям развёртывания новой версии приложения в Kubernetes. Сегодня рассмотрим ещё одну реализацию канареечного деплоя: с пассивными healthcheck и использованием Argo Rollouts и Istio. Этот вариант подойдёт, если к вашему приложению обращаются не через Ingress, а ходят внутри кластера по адресу service. Или если вы хотите видеть, что происходит с пользовательским трафиком на каждом из этапов обновления.

Читать далее

Статический анализ в open source проектах с помощью PVS-Studio

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

Хотите, чтобы ваш open source проект был чище и безопаснее? Рассказываем, как использовать PVS-Studio для регулярного анализа кода, внедрить его в CI и находить баги до их попадания в релиз. И да, лицензия для открытых проектов у нас бесплатная.

Читать далее

Infrastructure as Code на практике: как мы рефакторили сложный Ansible-репозиторий

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

Привет. Я Сергей Истомин, DevOps-инженер в KTS.

Это статья о том, как сделать так, чтобы заказчику было легко пользоваться Ансиблом. Сразу оговорюсь: речь пойдет о кейсе, когда на вашей ферме 100 голов, и всех вы знаете по именам (да, так тоже бывает).

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

Читать далее

Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны

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

– Ваш терминал и ваше интернет соединение – это файл!
– Да что вы такое говорите?
– Скажите ещё, что и мышка в моей руке или жёсткий диск – это тоже файл.
– Абсолютно верно!

На самом деле, с точки зрения Linux – это так.

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

Читать далее

Как выжать максимум из ЭЦП в Pilot: работа с УКЭП и УНЭП

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

Привет, друзья!

Сегодня поговорим о том, как мы можем подписывать документы в системе Pilot посредством усиленной электронной подписи.

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

Усиленная электронная подпись — это электронная подпись (ЭП), которая:

1. Создается с применением криптографических алгоритмов с использованием ключа электронной подписи.

2. Позволяет достоверно установить лицо, подписавшее электронный документ.

3. Обеспечивает возможность обнаружения любого изменения информации в электронном документе после момента его подписания.

Усиленная электронная подпись может быть двух видов: усиленная неквалифицированная электронная подпись (УНЭП) и усиленная квалифицированная электронная подпись (УКЭП).

Читать далее

Собственный Terraform registry network mirror

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

Дело было пятничным вечером, делать было нечего.

Меня давно посещала идея написать свой софт для реализации terraform registry mirror, так как по мнению западных компаний мы живем в "неправильной" стране, поэтому доступ к ресурсам нам можно ограничить. Видимо opensource это кого надо opensource.

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

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

Недавно вышла новость про добавление в редактор zed ИИ, и тут меня посетило вдохновение на создание pet-проекта.

Писать о том «как с помощью ИИ написать свой сайт без знания языка» я не буду, таких статей на Хабре уже пруд пруди. Поэтому расскажу о сложностях с которым столкнулся, как не профессиональный разработчик, а как DevOps‑инженер реализовавший тулзу для решения конкретной задачи.

Читать далее
1
23 ...

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