Всем DevOps! Сегодня разберём, как упростить жизнь, если диск внезапно “упирается” в предел.
Когда EBS-том на AWS почти заполняется, большинство команд обновляют размер вручную — через консоль или CLI. Это рутинно, медленно и иногда приводит к задержкам в проде. Автор одного из свежих гайдов показал, как полностью автоматизировать процесс расширения.
Вот ключевые шаги, которые он предлагает:
• Использовать CloudWatch для отслеживания порогового заполнения тома
• С помощью Lambda вызывать скрипт, который увеличивает EBS-объём
• Прописать событие в EventBridge для регулярной проверки
• После изменения размера инициировать расширение на уровне файловой системы
• Настроить уведомления (SNS), чтобы команда знала о срабатывании
Плюс такого подхода — не нужно вмешательство инженера, и томы масштабируются под нагрузку заранее, а не в аварийный момент.
• Не полагайтесь на device names — используйте VolumeId. CloudWatch его не даёт, поэтому лучше резолвить через SSM.
• Выберите один интеграционный паттерн и настройте его корректно (например, Alarm → SNS → Lambda).
• Держите курс на безопасность: уберите “first volume” fallback, добавьте идемпотентность, чёткие алармы и логи.
Итог: автоматизация EBS через алармы работает стабильно. Если правильно продумать интеграцию и добавить защитные проверки, у решения нет минусов — только ускорение и предсказуемость.
#devops #aws #infrastructure
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍9🔥3❤2
Как закрывать риски при смешанных сценариях работы — от трафика до AI-агентов
Сегодня в подборке — практические разборы, где безопасность не отделена от инфраструктуры и масштаба.
🟡 Cloudflare включает защиту без ручных политик
Автоматическое укрепление трафика срабатывает, когда поведение запросов меняется. Не нужно вспоминать про WAF, настраивать исключения или проверять релизы. Подходит командам, где инфраструктура часто обновляется или безопасность не ведётся отдельно.
⚫️ OpenShift и Palo Alto Networks убирают разрыв между VM и контейнерами
Когда Kubernetes и виртуалки живут параллельно, политики безопасности расходятся. Интеграция даёт единый контроль трафика, общие правила и подключение внешней аналитики угроз. Это снижает риск “белых пятен” в сети и облегчает аудит.
🟡 AI-скрейпинг выходит за рамки вспомогательных задач
Авторы разбирают, когда выгодно строить свой стек и когда проще взять готовый сервис. Главный акцент — на утечках, отсутствии контроля запросов и несоответствии нормам, если агенты работают в фоне. Полезно тем, кто запускает LLM-интеграции или аналитику на внешних данных.
#security #cloud #kubernetes #openshift #ai
Сегодня в подборке — практические разборы, где безопасность не отделена от инфраструктуры и масштаба.
🟡 Cloudflare включает защиту без ручных политик
Автоматическое укрепление трафика срабатывает, когда поведение запросов меняется. Не нужно вспоминать про WAF, настраивать исключения или проверять релизы. Подходит командам, где инфраструктура часто обновляется или безопасность не ведётся отдельно.
⚫️ OpenShift и Palo Alto Networks убирают разрыв между VM и контейнерами
Когда Kubernetes и виртуалки живут параллельно, политики безопасности расходятся. Интеграция даёт единый контроль трафика, общие правила и подключение внешней аналитики угроз. Это снижает риск “белых пятен” в сети и облегчает аудит.
🟡 AI-скрейпинг выходит за рамки вспомогательных задач
Авторы разбирают, когда выгодно строить свой стек и когда проще взять готовый сервис. Главный акцент — на утечках, отсутствии контроля запросов и несоответствии нормам, если агенты работают в фоне. Полезно тем, кто запускает LLM-интеграции или аналитику на внешних данных.
#security #cloud #kubernetes #openshift #ai
👍4🔥4❤2
Legacy vs прогресс: как работать с системами прошлого
👤 На Reddit обсудили боль DevOps-инженеров: как работать с системами, которые устарели пять лет назад и блокируют внедрение новых решений.
Каждое обновление с Legacy-системами превращается в квест: старые решения не интегрируются с современными процессами, руководство действует по правилу "не чини, если не сломано", инженеры тратят силы на сопровождение устаревшей инфраструктуры вместо развития.
Что предлагают коллеги?
💬 Что интересно — комментаторы не говорят о том, чтобы переписать систему полностью. В треде они решают проблему через обёртки, автоматизацию, контейнеризацию, постепенное выдавливание и разговор с менеджментом о цифрах, а не эмоциях.
С какими сложностями вы сталкиваетесь при работе с legacy системами?
#devops #reddit #legacy
Каждое обновление с Legacy-системами превращается в квест: старые решения не интегрируются с современными процессами, руководство действует по правилу "не чини, если не сломано", инженеры тратят силы на сопровождение устаревшей инфраструктуры вместо развития.
Что предлагают коллеги?
jbandinixx:если не можешь уничтожить, заставь их работать на тебя. Оберни в API, автоматизируй рутину и устраняй проблемы по частям. Для повторяющихся задач (ввод данных, создание аккаунтов, планирование и т.д.) инструменты вроде Cyberdesk реально помогают снять часть нагрузки.
sysadmintemp: старое редко умирает, потому что всё ещё используется, а новое ПО не покрывает все сценарии. Автоматизируй процессы. У нас была C++ .exe программа, мы обернули её в Python API и загрузили рабочую версию в артефакт-репозиторий. Это позволило разворачивать ПО с актуальным Python-кодом и часто обновлять хост.
elucify: мне понадобилось 3 года, чтобы убедить руководство поменять систему. Менеджменту не нужны проблемы, им нужны решения с цифрами.
sschueller: по-нашему “модернизация” — это упаковать умирающий сервер в Docker и кинуть его в облако.
С какими сложностями вы сталкиваетесь при работе с legacy системами?
#devops #reddit #legacy
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7❤3🔥3👍1💅1
Восстановление служб в автоматическом режиме – обнаружение инцидентов и исправление проблем без ручного вмешательства. Автоматизация операционных процессов решает проблему заполнению томов, снижает количество ошибок расширения PVC и ликвидирует сбои узлов.
Что внедрить первым?
- Экспорт метрик и базовые алерты в тестовом namespace.
- Оператор расширения дискового пространства в dry-run с трассировкой действий.
- Сценарии отказов в staging: full-disk, failed-resize, node-failure.
Что проверить?
- Snapshots перед изменениями.
- Ограничение параллельных операций.
- Метрики эффективности: MTTR, число автопочиненных инцидентов, вмешательств оператора.
📎 Совет: встраивайте автоматизацию с runbooks и audit-логами рядом — так автоматические действия остаются прозрачными и воспроизводимыми. Читайте весь гайд по ссылке.
• Draino — оператор от Planet Labs, который автоматически изолирует и очищает (cordon/drain) узлы Kubernetes, когда они переходят в неработоспособное состояние.
• Volume Expander Operator — проект от Red Hat COP для автоматического расширения Persistent Volumes при достижении порога заполнения.
#devops #kubernetes #storage #autoremediation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6❤3
Привет! Вы в DevOps FM 🚀
Канал про DevOps, администрирование и людей, которые это совершенствуют👍
Наши рубрики:
- Понедельник — Познавательные (#tools #opensource)
- Среда — Информационные дайджесты (#kubernetes #docker)
- Пятница — Развлекательное / пятничное чтиво (#debugging #podcasts)
- Каждые 2 недели — «Партнёр недели» (#партнёрский_пост)
💡 Совет: используйте хештеги для поиска по интересующим темам.
Например, #postgresql, #security, #architecture
Канал про DevOps, администрирование и людей, которые это совершенствуют
Наши рубрики:
- Понедельник — Познавательные (#tools #opensource)
- Среда — Информационные дайджесты (#kubernetes #docker)
- Пятница — Развлекательное / пятничное чтиво (#debugging #podcasts)
- Каждые 2 недели — «Партнёр недели» (#партнёрский_пост)
💡 Совет: используйте хештеги для поиска по интересующим темам.
Например, #postgresql, #security, #architecture
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🏆3🔥1
Авто-ресурсы в Kubernetes, Pulumi NEO и Google MCP: инфраструктура на автопилоте
🔔 Всем срединедельный DevOps! Обсудим свежие апдейты авто-выделения ресурсов в K8s и инструментов GitOps. Полезно тем, кто хочет меньше крутить кластеры вручную.
🟡 Kubernetes 1.34 и динамическое выделение ресурсов
В версии Kubernetes 1.34 кластер сам подбирает ресурсы GPU, CPU и I/O под конкретные задачи — без необходимости заранее прописывать лимиты в PodSpec. Теперь через API можно запрашивать устройства с нужными параметрами (тип GPU, версия CUDA, объём памяти) — и Kubernetes подберёт подходящее оборудование.
Это снижает долю простаивающих ресурсов, особенно при ML- и AI-нагрузках, где требования к железу меняются на лету.
⚫️ Pulumi NEO упрощает GitOps
Pulumi NEO читает IaC-код, сам формирует план изменений инфраструктуры, проверяет его через Policy as Code и применяет. Он понимает зависимости, окружения и может откатывать изменения без ручного kubectl apply. Полезен, когда GitOps-потоки разрастаются, а ручное управление окружениями тормозит релизы.
🟡 Google MCP для баз данных
Google представил MCP Toolbox — серверный набор инструментов, который реализует MCP для безопасной автоматизации доступа к базам данных. SQL-операции задаются декларативно в
#DevOps #Kubernetes #SRE
🟡 Kubernetes 1.34 и динамическое выделение ресурсов
В версии Kubernetes 1.34 кластер сам подбирает ресурсы GPU, CPU и I/O под конкретные задачи — без необходимости заранее прописывать лимиты в PodSpec. Теперь через API можно запрашивать устройства с нужными параметрами (тип GPU, версия CUDA, объём памяти) — и Kubernetes подберёт подходящее оборудование.
Это снижает долю простаивающих ресурсов, особенно при ML- и AI-нагрузках, где требования к железу меняются на лету.
⚫️ Pulumi NEO упрощает GitOps
Pulumi NEO читает IaC-код, сам формирует план изменений инфраструктуры, проверяет его через Policy as Code и применяет. Он понимает зависимости, окружения и может откатывать изменения без ручного kubectl apply. Полезен, когда GitOps-потоки разрастаются, а ручное управление окружениями тормозит релизы.
🟡 Google MCP для баз данных
Google представил MCP Toolbox — серверный набор инструментов, который реализует MCP для безопасной автоматизации доступа к базам данных. SQL-операции задаются декларативно в
tools.yaml , а MCP управляет подключениями, пулами и правами доступа. Поддерживает Cloud SQL, AlloyDB, Spanner, PostgreSQL и MySQL. Система следит за нагрузкой, масштабирует кластеры и перестраивает схемы без ручного вмешательства DBA. Ещё один шаг к инфраструктуре, где всё крутится само.#DevOps #Kubernetes #SRE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5❤2
5 мифов о DevSecOps, из-за которых теряется скорость релизов и контроль над безопасностью
🤝 Сегодня обсудим, почему DevSecOps — не про замедление, бюрократию и ещё один набор инструментов. Разберём 5 мифов, которые мешают это увидеть.
💬 DevSecOps замедляет разработку
Миф: проверки безопасности добавляют фрикцию — значит, релизы будут идти медленнее.
Реальность: скорость падает не из-за DevSecOps, а из-за ручных и разрозненных проверок.
Когда безопасность встроена в CI/CD-поток (например, через автоматические SAST-, SCA- и DAST-сканеры), разработчики получают обратную связь в момент сборки или при коммите — ещё до ревью. Такая интеграция позволяет исправлять уязвимости до того, как они попадут в прод. Например, по данным Veracode, клиенты, использующие Veracode Fix, сокращают время устранения уязвимостей примерно на 92 % по сравнению с ручными подходами.
💬 DevSecOps — это просто ещё один набор инструментов
Миф: купим несколько сканеров, включим проверки — и у нас DevSecOps.
Реальность: сами инструменты ничего не дают без культуры взаимодействия между разработчиками, DevOps и специалистами по безопасности. Если сканеры не интегрированы с CI/CD, issue-трекерами (например, Jira, GitLab Issues) или IDE, безопасность превращается в хаос уведомлений, которые никто не успевает обработать.
💬 Разработчики должны быть экспертами по безопасности
Миф: разработчик должен стать специалистом по кибербезопасности для внедрения DevSecOps.
Реальность: грамотно выстроенный DevSecOps-процесс автоматизирует рутину и даёт понятные подсказки там, где работает разработчик — в IDE (VS Code, IntelliJ), в pull-requestах или пайплайне CI. Безопасность становится частью привычного цикла: написал код → прогнал тесты → получил подсказку по уязвимости → исправил.
💬 DevSecOps не подходит малому бизнесу
Миф: DevSecOps — это история для корпораций с большими бюджетами.
Реальность: DevSecOps можно начать с малого и масштабировать по мере роста.
Даже небольшие команды могут настроить:
- SAST-проверку через бесплатные инструменты — Semgrep, SonarQube Community, Bandit;
- SCA-анализ с помощью OWASP Dependency-Check, Snyk Open Source или GitHub Dependabot.
Малый бизнес выигрывают за счёт гибкости процессов: меньше согласований, быстрее адаптация.
💬 DevSecOps — это только защита от внешних атак
Миф: DevSecOps нужен только для защиты от хакеров и DDoS.
Реальность: DevSecOps охватывает всю цепочку безопасности — от конфигураций инфраструктуры до зависимостей и прав доступа.
#DevSecOps #Security #CICD #Automation
Миф: проверки безопасности добавляют фрикцию — значит, релизы будут идти медленнее.
Реальность: скорость падает не из-за DevSecOps, а из-за ручных и разрозненных проверок.
Когда безопасность встроена в CI/CD-поток (например, через автоматические SAST-, SCA- и DAST-сканеры), разработчики получают обратную связь в момент сборки или при коммите — ещё до ревью. Такая интеграция позволяет исправлять уязвимости до того, как они попадут в прод. Например, по данным Veracode, клиенты, использующие Veracode Fix, сокращают время устранения уязвимостей примерно на 92 % по сравнению с ручными подходами.
Миф: купим несколько сканеров, включим проверки — и у нас DevSecOps.
Реальность: сами инструменты ничего не дают без культуры взаимодействия между разработчиками, DevOps и специалистами по безопасности. Если сканеры не интегрированы с CI/CD, issue-трекерами (например, Jira, GitLab Issues) или IDE, безопасность превращается в хаос уведомлений, которые никто не успевает обработать.
Миф: разработчик должен стать специалистом по кибербезопасности для внедрения DevSecOps.
Реальность: грамотно выстроенный DevSecOps-процесс автоматизирует рутину и даёт понятные подсказки там, где работает разработчик — в IDE (VS Code, IntelliJ), в pull-requestах или пайплайне CI. Безопасность становится частью привычного цикла: написал код → прогнал тесты → получил подсказку по уязвимости → исправил.
Миф: DevSecOps — это история для корпораций с большими бюджетами.
Реальность: DevSecOps можно начать с малого и масштабировать по мере роста.
Даже небольшие команды могут настроить:
- SAST-проверку через бесплатные инструменты — Semgrep, SonarQube Community, Bandit;
- SCA-анализ с помощью OWASP Dependency-Check, Snyk Open Source или GitHub Dependabot.
Малый бизнес выигрывают за счёт гибкости процессов: меньше согласований, быстрее адаптация.
Миф: DevSecOps нужен только для защиты от хакеров и DDoS.
Реальность: DevSecOps охватывает всю цепочку безопасности — от конфигураций инфраструктуры до зависимостей и прав доступа.
#DevSecOps #Security #CICD #Automation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥4👎1
Kubernetes под микроскопом: как SPO видит действия пользователей
👩💻 Всем DevOps! Сегодня поговорим о том, как отслеживать, что происходит внутри контейнеров в Kubernetes. В стандартной конфигурации Kubernetes аудит фиксирует только действия на уровне API: кто применил
🔄 Принцип работы
SPO использует системные источники данных — например,
🔓 Как включить Security Profiles Operator?
- Установите cert-manager
Он нужен для автоматического управления сертификатами, используемыми SPO.
- Разверните Security Profiles Operator
Используйте официальный манифест из подборки репозиториев.
- Настройте хранение логов
SPO может сохранять логи: локально на узле (по умолчанию в
- Включите JSON Enricher
Он обогащает события дополнительной информацией о процессе.
- Настройте seccomp-профиль для отслеживания системных вызовов
Он фиксирует вызовы вроде
📎Репозитории с инструкциями по установке:
audit-logging-guide — описывает, как включить аудит действий внутри pod’ов и узлов через Security Profiles Operator.
installation-usage — показывает, как установить Security Profiles Operator и применить seccomp-профили к pod’ам.
С SPO вы поймете, что произошло, почему и кем было сделано — без лишней нагрузки и сложных интеграций.
#devops #kubernetes #spo
kubectl exec или kubectl debug. Что именно происходило внутри pod’а после входа в контейнер увидеть нельзя. Эту проблему решает Security Profiles Operator (SPO) — отслеживайте действия пользователей и процессов внутри pod’ов и на узлах.SPO использует системные источники данных — например,
/var/log/audit/audit.log и /proc/<pid>. Каждое событие записывается в JSON-формате, а JSON Enricher связывает его с соответствующим API-запросом через request UID. Это позволяет восстановить полную цепочку: API-запрос → контейнер → процесс → результат- Установите cert-manager
Он нужен для автоматического управления сертификатами, используемыми SPO.
- Разверните Security Profiles Operator
Используйте официальный манифест из подборки репозиториев.
- Настройте хранение логов
SPO может сохранять логи: локально на узле (по умолчанию в
/var/log/security-profiles-operator/ ), в общем томе (PVC), или выводить в stdout — удобно для интеграции с системами сбора логов вроде Loki или Elasticsearch;- Включите JSON Enricher
Он обогащает события дополнительной информацией о процессе.
- Настройте seccomp-профиль для отслеживания системных вызовов
Он фиксирует вызовы вроде
execve и clone, а объект ProfileBinding применяет профиль ко всем pod’ам в выбранном пространстве имён ( namespace ).📎Репозитории с инструкциями по установке:
audit-logging-guide — описывает, как включить аудит действий внутри pod’ов и узлов через Security Profiles Operator.
installation-usage — показывает, как установить Security Profiles Operator и применить seccomp-профили к pod’ам.
С SPO вы поймете, что произошло, почему и кем было сделано — без лишней нагрузки и сложных интеграций.
#devops #kubernetes #spo
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍11🔥5❤4
Инфраструктура на автопилоте: Java 2025 и новые инструменты
🔄 В середине этой недели обсудим релизы в экосистеме Java — Jakarta Query стандартизирует работу с данными, Spring AI учится общаться через MCP, а Open Liberty получает автозависимости и патчи. Если в проектах не хватает автоматизации — самое время взглянуть на новые инструменты Java 2025.
🟡 Jakarta Query: единый язык запросов для Java-приложений
Jakarta EE готовится к включению нового Jakarta Query — стандартизированного языка запросов, который объединяет Jakarta Persistence Query Language (JPQL) и Jakarta Data Query Language (JDQL). Разработчик теперь может описывать запросы на уровне объектов, а платформа сама преобразует их в SQL или другой язык конкретного хранилища. Это делает код переносимым и позволяет писать запросы единообразно — независимо от используемой базы данных.
⚫️ Spring AI 1.1: протокол MCP и интеграция с облачными памятью и БД
Spring AI получил обновление с поддержкой Model Context Protocol (MCP) — теперь приложения могут безопасно делиться контекстом между AI-модулями, сервисами и хранилищами. Добавлены интеграции с Azure Cosmos DB и GemFire, улучшено управление метаданными и обработкой чатов.
🟡 Open Liberty 25.0.0.10: управление зависимостями и патчи безопасности
В новой версии Open Liberty появилась поддержка JDK 25 и настройка
Это упрощает изоляцию и обновление зависимостей без перекомпиляции приложений — полезно при CI/CD-потоках с микросервисами. Исправлена уязвимость CVE-2020-36732 в библиотеке
🚀 Java 2025 всё больше похожа на инфраструктуру, которая управляется через код:
запросы — декларативно, интеграции — модульно, обновления — без боли
Дайте знать, что думаете об инструментах Java в комментариях💬
#Java #SpringAI #JakartaEE #OpenLiberty
🟡 Jakarta Query: единый язык запросов для Java-приложений
Jakarta EE готовится к включению нового Jakarta Query — стандартизированного языка запросов, который объединяет Jakarta Persistence Query Language (JPQL) и Jakarta Data Query Language (JDQL). Разработчик теперь может описывать запросы на уровне объектов, а платформа сама преобразует их в SQL или другой язык конкретного хранилища. Это делает код переносимым и позволяет писать запросы единообразно — независимо от используемой базы данных.
⚫️ Spring AI 1.1: протокол MCP и интеграция с облачными памятью и БД
Spring AI получил обновление с поддержкой Model Context Protocol (MCP) — теперь приложения могут безопасно делиться контекстом между AI-модулями, сервисами и хранилищами. Добавлены интеграции с Azure Cosmos DB и GemFire, улучшено управление метаданными и обработкой чатов.
🟡 Open Liberty 25.0.0.10: управление зависимостями и патчи безопасности
В новой версии Open Liberty появилась поддержка JDK 25 и настройка
overrideLibraryRef, что позволяет библиотекам перекрывать классы приложения.Это упрощает изоляцию и обновление зависимостей без перекомпиляции приложений — полезно при CI/CD-потоках с микросервисами. Исправлена уязвимость CVE-2020-36732 в библиотеке
crypto-js, улучшена работа с Node-зависимостями и класс-лоадером.запросы — декларативно, интеграции — модульно, обновления — без боли
Дайте знать, что думаете об инструментах Java в комментариях
#Java #SpringAI #JakartaEE #OpenLiberty
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6🔥4❤3
Пятничная подборка подкастов: от AI в инфраструктуре до архитектурных решений
🗣 В эту пятницу будет, что послушать DevOps-инженеру. Делимся свежей подборкой подкастов.
⏺Готова ли инфраструктура к AI? Разбираем на практике — DevOps Paradox #319
Ведущие Дарин Поуп и Виктор Фарчик подчеркивают, разницу между ожиданиями разработчиков AI-платформ и реальностью на примере кейсов. Главным барьером в работе они называют отсутствие опыта взаимодействия с агентами и векторными базами данных.
⏺Workload identity: меньше ручного контроля, больше прозрачности — Day Two DevOps #284
Ведущий Нед Беллаванс и гость Кристиан Поста обсуждают, как сервисы и агенты взаимодействуют между собой без участия человека. Разбирают, как работают workload identities — цифровые удостоверения, по которым системы подтверждают подлинность и права доступа друг к другу.
⏺Лидерство и инженерные решения — Azure & DevOps Podcast
Джимас Стейли беседует с Джонатаном Джей Тауэром, Microsoft MVP и основателем Trailhead Technology Partners о том, как техническим лидерам принимать осознанные решения, исходя из целей продукта. Говорят о кейсе, в котором отказ от микросервисов в пользу простой архитектуры ускорил релизы и снизил затраты на поддержку.
👍 Пусть сервисы не падают, а кофе не заканчивается! Хороших выходных и приятного прослушивания.
#devops #подкаст #AI #лидерство
⏺Готова ли инфраструктура к AI? Разбираем на практике — DevOps Paradox #319
Ведущие Дарин Поуп и Виктор Фарчик подчеркивают, разницу между ожиданиями разработчиков AI-платформ и реальностью на примере кейсов. Главным барьером в работе они называют отсутствие опыта взаимодействия с агентами и векторными базами данных.
⏺Workload identity: меньше ручного контроля, больше прозрачности — Day Two DevOps #284
Ведущий Нед Беллаванс и гость Кристиан Поста обсуждают, как сервисы и агенты взаимодействуют между собой без участия человека. Разбирают, как работают workload identities — цифровые удостоверения, по которым системы подтверждают подлинность и права доступа друг к другу.
⏺Лидерство и инженерные решения — Azure & DevOps Podcast
Джимас Стейли беседует с Джонатаном Джей Тауэром, Microsoft MVP и основателем Trailhead Technology Partners о том, как техническим лидерам принимать осознанные решения, исходя из целей продукта. Говорят о кейсе, в котором отказ от микросервисов в пользу простой архитектуры ускорил релизы и снизил затраты на поддержку.
#devops #подкаст #AI #лидерство
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🔥5❤3
Макросы в коде: что стоит учитывать при ревью и CI/CD
👩💻 Линус Торвальдс прошёлся по коду, где был предложен макрос
Как улучшить код и ревью
⏺ Используйте явную запись
Прямое выражение показывает порядок и логику:
⏺ Добавляйте абстракции только при необходимости
Макросы и функции избавляют от дублирования или повышают безопасность, а не просто «упаковывают» очевидные выражения.
⏺ Следите за переносимостью
Добавляйте приведения типов и маскирование, чтобы избежать ошибок на разных архитектурах:
⏺ Сохраняйте ясность и локальность изменений
Если нужна общая утилита — поместите её в отдельный модуль и документируйте назначение. Так, вы снижаете вероятность конфликтов и улучшаете читаемость кода.
⏺ Используйте ИИ-инструменты осознанно
Генераторы кода (ChatGPT, Gemini и пр.) могут предложить готовое решение, но итоговый вариант важно проверять: читаемость, переносимость, соответствие стилю проекта — всё это остаётся задачей разработчика.
Даже небольшие абстракции требуют осознанного подхода.
Если операция проста, прозрачна и понятна, лучше записать её явно. Так, код становится надёжнее, ревью — быстрее, а CI/CD-процессы — стабильнее.
#DevOps #Linux #CICD
make_u32_from_two_u16()— инструмент для объединения двух 16-битных чисел в одно 32-битное. На первый взгляд, решение удобно, но Линус назвал реализацию "мусорной": такая абстракция усложняет понимание и сопровождение кода.Как улучшить код и ревью
Прямое выражение показывает порядок и логику:
((uint32_t)a << 16) | (uint32_t)b
Макросы и функции избавляют от дублирования или повышают безопасность, а не просто «упаковывают» очевидные выражения.
Добавляйте приведения типов и маскирование, чтобы избежать ошибок на разных архитектурах:
#define MAKE_U32_FROM_TWO_U16(high, low) \
(((uint32_t)(high) << 16) | ((uint32_t)(low) & 0xFFFF))
Если нужна общая утилита — поместите её в отдельный модуль и документируйте назначение. Так, вы снижаете вероятность конфликтов и улучшаете читаемость кода.
Генераторы кода (ChatGPT, Gemini и пр.) могут предложить готовое решение, но итоговый вариант важно проверять: читаемость, переносимость, соответствие стилю проекта — всё это остаётся задачей разработчика.
Даже небольшие абстракции требуют осознанного подхода.
Если операция проста, прозрачна и понятна, лучше записать её явно. Так, код становится надёжнее, ревью — быстрее, а CI/CD-процессы — стабильнее.
#DevOps #Linux #CICD
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍4🔥3❤2
Helm исполнилось 10 лет!
🔅 Это повод вспомнить, как всё начиналось.
Идея родилась во время хакатона: за полтора дня Мэтт Бутчер создал CLI-утилиту для взаимодействия с Kubernetes, Джэк Норман разработал серверный прототип менеджера пакетов k8space, а Римантас Моцевичюс подготовил первый чарт — набор шаблонов YAML.
19 октября 2015 года был сделан первый коммит. Так появился внутренний проект Helm Classic, который объединили с Google Deployment Manager. После этого появился Helm, знакомый нам сегодня.
За десять лет инструмент прошёл путь от прототипа до полноценной экосистемы с поддержкой:
• чартов (пакетов с шаблонами YAML)
• системы репозиториев и версионирования
• шаблонизации и параметров конфигурации
• управления релизами и откатами
• интеграции в CI/CD
В 2018 году проект вошёл в состав CNCF и продолжил развиваться как одно из ключевых решений для cloud-native инфраструктур.
О названии.
🖼️ Выбор был сделан не случайно: helm – «штурвал». Kubernetes казался штормовым морем, а инструмент – помощником в управлении.
Для тех, кто любит погружаться в историю – советуем прочесть очерк сооснователя, путь от альфы до v4 Beta Glory.
Хороших выходных и спокойного дежурства! ⚓️
#devops #kubernetes #helm
Идея родилась во время хакатона: за полтора дня Мэтт Бутчер создал CLI-утилиту для взаимодействия с Kubernetes, Джэк Норман разработал серверный прототип менеджера пакетов k8space, а Римантас Моцевичюс подготовил первый чарт — набор шаблонов YAML.
19 октября 2015 года был сделан первый коммит. Так появился внутренний проект Helm Classic, который объединили с Google Deployment Manager. После этого появился Helm, знакомый нам сегодня.
За десять лет инструмент прошёл путь от прототипа до полноценной экосистемы с поддержкой:
• чартов (пакетов с шаблонами YAML)
• системы репозиториев и версионирования
• шаблонизации и параметров конфигурации
• управления релизами и откатами
• интеграции в CI/CD
В 2018 году проект вошёл в состав CNCF и продолжил развиваться как одно из ключевых решений для cloud-native инфраструктур.
О названии.
Для тех, кто любит погружаться в историю – советуем прочесть очерк сооснователя, путь от альфы до v4 Beta Glory.
Хороших выходных и спокойного дежурства! ⚓️
#devops #kubernetes #helm
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9❤5
Docker vs. Kubernetes — от изолированных контейнеров к единой среде
🔄 Сегодня разбираем, почему одного контейнера недостаточно для обмена данными между процессами внутри Pod.
Контейнер запускает приложение как отдельный процесс: отдельный сетевой стек (IP, интерфейсы и маршруты), своё PID-пространство и управление ресурсами через cgroups (CPU и память). Эти механизмы изолируют и сохраняют предсказуемость работы — один процесс, один контейнер.
На практике несколько процессов работают параллельно, обмениваются данными и используют общие ресурсы. Например, основной контейнер выполняет приложение, а вспомогательный (sidecar) собирает логи, проксирует трафик или ведёт метрики.
📱 В статье от iximiuz Labs дан подробный разбор того, как Kubernetes реализует Pods на уровне Linux и можно ли воспроизвести функциональность Pod в чистом Docker.
Спойлер: можно, если вручную подключить сетевые и IPC namespace, но не всё получится — UTS, например, остаётся изолированным.
Полный разбор здесь⬅️ , а ниже — практика от iximiuz Labs
• Run a Sidecar Container in the Namespace of Another Container— проверь, как контейнеры делят namespace, как в Pod.
• Limit CPU and Memory Usage of a Docker Compose Application — узнай, как задать лимиты CPU и памяти через cgroups.
#devops #kubernetes #containers #pods
Контейнер запускает приложение как отдельный процесс: отдельный сетевой стек (IP, интерфейсы и маршруты), своё PID-пространство и управление ресурсами через cgroups (CPU и память). Эти механизмы изолируют и сохраняют предсказуемость работы — один процесс, один контейнер.
На практике несколько процессов работают параллельно, обмениваются данными и используют общие ресурсы. Например, основной контейнер выполняет приложение, а вспомогательный (sidecar) собирает логи, проксирует трафик или ведёт метрики.
Спойлер: можно, если вручную подключить сетевые и IPC namespace, но не всё получится — UTS, например, остаётся изолированным.
Полный разбор здесь
• Run a Sidecar Container in the Namespace of Another Container— проверь, как контейнеры делят namespace, как в Pod.
• Limit CPU and Memory Usage of a Docker Compose Application — узнай, как задать лимиты CPU и памяти через cgroups.
#devops #kubernetes #containers #pods
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥4
От Talos до Vault: обзор обновлений инфраструктуры и секретов
Срединедельный DevOps! Публикуем дайджест релизов и новостей.
⚫️ Talos OS и Kubernetes: операционная выгода и риски
SNCF разворачивает Kubernetes с Talos OS в OpenStack, чтобы повысить безопасность узлов, стандартизировать образы и упростить автоматизированное развертывание. Переход потребовал создания новых облачных команд и внедрения практик GitOps с неизменяемой инфраструктурой. Подробнее в статье.
🟡 Разбираем Vault 1.21 — SPIFFE, VSO и granular recovery в действии
Vault 1.21 добавил SPIFFE-аутентификацию для рабочих нагрузок без участия инженеров, детализированное восстановление секретов (granular secret recovery), настройку TOTP и защищённую выдачу секретов через VSO — доставку данных в поды без сохранения в etcd. Среди улучшений — движение к сертификации FIPS 140-3 уровня 1. Разбираем, как Vault 1.21 меняет подход к управлению идентичностями и секретами.
⚫️ Корпоративная почта — быстрый техобзор и что проверить
Обновлённое руководство: читаем зачем бизнесу доменная почта, как выбрать между облачным сервисом, хостингом и собственным сервером, а также какие настройки помогают избежать попадания писем в спам. Для DevOps-специалистов полезно с точки зрения конфигурации DNS, контроля безопасности и стабильности почтовой инфраструктуры. Что проверить – в статье.
🔓 Безопасных запусков и прозрачного управления секретами
#DevOps #Vault #TLS #EmailSecurity
Срединедельный DevOps! Публикуем дайджест релизов и новостей.
⚫️ Talos OS и Kubernetes: операционная выгода и риски
SNCF разворачивает Kubernetes с Talos OS в OpenStack, чтобы повысить безопасность узлов, стандартизировать образы и упростить автоматизированное развертывание. Переход потребовал создания новых облачных команд и внедрения практик GitOps с неизменяемой инфраструктурой. Подробнее в статье.
🟡 Разбираем Vault 1.21 — SPIFFE, VSO и granular recovery в действии
Vault 1.21 добавил SPIFFE-аутентификацию для рабочих нагрузок без участия инженеров, детализированное восстановление секретов (granular secret recovery), настройку TOTP и защищённую выдачу секретов через VSO — доставку данных в поды без сохранения в etcd. Среди улучшений — движение к сертификации FIPS 140-3 уровня 1. Разбираем, как Vault 1.21 меняет подход к управлению идентичностями и секретами.
⚫️ Корпоративная почта — быстрый техобзор и что проверить
Обновлённое руководство: читаем зачем бизнесу доменная почта, как выбрать между облачным сервисом, хостингом и собственным сервером, а также какие настройки помогают избежать попадания писем в спам. Для DevOps-специалистов полезно с точки зрения конфигурации DNS, контроля безопасности и стабильности почтовой инфраструктуры. Что проверить – в статье.
#DevOps #Vault #TLS #EmailSecurity
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3👍2
Какие призраки прячутся в API?
В прошлом мы рассказывали о зомби-ресурсах, сегодня поговорим о приведениях.
👻 Призрачные API — это эндпоинты, о которых команда уже не помнит: устаревшие версии API, тестовые и предрелизные окружения, временные debug -эндпоинты, внутренние маршруты, неиспользуемые SDK-колбэки или микросервисы без владельца. Такие точки входа остаются живыми, но не попадают в мониторинг и тесты — поэтому злоумышленники ищут их в первую очередь.
Как обнаружить:
• анализ кода и скрытых маршрутов;
• перебор и сравнение версий API;
• следы в логах, документации и старых тестах.
Как изгнать:
• Инвентаризация: централизованный каталог API (Swagger/OpenAPI, Postman).
• Политика «Убей, не прячь»: полностью удаляйте ненужные маршруты, не переименовывайте.
• Владение: у каждого эндпойнта — владелец и SLA; без владельца — автоматическое выключение.
👀 Подробности читайте в статье Medium
Делимся подборкой инструментов-охотников:
Pluto — CLI-утилита для обнаружения устаревших/удалённых версий API в Kubernetes-манифестах или кластере
Kubent — аналогично Pluto, CLI-инструмент для K8s. Проверяет кластер и исходники на использование Ghost=deprecated API
👻 Пусть ваши релизы проходят без мёртвого кода и призрачных эндпойнтов
#DevOps #Security #API
В прошлом мы рассказывали о зомби-ресурсах, сегодня поговорим о приведениях.
Как обнаружить:
• анализ кода и скрытых маршрутов;
• перебор и сравнение версий API;
• следы в логах, документации и старых тестах.
Как изгнать:
• Инвентаризация: централизованный каталог API (Swagger/OpenAPI, Postman).
• Политика «Убей, не прячь»: полностью удаляйте ненужные маршруты, не переименовывайте.
• Владение: у каждого эндпойнта — владелец и SLA; без владельца — автоматическое выключение.
Делимся подборкой инструментов-охотников:
Pluto — CLI-утилита для обнаружения устаревших/удалённых версий API в Kubernetes-манифестах или кластере
Kubent — аналогично Pluto, CLI-инструмент для K8s. Проверяет кластер и исходники на использование Ghost=deprecated API
#DevOps #Security #API
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8❤6🔥6
mypy в Python: типизация и контроль скриптов
👩💻 Сегодня обсудим, как встроить ad-hoc скрипты из ~/bin в предсказуемую и проверяемую автоматизацию. В статье Simple Thread Джо Понд дал руководство по снижению риска ошибок.
В чем кроется проблема?
• Скрипт удобен, но непредсказуем: ошибки типов проявляются только во время выполнения.
• Без явных контрактов функций рефакторинг становится рискованным, растёт технический долг.
• Чем больше людей правят код, тем выше риск регресса и скрытых багов в проде.
Какие решения?
Пошаговое улучшение надежности кода: добавьте статическую типизацию через mypy, управляйте зависимостями через Poetry и запускайте проверки в CI. Так, вы постепенно укрепляете код и минимизируете риски, когда проект расширяется и подключаются новые разработчики.
Как внедрить?
Проверка типов на старте — один файл за раз
• Добавьте в dev-dependencies:
• Запустите проверку для конкретного файла:
Так, вы находите баги до запуска и спокойно приступаете к следующему шагу.
Добавьте mypy в CI/CD
• Создайте окружение через Poetry и проверьте проект mypy
Типы проверяются в пайплайне: ошибки останавливают merge и защищают main branch от багов.
Мигрируйте постепенно
• Переносите типизацию модуль за модулем, начинайте с ключевых утилит и точек входа.
• Нет необходимости переписывать весь проект сразу — можно внедрять статическую проверку там, где она реально нужна.
Для желающих узнать историю развития Python рекомендуем прочесть статью здесь👈
Делимся подборкой репозиториев:
👩💻 python/mypy — анализирует типы для Python, реализует PEP 484. Нужен как эталонный инструмент для проверки контрактов и постепенной типизации кода.
👩💻 tsuyoshicho/action-mypy — готовая GitHub Action для запуска mypy в CI; поддерживает вывод в формате JSON, удобно для интеграции с reviewdog и системами агрегации ошибок
#devops #python #mypy
В чем кроется проблема?
• Скрипт удобен, но непредсказуем: ошибки типов проявляются только во время выполнения.
• Без явных контрактов функций рефакторинг становится рискованным, растёт технический долг.
• Чем больше людей правят код, тем выше риск регресса и скрытых багов в проде.
Какие решения?
Пошаговое улучшение надежности кода: добавьте статическую типизацию через mypy, управляйте зависимостями через Poetry и запускайте проверки в CI. Так, вы постепенно укрепляете код и минимизируете риски, когда проект расширяется и подключаются новые разработчики.
Как внедрить?
Проверка типов на старте — один файл за раз
• Добавьте в dev-dependencies:
poetry add --group dev mypy
• Запустите проверку для конкретного файла:
poetry run mypy main.py
Так, вы находите баги до запуска и спокойно приступаете к следующему шагу.
Добавьте mypy в CI/CD
• Создайте окружение через Poetry и проверьте проект mypy
poetry run mypy .
Типы проверяются в пайплайне: ошибки останавливают merge и защищают main branch от багов.
Мигрируйте постепенно
• Переносите типизацию модуль за модулем, начинайте с ключевых утилит и точек входа.
• Нет необходимости переписывать весь проект сразу — можно внедрять статическую проверку там, где она реально нужна.
Для желающих узнать историю развития Python рекомендуем прочесть статью здесь
Делимся подборкой репозиториев:
#devops #python #mypy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥10👍5❤4
Что нового в релизах и инструментах: Vitess, Copilot и Monarch
🚀 Традиционно публикуем срединедельный дайджест новостей, чтобы оставаться в курсе важных обновлений.
⚫️ Vitess 23.0.0 — операционная наблюдаемость и стабильное масштабирование
Команда Vitess представила новую основную версию популярного CNCF-проекта для масштабируемых MySQL-кластеров. Релиз Vitess 23.0.0 продолжает линию версии 22 и направлен на упрощение развертывания, повышение стабильности и наблюдаемости в больших инфраструктурах: переход на MySQL 8.4.6; TransactionsProcessed для VTGate, SkippedRecoveries для VTOrc. Подробности обновления читайте в статье блога CNCF.
🟡 GitHub Copilot CLI: ускорение работы с репозиториями
В Copilot добавлена поддержка CLI с доступом к репозиториям, возможностью редактировать файлы, запускать команды и интеграцией с GitHub через учётную запись. Параллельно представлены Copilot Spaces Copilot Spaces — контекстные «пространства» с документацией, примерами и задачами, которые дают агенту релевантный контекст для команды и ускоряют онбординг; CLI и Spaces поддерживают MCP-серверы и смену модели. Всё про GitHub Copilot CLI и Spaces здесь.
⚫️ PyTorch — Monarch упрощает разработку распределённых ML-программ
PyTorch представила Monarch — фреймворк для распределённого программирования, который позволяет работать с целыми кластерами GPU. Monarch упрощает разработку распределённых ML-программ: код остаётся похожим на обычный Python/PyTorch-скрипт, при этом масштабируется на тысячи GPU, облегчая написание распределённых алгоритмов, обработку сбоев и управление ресурсами. Читайте статью здесь.
Стабильных кластеров и эффективного онбординга команды!🤝
#Vitess #Observability #Copilot
⚫️ Vitess 23.0.0 — операционная наблюдаемость и стабильное масштабирование
Команда Vitess представила новую основную версию популярного CNCF-проекта для масштабируемых MySQL-кластеров. Релиз Vitess 23.0.0 продолжает линию версии 22 и направлен на упрощение развертывания, повышение стабильности и наблюдаемости в больших инфраструктурах: переход на MySQL 8.4.6; TransactionsProcessed для VTGate, SkippedRecoveries для VTOrc. Подробности обновления читайте в статье блога CNCF.
🟡 GitHub Copilot CLI: ускорение работы с репозиториями
В Copilot добавлена поддержка CLI с доступом к репозиториям, возможностью редактировать файлы, запускать команды и интеграцией с GitHub через учётную запись. Параллельно представлены Copilot Spaces Copilot Spaces — контекстные «пространства» с документацией, примерами и задачами, которые дают агенту релевантный контекст для команды и ускоряют онбординг; CLI и Spaces поддерживают MCP-серверы и смену модели. Всё про GitHub Copilot CLI и Spaces здесь.
⚫️ PyTorch — Monarch упрощает разработку распределённых ML-программ
PyTorch представила Monarch — фреймворк для распределённого программирования, который позволяет работать с целыми кластерами GPU. Monarch упрощает разработку распределённых ML-программ: код остаётся похожим на обычный Python/PyTorch-скрипт, при этом масштабируется на тысячи GPU, облегчая написание распределённых алгоритмов, обработку сбоев и управление ресурсами. Читайте статью здесь.
Стабильных кластеров и эффективного онбординга команды!
#Vitess #Observability #Copilot
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6👍5❤3
Когда стоит внедрять mypy в Python-проект?
👤 В продолжении темы поста о типизации и контроле скриптов, публикуем обсуждение на Reddit: имеет ли смысл подключать type hints и mypy или проще с самого начала выбрать язык со статической типизацией?
Что говорят коллеги?
💬 Итак, никаких категоричных решений, только прагматичный подход: продолжайте использовать Python из-за широкой экосистемы и доступности специалистов, а type hints и mypy внедряйте по случаю, когда проект масштабируется, растёт команда и требуется предсказуемость.
На каких этапах вы внедряете type hints и mypy?
#Python #mypy #reddit
Что говорят коллеги?
Tinche_: Невозможно свести всё к одному аргументу — слишком много переменных. Python — не только про динамическую типизация. Был у меня случай, руководил крупным проектом с десятками миллионов долларов прибыли. В ходе работы я мигрировал от неаннотированного кода к почти полной типизации на уровне аннотаций с mypy. Получил с этого плюшки, но для такого перехода опыт и план обязательны
IWasGettingThePaper: Типы не устраняют баги навсегда и не заменяют тесты. MyPy помогает выявить часть ошибок, не так много, как хотелось бы, и улучшает читаемость кода, но статическая проверка — не серебряная пуля
DadAndDominant: Как человек не рождается взрослым, так и компании развиваются постепенно. На старте важнее всего быстрое прототипирование, пусть даже что-то работает лишь в 90% случаев — это всё равно позволяет выпускать продукт.
Когда проект разрастается, увеличивается кодовая база, нанимаются новые люди, а технический долг начинает съедать время разработчиков, приходят автоматические тесты, гайды по стилю и mypy — без них уже сложнее нормально релизить.
Ну и есть другие факторы при выборе языка, так что всё зависит от контекста.
На каких этапах вы внедряете type hints и mypy?
#Python #mypy #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤6👍5🔥4
В гостях хорошо, а дома Astra Linux
⌨️ Мир меняется, и мы уже наблюдаем переход с зарубежного софта на российские программные разработки. Сегодня поговорим об одной из альтернатив: отечественная ОС Astra Linux.
В чём особенность?
Astra Linux – первая в топ-5 ОС по результатам рейтинга cnews. Из параметров оценки у Астры высокое количество партнерских совместимых программных продуктов, максимальный уровень безопасности (ФСТЭК), что обеспечивает стабильность работы ИТ-структур. Ключевая особенность Astra Linux — она сертифицирована как СЗИ в достаточно свежей версии, что выгодно отличает её от других отечественных вендоров, у которых сертификация обычно отстаёт.
❔ В каких вариантах представлена?
Важно отметить, что Astra Linux Common Edition — это ОС общего пользования, которая всё ещё доступна для физических лиц, но уже неактуальна и не получает обновлений: она основана на Debian 9. Эта версия больше не поддерживается официально и сегодня может служить инструментом для ознакомления с экосистемой Astra Linux .
Astra Linux Special Edition, ОС специального назначения, актуальный коммерческий вариант. Для желающих узнать об установке, настройке и сопровождении – справочная здесь. Ниже речь пойдет именно об этом варианте ОС.
📎Что дальше?
Как осуществить индивидуальную настройку пользователей читайте тут
Данные о настройке модемного подключения найдёте здесь
Что думаете об отечественных ОС? Насколько интересны обзоры Альта, Ред ОС и ОСновы?
#AstraLinux #обзор #отечественнаяОС
В чём особенность?
Astra Linux – первая в топ-5 ОС по результатам рейтинга cnews. Из параметров оценки у Астры высокое количество партнерских совместимых программных продуктов, максимальный уровень безопасности (ФСТЭК), что обеспечивает стабильность работы ИТ-структур. Ключевая особенность Astra Linux — она сертифицирована как СЗИ в достаточно свежей версии, что выгодно отличает её от других отечественных вендоров, у которых сертификация обычно отстаёт.
Важно отметить, что Astra Linux Common Edition — это ОС общего пользования, которая всё ещё доступна для физических лиц, но уже неактуальна и не получает обновлений: она основана на Debian 9. Эта версия больше не поддерживается официально и сегодня может служить инструментом для ознакомления с экосистемой Astra Linux .
Astra Linux Special Edition, ОС специального назначения, актуальный коммерческий вариант. Для желающих узнать об установке, настройке и сопровождении – справочная здесь. Ниже речь пойдет именно об этом варианте ОС.
📎Что дальше?
Как осуществить индивидуальную настройку пользователей читайте тут
Данные о настройке модемного подключения найдёте здесь
Что думаете об отечественных ОС? Насколько интересны обзоры Альта, Ред ОС и ОСновы?
#AstraLinux #обзор #отечественнаяОС
Please open Telegram to view this post
VIEW IN TELEGRAM
1👎23👍11❤6🤣6🔥5