Keeping Your Security Model Intact When Running VMs in Kubernetes
https://medium.com/@dillon_b/migrating-vms-on-kubernetes-without-losing-nsx-level-security-1c4027396568
https://medium.com/@dillon_b/migrating-vms-on-kubernetes-without-losing-nsx-level-security-1c4027396568
Forwarded from about:performance
О бенчмаркинге, часть 1
Бенчмаркинг занимает значительную часть моей повседневной работы, поэтому важно понимать его основы, типы и ограничения.
По сути, это способ оценить производительность системы под нагрузкой.
Брендан Грегг в своё время ввёл наглядную терминологию:
* Passive Benchmarking
* Active Benchmarking
———
Passive Benchmarking простой и распространённый подход: настраиваешь окружение, запускаешь нагрузку, получаешь на выходе цифры и в дальнейшем ими руководствуешься.
Но это как раз тот случай, когда «просто» не значит «лучше».
Проблемы таких замеров:
* риск измерить не то, что планировалось изначально
* непонятно, что именно ограничивает производительность
* нельзя отличить систематическое отклонение от шума (об этом позже)
* остаемся без ответа, почему получены именно такие результаты
* сами бенчмарки могут содержать баги, что останется от нас скрыто
В итоге решения на основе таких данных могут оказаться даже хуже, чем если бы данных не было вовсе.
———
В противовес ему стоит Active Benchmarking (AB).
Помимо настройки окружения требуется активное наблюдение за системой во время прогона.
Задача понять:
* то ли мы меряем, что планировали
* что ограничивает производительность
* согласуется ли наблюдаемое поведение с нашей моделью системы
* что нужно изменить, чтобы улучшить результат
AB способен дать более надёжный результат.
Цена этого: более высокие требования к проведению эксперимента. Нужно не только уметь настроить окружение, но и верно интерпретировать наблюдаемое.
Алгоритм:
1. Собрать данные о работе системы, тулинг в помощь (perf, bcc, iostat, bpftrace, tcpdump, ...)
2. Интерпретировать, как реагирует система (методологии USE, RED, off-CPU, TSA, ...)
3. Применять в цикле:
Каждый пункт по отдельности даёт ограниченный эффект, зато вместе позволяет быстрее и увереннее продвигаться вперёд.
———
Вывод
Сырые цифры от Passive Benchmarking могут выглядеть правдоподобно и при этом вести к неверным и дорогим решениям.
Слепо доверяясь им, мы фактически надеемся, что угадали с сетапом с первого раза и учли все нюансы.
Не похоже на надёжную стратегию
Active Benchmarking напротив, позволяет избежать ловушки «бенчмаркаешь A, измеряешь B, делаешь выводы о C».
Цифры, полученные таким методом, поддаются объяснению, их можно оспорить и воспроизвести.
И на них уже можно опираться при принятии инженерных решений.
———
Что почитать
- Active Benchmarking
- CPU Benchmarks and Bad Tinder Dates
- Performance Methodologies
- Producing Wrong Data Without Doing Anything Obviously Wrong (тут может помочь заметка о чтении white paper)
To be continued...
———
Поддержать лайком на Linkedin.
Бенчмаркинг занимает значительную часть моей повседневной работы, поэтому важно понимать его основы, типы и ограничения.
По сути, это способ оценить производительность системы под нагрузкой.
Брендан Грегг в своё время ввёл наглядную терминологию:
* Passive Benchmarking
* Active Benchmarking
———
Passive Benchmarking простой и распространённый подход: настраиваешь окружение, запускаешь нагрузку, получаешь на выходе цифры и в дальнейшем ими руководствуешься.
Но это как раз тот случай, когда «просто» не значит «лучше».
Проблемы таких замеров:
* риск измерить не то, что планировалось изначально
* непонятно, что именно ограничивает производительность
* нельзя отличить систематическое отклонение от шума (об этом позже)
* остаемся без ответа, почему получены именно такие результаты
* сами бенчмарки могут содержать баги, что останется от нас скрыто
«Бенчмаркаешь A, на самом деле измеряешь B, а выводы делаешь о C». ©
В итоге решения на основе таких данных могут оказаться даже хуже, чем если бы данных не было вовсе.
———
В противовес ему стоит Active Benchmarking (AB).
Помимо настройки окружения требуется активное наблюдение за системой во время прогона.
Задача понять:
* то ли мы меряем, что планировали
* что ограничивает производительность
* согласуется ли наблюдаемое поведение с нашей моделью системы
* что нужно изменить, чтобы улучшить результат
AB способен дать более надёжный результат.
Цена этого: более высокие требования к проведению эксперимента. Нужно не только уметь настроить окружение, но и верно интерпретировать наблюдаемое.
Алгоритм:
1. Собрать данные о работе системы, тулинг в помощь (perf, bcc, iostat, bpftrace, tcpdump, ...)
2. Интерпретировать, как реагирует система (методологии USE, RED, off-CPU, TSA, ...)
3. Применять в цикле:
запустил
└─ пронаблюдал
└─ сформулировал гипотезу во что упираемся
└─ проверил в следующем прогоне
└─ повторил
Каждый пункт по отдельности даёт ограниченный эффект, зато вместе позволяет быстрее и увереннее продвигаться вперёд.
———
Вывод
Сырые цифры от Passive Benchmarking могут выглядеть правдоподобно и при этом вести к неверным и дорогим решениям.
Слепо доверяясь им, мы фактически надеемся, что угадали с сетапом с первого раза и учли все нюансы.
Не похоже на надёжную стратегию
Active Benchmarking напротив, позволяет избежать ловушки «бенчмаркаешь A, измеряешь B, делаешь выводы о C».
Цифры, полученные таким методом, поддаются объяснению, их можно оспорить и воспроизвести.
И на них уже можно опираться при принятии инженерных решений.
———
Что почитать
- Active Benchmarking
- CPU Benchmarks and Bad Tinder Dates
- Performance Methodologies
- Producing Wrong Data Without Doing Anything Obviously Wrong (тут может помочь заметка о чтении white paper)
To be continued...
———
Поддержать лайком на Linkedin.
Vibe Coding a Kubernetes Media Server: What I Learned About AI-First Engineering
https://medium.com/@fl.lettner/vibe-coding-a-kubernetes-media-server-what-i-learned-about-ai-first-engineering-88a38224ea5e
https://medium.com/@fl.lettner/vibe-coding-a-kubernetes-media-server-what-i-learned-about-ai-first-engineering-88a38224ea5e
Аудитные логи в облаке — отдельная распределённая система со своими требованиями к надёжности и стоимости хранения, а не «таблица с событиями».
Команда MWS Cloud Platform выложила подробный разбор архитектуры своего сервиса: от библиотеки, которую подключают сервисы облака, до хранилища на Apache Iceberg и движка StarRocks, с объяснением, почему выбрали именно такой набор технологий и где спрятаны неочевидные грабли.
Полезно всем, кто разрабатывает ИБ-инструменты, работает с большим количеством событий или просто интересуется инструментами безопасности в облаке.
Читать статью на Хабре
Команда MWS Cloud Platform выложила подробный разбор архитектуры своего сервиса: от библиотеки, которую подключают сервисы облака, до хранилища на Apache Iceberg и движка StarRocks, с объяснением, почему выбрали именно такой набор технологий и где спрятаны неочевидные грабли.
Полезно всем, кто разрабатывает ИБ-инструменты, работает с большим количеством событий или просто интересуется инструментами безопасности в облаке.
Читать статью на Хабре
CloudnativePG: postgres database the modern way
https://medium.com/@pascal.toepke/cloudnativepg-postgres-database-the-modern-way-6a3bc9cf5eba
https://medium.com/@pascal.toepke/cloudnativepg-postgres-database-the-modern-way-6a3bc9cf5eba
ayaFlow
https://github.com/DavidHavoc/ayaFlow
A high-performance, eBPF-based network traffic analyzer written in Rust. Designed to run as a sidecarless DaemonSet in Kubernetes, providing kernel-native visibility into node-wide network traffic with minimal overhead.
https://github.com/DavidHavoc/ayaFlow
teleskopio
https://github.com/teleskopio/teleskopio
teleskopio is an open-source small and beautiful Web Kubernetes client.
https://github.com/teleskopio/teleskopio
valkey-operator
https://github.com/valkey-io/valkey-operator
A Kubernetes operator for deploying Valkey Clusters and managing their lifecycle.
https://github.com/valkey-io/valkey-operator
diffyml
https://github.com/szhekpisov/diffyml
A fast, structural YAML diff tool with built-in Kubernetes intelligence. One dependency, minimal attack surface, native CI annotations for GitHub, GitLab, and Gitea.
https://github.com/szhekpisov/diffyml
crossview
https://github.com/crossplane-contrib/crossview
A modern React-based dashboard for managing and monitoring Crossplane resources in Kubernetes. Visualize, search, and manage your infrastructure-as-code with ease.
https://github.com/crossplane-contrib/crossview
ingress-nginx-migration
https://github.com/traefik/ingress-nginx-migration
The Ingress NGINX Migration is a tool that analyzes Kubernetes NGINX Ingress resources to help with migration planning to Traefik.
https://github.com/traefik/ingress-nginx-migration
kubevirt-benchmark
https://github.com/portworx/kubevirt-benchmark
A comprehensive, vendor-neutral performance testing toolkit for KubeVirt virtual machines running on OpenShift Container Platform (OCP) or any Kubernetes distribution with KubeVirt.
https://github.com/portworx/kubevirt-benchmark
openchoreo
https://github.com/openchoreo/openchoreo
OpenChoreo is a developer platform for Kubernetes offering development and architecture abstractions, a Backstage-powered developer portal, application CI/CD, GitOps, and observability.
https://github.com/openchoreo/openchoreo
Observability at the Edge: OpenTelemetry in Ingress Controllers
https://www.dash0.com/blog/observability-at-the-edge-opentelemetry-in-ingress-controllers
https://www.dash0.com/blog/observability-at-the-edge-opentelemetry-in-ingress-controllers
browserly
https://github.com/andyzasl/browserly
A smart macOS menu bar app that routes URLs to the right browser based on custom rules.
https://github.com/andyzasl/browserly
5 InfluxDB Alternatives in 2026: An Honest Comparison
https://basekick.net/blog/influxdb-alternatives-2026
https://basekick.net/blog/influxdb-alternatives-2026
Securing CI/CD for an open source project: lessons from Cilium
https://cilium.io/blog/2026/05/06/securing-cicd-open-source-lessons-from-cilium
https://cilium.io/blog/2026/05/06/securing-cicd-open-source-lessons-from-cilium
semble
https://github.com/MinishLab/semble
Semble is a code search library built for agents. It returns the exact code snippets they need instantly, using ~98% fewer tokens than grep+read.
https://github.com/MinishLab/semble
⚠️ Хватит плодить хрупкие скрипты и оставлять дыры для троянов. Пора писать пуленепробиваемый инфраструктурный код.
🎥 Приглашаем на вебинар - Продвинутый Bash
На вебинаре вы узнаете:
- Связка set -euo pipefail навсегда исключит тихое проглатывание ошибок и потерю данных в конвейерах.
- Нативные подстановки Bash заменят тысячи ресурсоемких вызовов sed и сэкономят CPU.
- Регулярный мониторинг системных профилей защитит продакшен от перехвата команд троянами.
- Грамотный перехват сигналов через trap обеспечит безопасное сворачивание процессов при сбоях.
В результате вебинара вы:
- Замените многоуровневые костыли лаконичной логикой на базе ассоциативных массивов.
- Исключите утечки глобальных переменных через жесткую изоляцию областей видимости в функциях.
- Внедрите нативную построчную трассировку скриптов вместо примитивного дебага echo-принтами.
- Начнете напрямую пробрасывать переменные окружения в SystemD-юниты для надежного старта сервисов.
🧠 Открытый урок проходит в преддверии старта курса «Администратор Linux. Продвинутый уровень»
👉 Для участи зарегистрируйтесь: https://vk.cc/cYifdo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, erid: 2VtzqwQGMeg
🎥 Приглашаем на вебинар - Продвинутый Bash
На вебинаре вы узнаете:
- Связка set -euo pipefail навсегда исключит тихое проглатывание ошибок и потерю данных в конвейерах.
- Нативные подстановки Bash заменят тысячи ресурсоемких вызовов sed и сэкономят CPU.
- Регулярный мониторинг системных профилей защитит продакшен от перехвата команд троянами.
- Грамотный перехват сигналов через trap обеспечит безопасное сворачивание процессов при сбоях.
В результате вебинара вы:
- Замените многоуровневые костыли лаконичной логикой на базе ассоциативных массивов.
- Исключите утечки глобальных переменных через жесткую изоляцию областей видимости в функциях.
- Внедрите нативную построчную трассировку скриптов вместо примитивного дебага echo-принтами.
- Начнете напрямую пробрасывать переменные окружения в SystemD-юниты для надежного старта сервисов.
🧠 Открытый урок проходит в преддверии старта курса «Администратор Linux. Продвинутый уровень»
👉 Для участи зарегистрируйтесь: https://vk.cc/cYifdo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, erid: 2VtzqwQGMeg
extenddb
https://github.com/ExtendDB/extenddb
A DynamoDB-compatible API adapter, ExtendDB speaks the DynamoDB wire protocol — any AWS SDK, CLI, or tool that works with DynamoDB works with ExtendDB, unchanged.
https://github.com/ExtendDB/extenddb
Monitoring reliably at scale
https://medium.com/airbnb-engineering/monitoring-reliably-at-scale-ca6483040930
Designing monitoring that works when everything else doesn’t.
https://medium.com/airbnb-engineering/monitoring-reliably-at-scale-ca6483040930