Пятничный деплой
4.47K subscribers
1.42K photos
29 videos
167 files
7.79K links
Подборка ссылок, статей и постов из мира DevOps\SRE\разработки. Если вы хотите прислать фидбек, интересную статью или просто поболтать пишите @count0ru https://xn--r1a.website/s/count0_digest
Download Telegram
Forwarded from DevOps Brain 🧠
🔖Лучшие практики конфигурирования Kubernetes в 2025 - Часть 3: безопасность, логи, наблюдаемость и graceful shutdown

Ну что, котлеги, надеюсь вы нашли для себя что-то полезное в предыдущих 2 частях. Если это так - то не скупитесь ставить 🔥.

Это дает мне понять, что материал полезен и вам интересно то о чем я пишу.

Пришло время ехать дальше и вот что я вам скажу: есть два подхода к продакшену - “потом прикрутим безопасность/метрики/грейсфул” и “почему оно снова умерло. Открываем логи и метрики и смотрим!”. Обычно команды быстро мигрируют от первого ко второму - через боль, но мигрируют. 🤪

Эта часть c кучей примеров про безопасность подов, сетевые политики, наблюдаемость (метрики/логи/трейсы), корректное завершение (SIGTERM, draining) и управление образами. Применение этих практик сделает инциденты для вас диагностируемыми и переживаемыми - даже когда всё идёт не по плану.

https://devopsbrain.ru/posts/2025-12-10-kubernetes-best-practices-2025-chast-3/

#kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from John Doe
🔥 VictoriaMetrics Q4 Virtual Meetup уже совсем скоро!🔥

Присоединяйтесь к нам через несколько часов!

👉 https://youtube.com/live/yuZ_JkOx1uo

🕔 Сегодня в 17:00 GMT / 18:00 CET / 9:00am PT.

В сегодняшней программе:
🟣 Последние обновления VictoriaMetrics

📕 Spotify — история клиента: Lauren Roshore, Менеджер по инжинирингу в Spotify Engineering выступит с докладом «Как и почему мы используем VictoriaMetrics»

🤖 Инновации в Anomaly Detection
☁️ Что нового в VictoriaMetrics Cloud
📜 Последние обновления VictoriaLogs
🔥 Обновления в VictoriaTraces
🌍 Новости сообщества + ⁉️AMA

Не упустите свой шанс узнать новое, задать вопросы и пообщаться с сообществом VictoriaMetrics!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Мониторим ИТ
Минимальный набор практик для микросервиса

Если вы Go-разработчик и к вам пришли и сказали "мне нужны твои метрики, трейсы и логи", прочитайте эту статью. Здесь собраны рекомендации, например, о том, что нужно разделять логи на технический поток и поток аудита. А еще:
Почему я так упираюсь в связку “трейсы + логи”? Потому что это реально магия. Ты открываешь проблемный трейс, видишь trace_id, и дальше хочешь в один клик найти все логи по этому запросу. Чтобы это работало, логгер должен вытаскивать trace_id и span_id из контекста.

И еще:
Идея простая: у каждого запроса есть trace_id, и по нему ты видишь весь путь запроса через сервисы, очереди, базы и внешние интеграции. Внутри trace есть span — атомарные операции. Хорошая новость в том, что большая часть спанов создаётся автоматически, если ты используешь нормальные инструменты (HTTP middleware, SQL драйверы с OTel-инструментацией, клиенты Kafka/Redis и т.д.). Плохая новость в том, что бизнес-логика “между ними” сама себя не оттрассирует, и иногда надо уметь добавить span руками.

И еще:
Я люблю метрики, которые привязаны к смыслу. Если это сервис постов, то тебе важно понимать, сколько постов создают, как часто добавляют картинки или видео, как меняется поведение пользователей. Это не «хочу поиграться в аналитика», это реально помогает принимать решения и продукту, и инженерам.

Плюс есть технические метрики, которые не про сервис в целом, а про конкретную бизнес-механику: сколько сообщений улетело в DLQ, сколько промахов у кэша, как часто включается fallback. Такие числа позволяют развивать сервис на цифрах, а не на ощущениях.

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

@monitorim_it
👍2
Forwarded from /usr/bin
Как мы сократили расходы на Kubernetes примерно на 78% без единой секунды простоя

В этой статье разобрано каким образом снизить стоимость инфраструктуры для кластера k8s простой проверкой утилизацией ресурсов. А также приведен пошаговый план миграции на более дешевое железо.
Forwarded from Мониторим ИТ
Introducing Observable Load Testing = Locust + OpenTelemetry!

Проблема: Традиционное нагрузочное тестирование включает в себя обширную ручную корреляцию данных с бэкэндом и часто заходит в тупик из-за «слепых зон» в коде приложения и распределенных системах.

Решение: Благодаря автоматической инструментации скриптов Locust с помощью OpenTelemetry, нагрузочные тесты теперь будут генерировать сигналы OpenTelemetry. Эта телеметрия нагрузочных тестов передается в платформу мониторинга на основе OTel в режиме реального времени, позволяя визуализировать каждый запрос нагрузочного тестирования и отслеживать всю его транзакцию. Теперь у вас есть полная сквозная видимость — ваши запросы нагрузочного тестирования коррелированы с вашим приложением, инструментированным OTel.


Статья с описанием подхода (на портале medium.com)

Locust — это инструмент с открытым исходным кодом для тестирования производительности и нагрузки HTTP и других протоколов. Его удобный для разработчиков подход позволяет определять тесты в обычном коде Python.

Тесты Locust можно запускать из командной строки или с помощью веб-интерфейса. Пропускную способность, время отклика и ошибки можно просматривать в режиме реального времени и/или экспортировать для последующего анализа.

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

Репыч на Гитхаб
👍1
Forwarded from Mops DevOps
Docs-as-Code (DaC) — это подход к созданию и сопровождению технической документации с использованием тех же инструментов и рабочих процессов, что и при разработке программного кода. Этот метод легко интегрирует документацию в жизненный цикл разработки программного обеспечения, способствуя сотрудничеству, контролю версий и автоматизации.

🔹 Docs as Code: введение в предмет

🔹 Docs as Code: настраиваем инструменты под себя

🔹 Как мы пытались в Docs as Code и проиграли

🔹 Победить хаос в документации: почему мы создали свой продукт для Docs-as-a-Code

#docs
2👍2
Forwarded from Мониторим ИТ
r9y.dev

По ссылке выше вы найдете ответ как прокачать практику SRE в вашей организации и пройти путь от 90.0% к 99.999%. Каждый топик на этой карте сопровожден ссылкой с описанием практики, преимуществами её внедрения и ссылками на релевантные материалы.

Нельзя назвать эту карту таблицей зрелости, это скорее ориентир-путеводитель. Я бы смотрел на эту карту с точки зрения ваших текущих задач и потребностей. Если вы понимаете, что работает не так или часто тушите пожары, то смотрите в нужное место на карте и смотрите как такие задачи закрываются. Весьма удобная штука.

@monitorim_it
👍3
Разверните свою облачную среду за несколько минут: виртуальные машины, S3-совместимое хранилище, Managed Kubernetes, базы данных.

▪️Быстрый старт, прозрачный биллинг, российские дата-центры.
▪️Удобные интерфейсы управления: веб-консоль, CLI, API, Terraform.
▪️Собственная разработка: развиваем облако так, как нужно пользователям, а не ждём решений от вендоров.

Развивайте свои IT-продукты. Об инфраструктуре позаботится облако.

Попробуйте MWS Cloud Platform бесплатно с грантом для новых пользователей.
👎21👍1
Forwarded from Мониторим ИТ
12 дашбордов для дежурных, которые успокаивают всех

В этой статье приведены примеры 12 дашбордов для Grafana, которые хорошо помогают быстро диагностировать проблему. Опыт и еще раз опыт.

@monitorim_it
3🔥1
Forwarded from DevOps FM
🛡Безопасность в Docker: SBOM и выявление уязвимостей

Сегодня разбираем, как обеспечить безопасность цепочки поставок в Docker на примере практического гайда Shamsher Khan: Advanced Docker Security: From Supply Chain Transparency to Network Defense. Подробно разберем обеспечение прозрачности цепочки поставок с помощью SBOM, спецификации ПО (Lab 07), а подробнее об установке эшелонированной защиты от DDoS и ботов (Lab 08) можете прочесть здесь.

👀Почему тема важна в сообществе?
• В 2021 инцидент с Log4Shell, ошибкой в библиотеке Log4j, указал на большую проблему современной разработки – незнание состава контейнеров.
• Кибератака SolarWinds произошла в том же году, что инцидент выше.

В статье представлены две лабы, задеплоить можно уже сегодня:
1. Обеспечение прозрачности цепочки поставок с помощью SBOM (Lab 07)
2. Эшелонированная защита от DDoS и ботов (Lab 08)

💬Обеспечиваем безопасность цепочки поставок со SBOM (Lab 07)
Рассмотрим Dockerfile:
FROM python:3.11-slim 
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY app.py . CMD ["python", "app.py"]


Вопрос знатокам: какие пакеты в этом образе? Без SBOM мы можем догадаться: e.g. Python 3.11, requirements.txt и OS уязвимости.
SBOM позволяет получить полный список всех компонентов, версий и лицензий, сгенерированный за секунды.

🚀На старт, внимание, SBOM
В статье представлен демо-скрипт для выполнения с последовательностью из 12-ти шагов.

💬Шаг 1: установка инструментов.

# Install Syft (SBOM generation) 
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin

# Install Grype (vulnerability scanning)
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin

# Verify installation
syft version grype version


💬Шаг 2: установка SBOM

From a Docker image
syft nginx:alpine -o spdx-json > nginx-sbom.json

# From a directory
syft dir:./myapp -o cyclonedx-json > myapp-sbom.json

# Multiple formats at once
syft nginx:alpine -o spdx-json=sbom.spdx.json -o cyclonedx-json=sbom.cdx.json


💬Шаг 3: выявляем уязвимости
# Scan the SBOM
grype sbom:./nginx-sbom.json

# Or scan image directly
grype nginx:alpine


💬Шаг 4: сравниваем версии SBOM
# Generate SBOMs for two versions
syft myapp:v1.0 -o json > v1.0-sbom.json
syft myapp:v2.0 -o json > v2.0-sbom.json

# Compare (using provided script)
./compare-sboms.sh v1.0-sbom.json v2.0-sbom.json


💬Шаг 5: выявляем уязвимости в SBOM

# Scan the SBOM
grype sbom:./nginx-sbom.spdx.json

# Or scan image directly
grype nginx:alpine


💬Шаг 6: определяем типы уязвимостей по параметрам
# Only show CRITICAL and HIGH
grype nginx:alpine --fail-on high

# Only show CRITICAL
grype nginx:alpine --fail-on critical

# Show only specific severity
grype nginx:alpine -o json | jq '.matches[] | select(.vulnerability.severity == "High")'

# Export vulnerabilities to JSON
grype nginx:alpine -o json > vulnerabilities.json


В шагах 7 и 8 сравниваем версии SBOM и ищем конкретные пакеты, а в 9 – рассматривает отчёт/журнал SBOM

💬Финальный шаг, 12: интеграция в CI/CD (Azure DevOps)

azure-pipeline.yml
- task: Docker@2
  inputs:
    command: build
    dockerfile: '**/Dockerfile'
    tags: $(Build.BuildId)

- script: |
    syft $(imageName):$(Build.BuildId) -o spdx-json > sbom.json
  displayName: 'Generate SBOM'

- script: |
    grype sbom:./sbom.json --fail-on high
  displayName: 'Scan for Vulnerabilities'

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: 'sbom.json'
    artifactName: 'SBOM'


👨‍💻В результате, скорость реагирования при обнаружении уязвимостей сокращается с 14 до 2 дней, осуществляется поддержка 3-х форматов (SPDX, CycloneDX, Syft JSON) и гарантируется полное соответствие требованиям – EO 14028.

👩‍💻Делимся репозиториями:
Syft – установка SBOM
Grype – выявление уязвимостей
Docker Security Practical Guide – полный гайд с Lab 07 и Lab 08

#devsecops #SBOM #zerotrust #kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
Forwarded from k8s (in)security (r0binak)
Заканчиваем эту неделю полезной тулзой для пользователей FirecrackerFireCrackManager.

Он позволяет создавать, запускать и останавливать легковесные виртуальные машины через REST API и веб-интерфейс. Проект поддерживает работу с дисками, сетями, снапшотами и образами. Подходит для сценариев, где требуется запуск большого количества VM с минимальными накладными затратами.

Написан на Go и ориентирован на автоматизацию и инфраструктурные задачи.
👍1
Forwarded from /usr/bin
Я удалил 70 процентов нашего YAML-файла Kubernetes. Задержка снизилась.

Наш API был медленным. Не сломанным — просто медленным.

Таким медленным, из-за которого пользователи обновляют страницу. Таким, из-за которого телефон кажется старым. У нас была задержка 200 мс на эндпоинтах, которые должны были отвечать за 40 мс. Каждая оптимизация, которую мы пробовали, делала всё только хуже. Затем я удалил большую часть нашей конфигурации Kubernetes. Задержка снизилась до 35 мс.


Полезная статья, если ваше приложение работает медленно. Здесь описан подход к уменьшению избыточного количества контейнеров и о вреде увлечения статьями о лучших практиках.
Forwarded from /usr/bin
Миграция с NGINX Ingress Controller на Kubernetes Gateway API с использованием ingress2gateway

С официальным прекращением поддержки Ingress NGINX, запланированным на март 2026 года, пользователи Kubernetes сталкиваются с серьёзным архитектурным изменением. Это прекращение поддержки знаменует собой прекращение выпуска обновлений безопасности и исправлений ошибок, поэтому командам разработчиков крайне важно оценить планы миграции уже сейчас.

Один из самых простых и удобных в обслуживании путей — переход от традиционных ресурсов Ingress к Gateway API, современному стандарту сетевого взаимодействия в Kubernetes. Для упрощения этого процесса сообщество Kubernetes SIG Network предоставляет инструмент ingress2gateway с открытым исходным кодом, который автоматически преобразует объекты Ingress в ресурсы Gateway API.


В этой статье описан практический пошаговый обзор того, как использовать ingress2gateway для миграции существующих конфигураций NGINX Ingress с минимальными накладными расходами.
🔥2
Forwarded from /usr/bin
Databasus — open source инструмент для резервного копирования PostgreSQL, MySQL и MongoDB (ex-Postgresus)

Теперь Postgresus — это Databasus. И поддерживает другие базы: MySQL, MariaDB и MongoDB (при этом оставляя основной фокус на PostgreSQL).


В этой статье детальнее, что из себя представляет проект и почему произошло переименование.
3
Forwarded from Мониторим ИТ
Инцидент-менеджмент с нуля: практический гайд для растущих команд

3 часа ночи. Звонок от незнакомого номера. ”Пользователи не могут залогиниться, п****ц”.

Вы лихорадочно листаете Slack. Непонятно, где проблема и кого будить. Подняли тестеров — они тоже гадают. Бэкенд? Инфра?

Идёте во флудилку в телеге, ищете похожий ник тимлида. Не отвечает. Кто замещает - никто не знает. Начинается массовый обзвон. Через 40 минут находится человек. Смотрит код. “Не моё. Это к Сане — он, кажется, редирект криво поменял в гугл клауд консоли”. Ещё 20 минут — поиск Сани, доступы только у него.

Утром все разбитые. CTO вопрошает. И становится ясно: баг простой. Проблема не в коде. Проблема в бардаке.

Знакомо? Я тоже через это прошел. И после такой ночи решил: хватит. Нужна система.


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

Автор в статье также упоминает собственную разработку — duty_bot. Это бот для управления дежурствами через телеграм.

@monitorim_it
Встречайте новый формат инженерного диалога

T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security- и дата-инженеры, аналитики, DevOps-, SRE-, CI/CD-, AI-, ML-, R&D- и DX -специалисты.

Как все устроено:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.

А еще много практики, интересных знакомств и живых систем.

Успейте подать заявку
👎10👍2🔥1
Тем временем, Claude Code это оказывается уже для нормисов, а модные ребята пересели на более крутую open source упряжь openCode, которая поддерживает любые модели (а не только от anthropic). Ну и конечно есть безумно прокачанный форк от китайцев oh-my-opencode, который прямо сейчас запускают как отдельный сервис, Сизиф. Нейминг как у самолета Антея.

Узнал об этих инструментах из драмы, которая разворачивается прямо сейчас: формально, Anthropic разрешает пользоваться своими моделями с подпиской Pro и Max только внутри своего Claude Code. Пару часов назад, они начали блокировать запросы из openCode, после чего пользователи стали жаловаться, что Claude Code — это каменный век и отменять подписки. При этом модели Anthropic, по словам пользователей, лучше конкурентов. Моделями Anthropic можно пользоваться «по API» без скидок и ограничений, но если платить за каждый запрос — получаются совсем безумные цифры даже для модных вайбкодеров.

Вряд ли Anthropic стал бы бороться с чужими инструментами, будь они хуже родного. Получается, лучшая (и честная) рекомендация от ведущей лаборатории!
7👎3👍1