Пятничный деплой – Telegram
Пятничный деплой
4.48K subscribers
1.42K photos
29 videos
167 files
7.79K links
Подборка ссылок, статей и постов из мира DevOps\SRE\разработки. Если вы хотите прислать фидбек, интересную статью или просто поболтать пишите @count0ru https://news.1rj.ru/str/s/count0_digest
Download Telegram
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 noscript)
./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)

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

- noscript: |
    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 мс.


Полезная статья, если ваше приложение работает медленно. Здесь описан подход к уменьшению избыточного количества контейнеров и о вреде увлечения статьями о лучших практиках.
👍1
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 и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.

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

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

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

Вряд ли Anthropic стал бы бороться с чужими инструментами, будь они хуже родного. Получается, лучшая (и честная) рекомендация от ведущей лаборатории!
7👎4👍1
Forwarded from /usr/bin
IO devices and latency

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

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


Впечатляющая статья с интерактивом. Рассказывают об истории, функциональности и производительность энергонезависимых запоминающих устройств на протяжении всей истории вычислительной техники, используя при этом интерактивные визуальные элементы.
👍5
Forwarded from Мониторим ИТ
VictoriaLogs в Kubernetes: от установки до практического применения

Гигантская статья на Хабре по устройству VictoriaLogs с воркшопом по установке и настройке. Прочитайте, если рассматриваете этот инструмент в качестве бэкэнда для хранения логов.

@monitorim_it
👍6👎3
Forwarded from GitHub Open Sauce
h2337/ghostscan

Современный сканер для Linux на Rust, который за одно быстрое сканирование (50+ модулей) обнаруживает скрытые руткиты, незаметные eBPF-трюки и процессы-призраки.

#rust

https://github.com/h2337/ghostscan
4🔥2
Forwarded from Мониторим ИТ
Reducing Log Volume with the OpenTelemetry Log Deduplication Processor

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

В статье разобран принцип работы процессора дедупликации журналов OpenTelemetry Collector (logdedupprocessor), который предлагает элегантное решение этой проблемы. Процессор вычисляет хеш этих полей и отслеживает их появление в течение настраиваемого интервала. По истечении заданного интервала процессор выдает одну запись в журнал с тремя дополнительными атрибутами: log_count (количество дубликатов), first_observed_timestamp (время появления первого события) и last_observed_timestamp (время появления последнего события).

@monitorim_it
Forwarded from DevOps FM
Ingress NGINX: замены нет или миграция возможна?

👤На Reddit-е обсудили прекращение поддержки Ingress NGINX, работу кластеров, которые не получают обновления безопасности, а пользователи поделились своим негодованием и возможностями миграции. Статья CNCF по альтернативам – чуть выше, а полный тред – здесь.

Реакцию пользователей на новость можно уместить в один комментарий:

Kubrador
kubectl apply -f divorce.yaml
ах да, классическая смерть open source: «пожалуйста помогите нам» в течение 4-х лет –> «ладно, с нас хватит» –> «стоп, почему никто не помогает 🙁 » в то время, как 50% кластеров k8s внезапно понимают, что они живут в доме, построенном на фундаменте надежд и молитв.


Теперь перейдем к решениям, инженеры разделились на два лагеря: первый не обновляется, т.к. не видит смысла в «лишней» работе:

32b1b46b6befce6ab149
Да ну конечно, люди используют Ingress NGINX. Я тоже не обновляюсь.
На данный момент никакого аналога с прежним функционалом нет и миграция займет много времени.
Полностью переехать на Gateway API нельзя, многие public чарты всё ещё используют Ingress. Лично я не нашёл такого аналога, чтобы точь-в-точь (если он вообще есть, потому что даже у nginx-ingress немного другие аннотации), поэтому пользуюсь тем, что есть.

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


Rahomka
Всё равно на проблему вообще, мы не обновляемся


Второй – использует Gateway API и дает рекомендации по альтернативам:

mirrax
Вопрос к тем, кто не обновляется, в чем проблема? Что вы такого делаете, что прям зависит от аннотаций NGINX? Вы не сможете разобраться со всем этим у другого провайдера или использовать Gateway?

EpicDan
Вы же не обязаны использовать встроенные Ingress'ы в public чартах, можно для каждого приложения добавить HTTPRoute через Gateway API, работает нормально.

pilchardus_
Мне кажется, больше 50% k8s кластеров на NGINX, лол. Лично я переезжаю на Traefik на этой неделе.


me1337
Я переехал на F5 NGINX Ingress – без проблем, всё завелось.


FluidIdea
Лично мне нравятся Envoy Gateway (EG) или kgateway, по бенчмаркам хороши. Traefik – не единственный вариант.


edeltoaster
Я уже полностью переехал на Gateway API и Envoy Gateway. Плюс собрал свой кастомный образ с расширением Go-native от Coraza. Управление входящим трафиком стало заметно лучше, пока доволен.


👀Из интересного, Кэт Косгров (K8s Steering Committee) и Табита Сэйбл (SIG Security) в подкасте предположили, что не все инженеры в курсе, поддерживаются ли их кластеры Ingress NGINX, на что пользователи справедливо отметили:

Kabrandon
Не так легко узнать, работаете ли вы с Ingress NGINX? Может, вы не мейнтейнер? Если работаете с кластерами напрямую, вы по-любому знаете, на каком ingress контролере. Сомневаюсь, что вы работаете в таком случае.


Uncommon_senze
Легко понять, используете ли вы его, он не развертывается и не настраивается сам. Но да, проблема большая.


💬Что думаете об альтернативах, уже перешли на Gateway API? Делитесь опытом в комментариях.

#devops #reddit #k8s #ingress-nginx
Please open Telegram to view this post
VIEW IN TELEGRAM
👎5👍1