Forwarded from linkmeup
Модно, молодёжно, с красивым интерфейсом и всё на гошечке - реплицируемый через etcd DNS и DHCP. Они даже туда до кучи TFTP запихнули для хранения всяких конфигов. Прям штаны сами до усов подвернулись.
Пробовал кто?
https://github.com/BeryJu/gravity
Пробовал кто?
https://github.com/BeryJu/gravity
GitHub
GitHub - BeryJu/gravity: Fully-replicated DNS and DHCP Server with ad-blocking powered by etcd
Fully-replicated DNS and DHCP Server with ad-blocking powered by etcd - BeryJu/gravity
👍6
Forwarded from The Last of 9s
#postgres #observability #pgwatch
как мы сделали postgres наблюдаемым, не расширяя стек и не убивая прометеус кардинальностью от query_id.
и по традиции демо:
https://pgwatch.dblab.dev
лог/пас (да простит нас мировое ИБ): demo/demo
исходная проблема:
1. стандартный postgres_exporter метрики собирает, даже в разрезе query_id, но глубины не хватает и не хватает точности
2. метрики очень кардинальные за счет айдишника каждой квери в лейбле
3. смотреть в базе pg_activity или pg_stat не вариант - баз больше тысячи
как решили:
1. нашли тогда еще не очень зрелое решение, которое не расширяло наш технологический стек ни на грамм - pgwatch (рекомендуем именно https://gitlab.com/postgres-ai/pgwatch2 не https://github.com/cybertec-postgresql/pgwatch)
2. просто подняли рядом отдельный postgres-инстанс только под метрики
3. туда начали сливать pg_stat_activity, pg_stat_statements и другие системные таблицы
4. взяли дашборды, которые идут в комплекте с pgwatch и чуть-чуть докрутили
что получили:
1. дашборды с drill-down вплоть от кластера до конкретного запроса.
2. графики с планами выполнения (через плагины)
3. видно кривые настройки, autovacuum, недоиндексы из коробки без танцев с бубном
4. все это существенно на пониженной нагрузке в сравнении с экспортером для прометеуса
почему postgres-ai а не cybertec:
1. первое и главное - баги
2. второе не супер важное, в cybertec своя графана в инсталляции и не очень полезный UI (может вам будет полезен)
3. появляется поддержка кастомных метрик, что дает большую гибкость
и подтверждаю слова авторов форка от postgres-ai, действительно:
- Improved dashboards for fast troubleshooting
- Custom metrics and configs
- Support of pg_wait_sampling and pg_stat_kcache
- Used YAML based setup
- Metrics storage DB: PostgreSQL with timescaledb extension (by default)
что дальше:
посматриваем в сторону coroot - умеет вытаскивать медленные запросы через eBPF без агентов и с недавних пор еще и с нормальной поддержкой секретов.
проверим, может ли заменить наше решение
как мы сделали postgres наблюдаемым, не расширяя стек и не убивая прометеус кардинальностью от query_id.
и по традиции демо:
https://pgwatch.dblab.dev
лог/пас (да простит нас мировое ИБ): demo/demo
исходная проблема:
1. стандартный postgres_exporter метрики собирает, даже в разрезе query_id, но глубины не хватает и не хватает точности
2. метрики очень кардинальные за счет айдишника каждой квери в лейбле
3. смотреть в базе pg_activity или pg_stat не вариант - баз больше тысячи
как решили:
1. нашли тогда еще не очень зрелое решение, которое не расширяло наш технологический стек ни на грамм - pgwatch (рекомендуем именно https://gitlab.com/postgres-ai/pgwatch2 не https://github.com/cybertec-postgresql/pgwatch)
2. просто подняли рядом отдельный postgres-инстанс только под метрики
3. туда начали сливать pg_stat_activity, pg_stat_statements и другие системные таблицы
4. взяли дашборды, которые идут в комплекте с pgwatch и чуть-чуть докрутили
что получили:
1. дашборды с drill-down вплоть от кластера до конкретного запроса.
2. графики с планами выполнения (через плагины)
3. видно кривые настройки, autovacuum, недоиндексы из коробки без танцев с бубном
4. все это существенно на пониженной нагрузке в сравнении с экспортером для прометеуса
почему postgres-ai а не cybertec:
1. первое и главное - баги
2. второе не супер важное, в cybertec своя графана в инсталляции и не очень полезный UI (может вам будет полезен)
3. появляется поддержка кастомных метрик, что дает большую гибкость
и подтверждаю слова авторов форка от postgres-ai, действительно:
- Improved dashboards for fast troubleshooting
- Custom metrics and configs
- Support of pg_wait_sampling and pg_stat_kcache
- Used YAML based setup
- Metrics storage DB: PostgreSQL with timescaledb extension (by default)
что дальше:
посматриваем в сторону coroot - умеет вытаскивать медленные запросы через eBPF без агентов и с недавних пор еще и с нормальной поддержкой секретов.
проверим, может ли заменить наше решение
GitLab
Postgres AI / pgwatch2 · GitLab
👍6
Forwarded from Мониторим ИТ
Grafana 12 release: observability as code, dynamic dashboards, new Grafana Alerting tools, and more
Вышла Grafana 12! Что нового:
🚀 наблюдаемость как код. В Grafana 12 появился новый набор инструментов наблюдения в виде кода, которые помогут автоматизировать процессы наблюдения в организации. Новая функциональность позволяет версионировать, проверять и развертывать дашборды. Кроме того, есть возможность использования шаблонов кода.
🚀 динамические дашборды. Динамические дашборды упрощают навигацию и ускоряют поиск необходимой информации с помощью вкладок, которые позволяют сегментировать дашборды по контексту, группе пользователей, а отображать или скрывать панели или целые строки в зависимости от выбора переменных или наличия на панели данных для отображения. Видео на Youtube с описанием функционала.
🚀 улучшенное отображение таблиц. В Grafana 12 можно загружать, сортировать и фильтровать большие таблицы быстрее, чем раньше. Визуализация таблиц была переработана для использования библиотеки react-data-grid. Дашборд в Grafana теперь легко обрабатывает огромные наборы данных: по 40 000+ строк и почти 20 столбцов с производительностью CPU на 97,8% выше.
🚀 новые темы в дашбордах. Появились темы Sapphire dusk, Tron, Gilded grove, Gloom и Desert bloom.
🚀 объединение и преобразование данных из нескольких источников. Теперь одним выражением в формате SQL-синтаксиса можно забирать данные из разных источников: Loki, MySQL, PostgreSQL и пр.
🚀 легкая миграция в Grafana Alerting. Упрощена миграция правил оповещений, которая позволяет импортировать правила оповещений Prometheus и Loki в правила оповещений, управляемые Grafana.
🚀 Grafana Drilldown в GA. Теперь возможность перехода из одного дашборда в другой перестала быть экспериментальной функцией.
Больше подробностей в блоге Grafana
Вышла Grafana 12! Что нового:
🚀 наблюдаемость как код. В Grafana 12 появился новый набор инструментов наблюдения в виде кода, которые помогут автоматизировать процессы наблюдения в организации. Новая функциональность позволяет версионировать, проверять и развертывать дашборды. Кроме того, есть возможность использования шаблонов кода.
🚀 динамические дашборды. Динамические дашборды упрощают навигацию и ускоряют поиск необходимой информации с помощью вкладок, которые позволяют сегментировать дашборды по контексту, группе пользователей, а отображать или скрывать панели или целые строки в зависимости от выбора переменных или наличия на панели данных для отображения. Видео на Youtube с описанием функционала.
🚀 улучшенное отображение таблиц. В Grafana 12 можно загружать, сортировать и фильтровать большие таблицы быстрее, чем раньше. Визуализация таблиц была переработана для использования библиотеки react-data-grid. Дашборд в Grafana теперь легко обрабатывает огромные наборы данных: по 40 000+ строк и почти 20 столбцов с производительностью CPU на 97,8% выше.
🚀 новые темы в дашбордах. Появились темы Sapphire dusk, Tron, Gilded grove, Gloom и Desert bloom.
🚀 объединение и преобразование данных из нескольких источников. Теперь одним выражением в формате SQL-синтаксиса можно забирать данные из разных источников: Loki, MySQL, PostgreSQL и пр.
🚀 легкая миграция в Grafana Alerting. Упрощена миграция правил оповещений, которая позволяет импортировать правила оповещений Prometheus и Loki в правила оповещений, управляемые Grafana.
🚀 Grafana Drilldown в GA. Теперь возможность перехода из одного дашборда в другой перестала быть экспериментальной функцией.
Больше подробностей в блоге Grafana
Forwarded from AWS Notes
Всех с новой рабочей неделей .
🔥 Выпущена версия 0.20.1 платформы для изучения SRE! 🔥
GitHub
📌 Что нового:
- добавлен подсчёт размеров
- добавлен body в ответ для методов
- добавлена возможность задавать дополнительный размер в ответ (поумолчанию 0 ) в ping_pong server
- добавлена 1.33 версия K8s в k8s_self_management module.
- добавлена CKS Lab 27. Cilium network policy with mTLS — решение — видео
- добавлена CKS Lab 28. Detect and stop unauthorized access with Falco — решение — видео
- добавлена CKS Lab 29. Perform Docker security configuration — решение — видео
- добавлена CKA Lab 09. Gateway API in Kubernetes — решение — видео
документация ping-pong сервера
🧪 Доступные пробные экзамены:
CKA
CKAD
CKS
KCNA
KCSA
LFCS
Скрипты и видео с решениями экзаменов:
🔥 Выпущена версия 0.20.1 платформы для изучения SRE! 🔥
GitHub
📌 Что нового:
- добавлен подсчёт размеров
headers
, body
и полный размер
запроса в ping_pong server- добавлен body в ответ для методов
POST
и PUT
в ping_pong server - добавлена возможность задавать дополнительный размер в ответ (поумолчанию 0 ) в ping_pong server
- добавлена 1.33 версия K8s в k8s_self_management module.
- добавлена CKS Lab 27. Cilium network policy with mTLS — решение — видео
- добавлена CKS Lab 28. Detect and stop unauthorized access with Falco — решение — видео
- добавлена CKS Lab 29. Perform Docker security configuration — решение — видео
- добавлена CKA Lab 09. Gateway API in Kubernetes — решение — видео
документация ping-pong сервера
🧪 Доступные пробные экзамены:
CKA
CKAD
CKS
KCNA
KCSA
LFCS
Скрипты и видео с решениями экзаменов:
GitHub
GitHub - ViktorUJ/cks: Open-source Platform for learning kubernetes and aws eks and preparation for for Certified Kubernetes…
Open-source Platform for learning kubernetes and aws eks and preparation for for Certified Kubernetes exams (CKA ,CKS , CKAD) - GitHub - ViktorUJ/cks: Open-source Platform for learning kubern...
👍7
Forwarded from Go Library
Graceful Shutdown in Go: Practical Patterns
https://victoriametrics.com/blog/go-graceful-shutdown/index.html
Graceful shutdown in any application generally satisfies three minimum conditions:
1. Close the entry point by stopping new requests or messages from sources like HTTP, pub/sub systems, etc. However, keep outgoing connections to third-party services like databases or caches active.
2. Wait for all ongoing requests to finish. If a request takes too long, respond with a graceful error.
3. Release critical resources such as database connections, file locks, or network listeners. Do any final cleanup.
This article focuses on HTTP servers and containerized applications, but the core ideas apply to all types of applications.
https://victoriametrics.com/blog/go-graceful-shutdown/index.html
Forwarded from Мониторим ИТ
rezolus
Rezolus — это агент для сбора телеметрии производительности Linux, который собирает подробную информацию о поведении системы с помощью инструментария eBPF. Собранные метрики отправляются напрямую в Prometheus.
Репыч на Гитхабе
Документация со списком собираемых метрик
Rezolus — это агент для сбора телеметрии производительности Linux, который собирает подробную информацию о поведении системы с помощью инструментария eBPF. Собранные метрики отправляются напрямую в Prometheus.
Репыч на Гитхабе
Документация со списком собираемых метрик
Forwarded from DevOps&SRE Library
L4-L7 Performance: Comparing LoxiLB, MetalLB, NGINX, HAProxy
https://dev.to/nikhilmalik/l4-l7-performance-comparing-loxilb-metallb-nginx-haproxy-1eh0
As Kubernetes continues to dominate the cloud-native ecosystem, the need for high-performance, scalable, and efficient networking solutions has become paramount. This blog compares LoxiLB with MetalLB as Kubernetes service load balancers and pits LoxiLB against NGINX and HAProxy for Kubernetes ingress. These comparisons mainly focus on performance for modern cloud-native workloads.
https://dev.to/nikhilmalik/l4-l7-performance-comparing-loxilb-metallb-nginx-haproxy-1eh0
🔥1
Forwarded from Мониторим ИТ
Anomaly Detection in Time Series Using Statistical Analysis
Иногда простое пороговое значение работает отлично — например, мониторинг дискового пространства на сервере. Можно просто установить оповещение при оставшихся 10%, и все будет в порядке. То же самое касается отслеживания доступной памяти на сервере.
Но что, если нужно отслеживать что-то вроде поведения пользователей на веб-сайте? Представьте себе, что вы управляете интернет-магазином, где продаете товары. Один из подходов может заключаться в том, чтобы установить минимальный порог для ежедневных продаж и проверять его раз в день. Но что, если что-то пойдет не так, и нужно будет обнаружить проблему гораздо раньше — в течение нескольких часов или даже минут? В этом случае статический порог не справится, потому что активность пользователей колеблется в течение дня. Вот тут-то и вступает в дело обнаружение аномалий. Читать дальше в статье.
❗️Статья на medium.com
Иногда простое пороговое значение работает отлично — например, мониторинг дискового пространства на сервере. Можно просто установить оповещение при оставшихся 10%, и все будет в порядке. То же самое касается отслеживания доступной памяти на сервере.
Но что, если нужно отслеживать что-то вроде поведения пользователей на веб-сайте? Представьте себе, что вы управляете интернет-магазином, где продаете товары. Один из подходов может заключаться в том, чтобы установить минимальный порог для ежедневных продаж и проверять его раз в день. Но что, если что-то пойдет не так, и нужно будет обнаружить проблему гораздо раньше — в течение нескольких часов или даже минут? В этом случае статический порог не справится, потому что активность пользователей колеблется в течение дня. Вот тут-то и вступает в дело обнаружение аномалий. Читать дальше в статье.
❗️Статья на medium.com
👍2❤1
Forwarded from Библиотека Go-разработчика | Golang
📋 Чек-лист по синтаксису Go
Для разработчика на Go важно не только написать работающий код, но и сделать его понятным, чистым и соответствующим идиомам языка.
Составили для вас чек-лист, который поможет ускорить разработку в разы за счёт правильного и чистого кода.
✅ Основы синтаксиса
• Используется правильный package — каждый файл начинается с корректного определения пакета
• Импорты сгруппированы и отсортированы (стандартная библиотека, внешние пакеты, внутренние)
• Константы и переменные объявлены с типами, где это необходимо (
• Используется короткое объявление переменных
✅ Функции и методы
• Функции имеют четкие и понятные имена (глаголы для действий)
• Используется явный возврат значений (не прячем
• Обработка ошибок — всегда проверяется
• Используются именованные возвращаемые значения для улучшения читаемости (по необходимости).
• Методы объявлены с указателем
✅ Циклы и условия
• Циклы
• Используется
• В условных выражениях нет лишних скобок — Go этого не требует.
✅ Структуры и интерфейсы
• Структуры и интерфейсы объявлены с понятными именами.
• Используются теги для JSON, если структура используется для сериализации (
• Методы интерфейса определены минимально и по назначению.
• Композиция структур вместо наследования, где это возможно.
✅ Работа с ошибками
• Ошибки возвращаются явно из функций (
• Используются кастомные типы ошибок или fmt.Errorf с %w для обёртки ошибок.
• Важные ошибки логируются или обрабатываются на уровне вызова.
✅ Чистота кода и стиль
• Форматирование соответствует
• Лишние комментарии и неиспользуемые переменные удалены.
• Функции не слишком длинные — каждая отвечает за одну задачу.
• Использование
• Нет глобальных переменных, если это можно избежать.
✅ Работа с пакетами
• Пакеты не слишком большие, разделены по функционалу.
• Используются правильные уровни видимости: экспортируемые (с большой буквы) и неэкспортируемые элементы.
• Пакеты имеют README с описанием назначения (по возможности).
✅ Оптимизация и производительность
• Используются срезы и карты эффективно (избегаем ненужных копирований).
• Избегается выделение памяти в горячих циклах.
• Используются каналы и горутины с правильным управлением (контекст, тайм-ауты).
✅ Документация
• Публичные функции, типы и пакеты имеют комментарии в формате GoDoc.
• Документы объясняют назначение и использование, а не только перефразируют имена функций.
🐸 Библиотека Go разработчика #буст
Для разработчика на Go важно не только написать работающий код, но и сделать его понятным, чистым и соответствующим идиомам языка.
Составили для вас чек-лист, который поможет ускорить разработку в разы за счёт правильного и чистого кода.
• Используется правильный package — каждый файл начинается с корректного определения пакета
• Импорты сгруппированы и отсортированы (стандартная библиотека, внешние пакеты, внутренние)
• Константы и переменные объявлены с типами, где это необходимо (
var
и const
)• Используется короткое объявление переменных
:=
в локальной области• Функции имеют четкие и понятные имена (глаголы для действий)
• Используется явный возврат значений (не прячем
error
)• Обработка ошибок — всегда проверяется
if err != nil
• Используются именованные возвращаемые значения для улучшения читаемости (по необходимости).
• Методы объявлены с указателем
*Type
для изменения состояния (если нужно).• Циклы
for
написаны лаконично и с понятной логикой (без лишних вложенностей).• Используется
switch
вместо цепочек if-else
там, где это уместно.• В условных выражениях нет лишних скобок — Go этого не требует.
• Структуры и интерфейсы объявлены с понятными именами.
• Используются теги для JSON, если структура используется для сериализации (
json:"fieldName"
).• Методы интерфейса определены минимально и по назначению.
• Композиция структур вместо наследования, где это возможно.
• Ошибки возвращаются явно из функций (
return err
).• Используются кастомные типы ошибок или fmt.Errorf с %w для обёртки ошибок.
• Важные ошибки логируются или обрабатываются на уровне вызова.
• Форматирование соответствует
gofmt
/ goimports
.• Лишние комментарии и неиспользуемые переменные удалены.
• Функции не слишком длинные — каждая отвечает за одну задачу.
• Использование
defer
для освобождения ресурсов и закрытия файлов/соединений.• Нет глобальных переменных, если это можно избежать.
• Пакеты не слишком большие, разделены по функционалу.
• Используются правильные уровни видимости: экспортируемые (с большой буквы) и неэкспортируемые элементы.
• Пакеты имеют README с описанием назначения (по возможности).
• Используются срезы и карты эффективно (избегаем ненужных копирований).
• Избегается выделение памяти в горячих циклах.
• Используются каналы и горутины с правильным управлением (контекст, тайм-ауты).
• Публичные функции, типы и пакеты имеют комментарии в формате GoDoc.
• Документы объясняют назначение и использование, а не только перефразируют имена функций.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Код и Капуста
Обсервабилити
Неплохой гайд по обсервабилити Go приложений
#golang
https://www.lucavall.in/blog/opentelemetry-a-guide-to-observability-with-go
Неплохой гайд по обсервабилити Go приложений
#golang
https://www.lucavall.in/blog/opentelemetry-a-guide-to-observability-with-go
Forwarded from /usr/bin
Шардированный не значит распределённый: что важно знать, когда PostgreSQL становится мало
В основе большинства шардированных решений для PostgreSQL лежит очень простая идея: вместо одного PostgreSQL берут N, где каждый из Postgres'ов отвечает за определённый диапазон ключей таблицы. Знанием об этих диапазонах обладает специальный слой маршрутизации (координатор), который теперь для пользователя становится точкой входа. Слой маршрутизации может как находиться на стороне сервера (Citus-подобные решения), так и быть частью клиентского приложения. Важно понимать, что эти N инстансов PostgreSQL ничего не знают друг о друге и никак не взаимодействуют между собой. Читать дальше на Хабре.
В основе большинства шардированных решений для PostgreSQL лежит очень простая идея: вместо одного PostgreSQL берут N, где каждый из Postgres'ов отвечает за определённый диапазон ключей таблицы. Знанием об этих диапазонах обладает специальный слой маршрутизации (координатор), который теперь для пользователя становится точкой входа. Слой маршрутизации может как находиться на стороне сервера (Citus-подобные решения), так и быть частью клиентского приложения. Важно понимать, что эти N инстансов PostgreSQL ничего не знают друг о друге и никак не взаимодействуют между собой. Читать дальше на Хабре.
❤1
Forwarded from Positive Hack Days Media
Смотрите трансляцию, если не смогли сегодня присоединиться лично.
Также трансляции доступны в «VK Видео» и на Rutube.
@PHDays. 22-24 мая. «Лужники»
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👎1
Forwarded from DevOps&SRE Library
Understanding the 1MB Limit of Etcd in Kubernetes: Challenges with Helm Deployments
https://logeshbalu1998.medium.com/understanding-the-1mb-limit-of-etcd-in-kubernetes-challenges-with-helm-deployments-47ef41f37e9c
https://logeshbalu1998.medium.com/understanding-the-1mb-limit-of-etcd-in-kubernetes-challenges-with-helm-deployments-47ef41f37e9c
Forwarded from Код и Капуста
gRPC
Небольшой туториал как использовать gRPC в кубере
#golang
https://nyadgar.com/posts/scaling-grpc-with-kubernetes-using-go/
Небольшой туториал как использовать gRPC в кубере
#golang
https://nyadgar.com/posts/scaling-grpc-with-kubernetes-using-go/
Forwarded from /usr/bin
Выкрутили автоматизацию на максимум: с чем кроме инвентаризации помог переход на NetBox
В этой статьекровавый крупный энтерпрайз рассказывает о своем опыте использования NetBox. А продукт и правда интересный. Поделитесь в комментариях о своем опыте его использования.
В этой статье
🔥2
Forwarded from Мониторим ИТ
VictoriaMetrics : Effective alerts, from theory to practice
Golden Signals, PromQL/MetricsQL и VMalert. В статье разобраны подходы к алертингу из VM.
Golden Signals, PromQL/MetricsQL и VMalert. В статье разобраны подходы к алертингу из VM.
Forwarded from /usr/bin
Подводные камни при работе с файлами в Linux с примерами на Python
Работа с файлами в Python кажется простой — open, read, write. Но на практике, особенно в системах с высокими требованиями к отказоустойчивости, стабильности и логированию, за банальными строками кода может скрываться целый мир проблем.
В этой статье разобрано, как знание внутренностей Linux может помочь избежать потерь данных и облегчить отладку. Все примеры будут на Python, но применимы к любым языкам, работающим через POSIX-интерфейсы.
Работа с файлами в Python кажется простой — open, read, write. Но на практике, особенно в системах с высокими требованиями к отказоустойчивости, стабильности и логированию, за банальными строками кода может скрываться целый мир проблем.
В этой статье разобрано, как знание внутренностей Linux может помочь избежать потерь данных и облегчить отладку. Все примеры будут на Python, но применимы к любым языкам, работающим через POSIX-интерфейсы.
Forwarded from Человек и машина
#машины_разное
Позавчера закончилась Tech Internals Conf Berlin, и я был рад пообщаться с ветеранами индустрии.
Под конец конфы у нас был форум, посвященный извечному дискурсу «Скорость против Качества», где два лагеря обсуждали, стоит ли делать быстро, или же правильно.
Вне всяких сомнений, ответ на этот вопрос будет «it depends», но к нему есть важное дополнение.
Время - ограниченный ресурс, и тратить его надо на то, что важно и нужно сейчас, а значит, на некоторые недостатки (даже на страницу, которая грузится 15 секунд, да-да, я тебя запомнил!), можно и нужно закрывать глаза.
Интересная и одновременно с этим приятная мудрость придет тогда, когда вы начнете отпускать те маленькие и крупные недостатки, которые уж очень раздражают, но практическая польза от их устранения стремится к нулю.
Если же вы и только вы знаете, насколько это важно и нужно и надо прямо сейчас, я приглашаю вас прочитать хороший пост на тему избавления от острой потребности чинить все, до чего дотянутся руки.
Отвечать за весь мир нет необходимости. :)
Позавчера закончилась Tech Internals Conf Berlin, и я был рад пообщаться с ветеранами индустрии.
Под конец конфы у нас был форум, посвященный извечному дискурсу «Скорость против Качества», где два лагеря обсуждали, стоит ли делать быстро, или же правильно.
Вне всяких сомнений, ответ на этот вопрос будет «it depends», но к нему есть важное дополнение.
Время - ограниченный ресурс, и тратить его надо на то, что важно и нужно сейчас, а значит, на некоторые недостатки (даже на страницу, которая грузится 15 секунд, да-да, я тебя запомнил!), можно и нужно закрывать глаза.
Интересная и одновременно с этим приятная мудрость придет тогда, когда вы начнете отпускать те маленькие и крупные недостатки, которые уж очень раздражают, но практическая польза от их устранения стремится к нулю.
Если же вы и только вы знаете, насколько это важно и нужно и надо прямо сейчас, я приглашаю вас прочитать хороший пост на тему избавления от острой потребности чинить все, до чего дотянутся руки.
Отвечать за весь мир нет необходимости. :)
NotAShelf
The Curse of Knowing How, or; Fixing Everything | Blog
A reflection on control, burnout, and the strange weight of technical fluency.
Forwarded from DevOps FM
Всем DevOps! Деплоим средовую подборку новостей и статей.
⚫️ Обнаружена уязвимость в GitHub MCP-сервере, связанная с ИИ-агентами
Команда Invariant Labs опубликовала исследование уязвимости, которая позволяет злоумышленнику через Issue заставить ИИ-агента слить данные из приватных репозиториев. В отчете продемонстрировано, как атака реализуется на практике и предложены инструменты для обнаружения и предотвращения. Рекомендуем ознакомиться тем, у кого есть ИИ-ассистенты в репозиториях.
🟡 В Grafana появилась поддержка импорта алертов в через UI. Теперь можно перенести алерты из Prometheus, Loki и Mimir в Grafana-managed alerts через UI и API. О ньюансах — в статье.
⚫️ Ракан Аль-Зага опубликовал статью о современных подходах к авторизации. Он объясняет, почему традиционные модели (RBAC, ABAC) не справляются с масштабом микросервисов и мультиоблачной архитектуры и предлагает иные решения: Policy-as-Code и Authorization-as-a-Service.
🟡 Шон Вэбб рассказал о прогрессе внедрения Rust в FreeBSD.
Сейчас в отдельной ветке защищенных сборок FreeBSD уже можно собрать Rust-компоненты, при этом все зависимости лежат локально и собираются с пакетным менеджером Cargo. Поддержка библиотеки
⚫️ Крис Ричардсон выпустил вторую часть серии об аутентификации и авторизации в микросервисной архитектуре. На этот раз речь идёт об аутентификации — проверке личности пользователя. Крис объясняет, зачем микросервисам нужен отдельный IAM-сервис, как работают OAuth 2.0 и OpenID Connect, и как встроить всю эту механику в распределённую систему.
⚫️ Обнаружена уязвимость в GitHub MCP-сервере, связанная с ИИ-агентами
Команда Invariant Labs опубликовала исследование уязвимости, которая позволяет злоумышленнику через Issue заставить ИИ-агента слить данные из приватных репозиториев. В отчете продемонстрировано, как атака реализуется на практике и предложены инструменты для обнаружения и предотвращения. Рекомендуем ознакомиться тем, у кого есть ИИ-ассистенты в репозиториях.
🟡 В Grafana появилась поддержка импорта алертов в через UI. Теперь можно перенести алерты из Prometheus, Loki и Mimir в Grafana-managed alerts через UI и API. О ньюансах — в статье.
⚫️ Ракан Аль-Зага опубликовал статью о современных подходах к авторизации. Он объясняет, почему традиционные модели (RBAC, ABAC) не справляются с масштабом микросервисов и мультиоблачной архитектуры и предлагает иные решения: Policy-as-Code и Authorization-as-a-Service.
🟡 Шон Вэбб рассказал о прогрессе внедрения Rust в FreeBSD.
Сейчас в отдельной ветке защищенных сборок FreeBSD уже можно собрать Rust-компоненты, при этом все зависимости лежат локально и собираются с пакетным менеджером Cargo. Поддержка библиотеки
cdylib
, нескольких программ в одном Makefile
и прочие фичи — в планах.⚫️ Крис Ричардсон выпустил вторую часть серии об аутентификации и авторизации в микросервисной архитектуре. На этот раз речь идёт об аутентификации — проверке личности пользователя. Крис объясняет, зачем микросервисам нужен отдельный IAM-сервис, как работают OAuth 2.0 и OpenID Connect, и как встроить всю эту механику в распределённую систему.
🔥1