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
Инфраструктура для ИИ-сервисов: Linkerd получает MCP, Европа — свою LLM, GitHub — центр управления агентами
Всем DevOps! По традиции, делимся новостями. В прошлый раз у нас сработал алерт: часть источников устарела. Починили, обновили, задеплоили новую срединедельную подборку — свежие релизы и актуальные данные.
⏺ Linkerd — поддержка MCP
Buoyant (BTI) объявила о планах добавить в Linkerd поддержку протокола MCP, чтобы сервис-меш управлял агентским ИИ трафиком: обеспечивал наблюдаемость (метрики использования ресурсов, инструментов и запросов), детальную политику авторизации для всех вызовов MCP, и защиту через идентификаторов рабочей нагрузки. По словам компании, это снизит потребность в отдельных прокси и инструментах мониторинга, а больше деталей об анонсе можете найти здесь.
⏺ EuroLLM: шаг ЕС к независимой цифровой среде
В Европе появился EuroLLM — открытая языковая модель многоязычной (multilingual) LLM, рассчитанная на 24 официальные языка ЕС. EuroLLM подходит для локальных экспериментов, кастомизации и повышенной прозрачности, необходимых в рамках политики повышения цифровой автономности. Подробнее об особенностях здесь.
⏺ Agent HQ от GitHub: единый инструмент для работы с ИИ-агентами
GitHub запустил Agent HQ – инструмент для работы с ИИ-агентами. Идея проста: вместо работы с каждым агентом отдельно, теперь можно назначать задачи, отслеживать их выполнение и управлять поведением ИИ из одного интерфейса. В ближайшие месяцы на GitHub станут доступны агенты от OpenAI, Google, Anthropic, Cognition и других, всё это в рамках подписки Copilot Pro+. Про формат подписки здесь.
#Linkerd #EuroLLM #AgentHQ #DevOps
Всем DevOps! По традиции, делимся новостями. В прошлый раз у нас сработал алерт: часть источников устарела. Починили, обновили, задеплоили новую срединедельную подборку — свежие релизы и актуальные данные.
Buoyant (BTI) объявила о планах добавить в Linkerd поддержку протокола MCP, чтобы сервис-меш управлял агентским ИИ трафиком: обеспечивал наблюдаемость (метрики использования ресурсов, инструментов и запросов), детальную политику авторизации для всех вызовов MCP, и защиту через идентификаторов рабочей нагрузки. По словам компании, это снизит потребность в отдельных прокси и инструментах мониторинга, а больше деталей об анонсе можете найти здесь.
В Европе появился EuroLLM — открытая языковая модель многоязычной (multilingual) LLM, рассчитанная на 24 официальные языка ЕС. EuroLLM подходит для локальных экспериментов, кастомизации и повышенной прозрачности, необходимых в рамках политики повышения цифровой автономности. Подробнее об особенностях здесь.
GitHub запустил Agent HQ – инструмент для работы с ИИ-агентами. Идея проста: вместо работы с каждым агентом отдельно, теперь можно назначать задачи, отслеживать их выполнение и управлять поведением ИИ из одного интерфейса. В ближайшие месяцы на GitHub станут доступны агенты от OpenAI, Google, Anthropic, Cognition и других, всё это в рамках подписки Copilot Pro+. Про формат подписки здесь.
#Linkerd #EuroLLM #AgentHQ #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤6👍5🔥5
Как работать с Docker Networking: концепции и применение
👩💻 Автор статьи описывает классический случай из практики с Docker: разработчик запускает контейнер, подключается к нему через
На деле Docker уже делает всю работу – ниже расскажем об основном, подробнее найдете в статье.
👀 Почему проблема возникла?
При установке Docker создает дефолтный сетевой мост (network-bridge), где он выстраивает коммуникацию по временным IP таким образом, что многоконтейнерные приложения становятся неудобными: разработчик не находит сервисы по имени, и каждый перезапуск меняет адреса контейнеров.
⏺ Как решать?
Для устранения проблемы автор предлагает использовать user-defined bridge сети. При создании такой сети Docker автоматически включает внутренний DNS, и контейнеры получают постоянные hostname. Всё, что потребуется от разработчика – запустить контейнеры и подключить их к одной сети, чтобы приложение могло обращаться к базе по имени к БД, независимо от IP и рестарта контейнера.
Контейнеры с user-defined bridge
Контейнер со статическим IP и объявленная сеть
Для выполнения данного решения разработчик создает пользовательскую bridge-сеть с объявленным пулом адресов (subnet) и назначением контейнеру фиксированного IPv4 через ipv4_address. Так, мы обеспечиваем предсказуемую адресацию, полезную для интеграции с системой, которая зависит от IP. При этом сеть сохраняет встроенный DNS Docker, позволяющий обращаться к контейнерам по имени.
🚀 Вывод: для многоконтейнерных приложений не стоит использовать дефолтный bridge. Создавайте собственные сети или пользуйтесь Docker Compose, чтобы надёжно связать сервисы по их именам, а не по временным IP-адресам.
#devops #docker #dockercompose #networking #containers
localhost и…возникает проблема. Веб-сервис развёрнут в одном контейнере, БД — в отдельном. Как настроить сетевое взаимодействие между ними? На деле Docker уже делает всю работу – ниже расскажем об основном, подробнее найдете в статье.
При установке Docker создает дефолтный сетевой мост (network-bridge), где он выстраивает коммуникацию по временным IP таким образом, что многоконтейнерные приложения становятся неудобными: разработчик не находит сервисы по имени, и каждый перезапуск меняет адреса контейнеров.
Для устранения проблемы автор предлагает использовать user-defined bridge сети. При создании такой сети Docker автоматически включает внутренний DNS, и контейнеры получают постоянные hostname. Всё, что потребуется от разработчика – запустить контейнеры и подключить их к одной сети, чтобы приложение могло обращаться к базе по имени к БД, независимо от IP и рестарта контейнера.
Контейнеры с user-defined bridge
services:
app2:
image: nginx
networks:
- mybridge
app3:
image: alpine
command: ["sh", "-c", "while true; do sleep 3600; done"]
networks:
- mybridge
networks:
mybridge:
driver: bridge
Контейнер со статическим IP и объявленная сеть
Для выполнения данного решения разработчик создает пользовательскую bridge-сеть с объявленным пулом адресов (subnet) и назначением контейнеру фиксированного IPv4 через ipv4_address. Так, мы обеспечиваем предсказуемую адресацию, полезную для интеграции с системой, которая зависит от IP. При этом сеть сохраняет встроенный DNS Docker, позволяющий обращаться к контейнерам по имени.
services:
app:
image: nginx
networks:
custom_net:
ipv4_address: 172.20.0.10
networks:
custom_net:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/24
#devops #docker #dockercompose #networking #containers
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤9👍9🔥6
Логирование и мониторинг — топ-3 инструмента для DevOps в 2025
🗣 Несложно представить ситуацию: трафик на пике, API выдает 500-е ошибки. Вы заходите на сервер по SSH, суматошно переходите из директории в директорию, пытаетесь разобраться в веренице логов микросервисов и в конце находите виновника. Спустя время сбой устранили, но вопрос остался – «неужели нельзя проще?». Отвечаем – можно, с инструментами observability.
🚀 Топ-3 инструмента для логирования и мониторинга:
1.Grafana Loki
Плюсы:
• Минимальные расходы: Loki не индексирует содержимое логов, используя только метки (labels) — как в Prometheus. Это снижает потребление CPU, RAM и дискового пространства.
• Тесная интеграция с Prometheus и Grafana: Если вы уже используете Grafana или Prometheus, например в рамках KubePrometheusStack, то вам может быть полезна возможность просматривать логи там же, где и метрики.
• Простота развёртывания и масштабирования: monolithic mode идеально подходит для старта, так как объединяет в рамках одно бинарного файла все компоненты Loki. Но как только вам его не хватает, советуем перейти на микросервисный режим, разделив Distributor, Ingester, Querier и Compactor на отдельные сервисы
• Гибкий язык запросов: LogQL похож на PromQL, что позволяет проводить агрегаций и подсчёт ошибок за период времени, а затем выводить панели с количеством ошибок, рейтами и распределениями в Grafana.
💬 Что учесть
Однако, Loki разработан для фильтрации логов на основе меток и регулярных выражений, а не для глубокого полнотекстового поиска и не позволяет справляться со сложным анализом логов.
2. Elastic Stack
Плюсы:
• Настройка на всех уровнях: от сбора данных с помощью Logstash или Beats до запросов и дашбордов в Kibana — почти все можно настроить
• Мощный поиск и аналитика: Elasticsearch обеспечивает быстрый полнотекстовый поиск и агрегацию в больших масштабах
• Работа в реальном времени: данные индексируются и становятся доступны для поиска почти мгновенно
Гибкость индексации и управления данными: в Elasticsearch есть возможность настраивать ILM (Index Lifecycle Management) - автоматически перемещать "тёплые" и "холодные" данные между нодами, удалять старые индексы по политике.
💬 Что учесть:
Операционные затраты могут быть высокими, а расходы на облачные услуги быстро растут при производственном масштабе.
3. OpenSearch
Плюсы:
• Полный open-source: OpenSearch является решением с открытым кодом без лицензионных рисков.
• Гибкость в сборе и анализе логов: поддерживает SQL и PPL, а также обладает встроенным observability-стеком
• Alerting-plugin — в отличие от ElasticSearch, OpenSearch из коробки позволяет строить гибкие триггеры и уведомления.
• Активное сообщество и поддержка AWS: он поддерживается AWS, Capital One, Red Hat, SAP и другими.
👩💻 Подборки репозиториев:
https://github.com/grafana/grafana – интеграция с Grafana с дашбордами и алертингом;
https://github.com/grafana/loki – репозиторий для агрегации логов
https://github.com/elastic – у Elastic на GitHub свыше 800 репозиториев, включая ядро Elasticsearch и множество интеграций и плагинов.
#DevOps #Observability #Grafana #Elastic
1.Grafana Loki
Плюсы:
• Минимальные расходы: Loki не индексирует содержимое логов, используя только метки (labels) — как в Prometheus. Это снижает потребление CPU, RAM и дискового пространства.
• Тесная интеграция с Prometheus и Grafana: Если вы уже используете Grafana или Prometheus, например в рамках KubePrometheusStack, то вам может быть полезна возможность просматривать логи там же, где и метрики.
• Простота развёртывания и масштабирования: monolithic mode идеально подходит для старта, так как объединяет в рамках одно бинарного файла все компоненты Loki. Но как только вам его не хватает, советуем перейти на микросервисный режим, разделив Distributor, Ingester, Querier и Compactor на отдельные сервисы
• Гибкий язык запросов: LogQL похож на PromQL, что позволяет проводить агрегаций и подсчёт ошибок за период времени, а затем выводить панели с количеством ошибок, рейтами и распределениями в Grafana.
Однако, Loki разработан для фильтрации логов на основе меток и регулярных выражений, а не для глубокого полнотекстового поиска и не позволяет справляться со сложным анализом логов.
2. Elastic Stack
Плюсы:
• Настройка на всех уровнях: от сбора данных с помощью Logstash или Beats до запросов и дашбордов в Kibana — почти все можно настроить
• Мощный поиск и аналитика: Elasticsearch обеспечивает быстрый полнотекстовый поиск и агрегацию в больших масштабах
• Работа в реальном времени: данные индексируются и становятся доступны для поиска почти мгновенно
Гибкость индексации и управления данными: в Elasticsearch есть возможность настраивать ILM (Index Lifecycle Management) - автоматически перемещать "тёплые" и "холодные" данные между нодами, удалять старые индексы по политике.
Операционные затраты могут быть высокими, а расходы на облачные услуги быстро растут при производственном масштабе.
3. OpenSearch
Плюсы:
• Полный open-source: OpenSearch является решением с открытым кодом без лицензионных рисков.
• Гибкость в сборе и анализе логов: поддерживает SQL и PPL, а также обладает встроенным observability-стеком
• Alerting-plugin — в отличие от ElasticSearch, OpenSearch из коробки позволяет строить гибкие триггеры и уведомления.
• Активное сообщество и поддержка AWS: он поддерживается AWS, Capital One, Red Hat, SAP и другими.
https://github.com/grafana/grafana – интеграция с Grafana с дашбордами и алертингом;
https://github.com/grafana/loki – репозиторий для агрегации логов
https://github.com/elastic – у Elastic на GitHub свыше 800 репозиториев, включая ядро Elasticsearch и множество интеграций и плагинов.
#DevOps #Observability #Grafana #Elastic
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10🔥6❤3
Лучшие из худших сообщений коммитов
⏺ Всем DevOps! Хорошие новости – сегодня пятница, значит скоро нас ждет перерыв от дейликов. Плохие – всё еще нужно писать сообщения коммитов после деплоя и релизов. Представляем зал славы лучших из худших сообщений коммитов, где собраны нестандартные варианты из рабочих репозиториев. Расширенный сборник найдёте здесь.
👀 Вот сейчас точно исправил
Именно так выглядели коммиты DevOps-инженера автора статьи каждый раз, когда нужно было «быстренько что-нибудь установить».
👀 Всё, что надо было, сделал
Классическое сообщение тиммейтов при поступлении срочной задачи, которую закрыть надо было ещё вчера.
👀 Хроники борьбы с билдом
Попыток было в разы больше.
👀 Пожалуйста, работай…
Признайтесь, были и такие моменты в работе.
👀 Эпоха до ESLint
Кто бы что ни говорил, а проблема «казнить нельзя помиловать» актуальна.
Какие находки из коммитов помните вы?
#git #commits #commitmessages #devops
"fix"
"fix-final"
"ok final fix"
"fix final final"
"fixed previous fix"
Именно так выглядели коммиты DevOps-инженера автора статьи каждый раз, когда нужно было «быстренько что-нибудь установить».
"did the needful"
Классическое сообщение тиммейтов при поступлении срочной задачи, которую закрыть надо было ещё вчера.
"attempt to fix the build"
"ok, fix the build"
Попыток было в разы больше.
"please work"
Признайтесь, были и такие моменты в работе.
"added a coma, now works fine"
Кто бы что ни говорил, а проблема «казнить нельзя помиловать» актуальна.
Какие находки из коммитов помните вы?
#git #commits #commitmessages #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤15👍10🔥6
Good practices: конфигурации в Kubernetes
Конфигурации – основа рабочей нагрузки Kubernetes. Опытные инженеры знают, что достаточно пропущенной кавычки, неактуальной API-версии или смещённого отступа в YAML для возникновения проблемы при деплое. Представляем подборку good practices с советами по стабилизации кластера — для новичков и опытных пользователей. Подробнее читайте здесь.👀
Общие practices:
⏺ Используйте актуальную версию API
Kubernetes быстро развивается и обновляется. Менее актуальные API не работают корректно и приводят к сбоям при деплое. Проверяйте версию API, используя следующую команду:
⏺ Храните конфиги под версионным контролем
Не применяйте файлы манифеста с десктопа, храните их в системе контроля версий, например, в Git. Если что-то сломается – вы быстро откатитесь к прошлому коммиту.
⏺ Пишите конфиги в YAML, не в JSON
Технически работают оба формата для обмена и хранения данных, но YAML более удобен, по словам автора. В YAML используйте только true/false, т.к. yes/no/on/off могут парситься по-разному. Для надёжности берите в кавычки всё, что похоже на булево значение (например, "yes").
⏺ Группируйте связанные объекты
Если ресурсы – часть одного сервиса, храните их в одном файле YAML-манифеста. Так легче отслеживать, ревьювить и разворачивать изменения.
Применяйте эту команду, чтобы задеплоить всё в папке:
🚀 Стандартизированные конфигурации упрощают управление кластером и берегут нервы администратора. Следуйте базовым принципам: контроль версий, единая система меток, отказ от использования отдельных Pod-ов без контроллеров. Так, вы значительно сократите время на диагностику и устранение ошибок.
#kubernetes #k8s #clustermanagment #devops
Конфигурации – основа рабочей нагрузки Kubernetes. Опытные инженеры знают, что достаточно пропущенной кавычки, неактуальной API-версии или смещённого отступа в YAML для возникновения проблемы при деплое. Представляем подборку good practices с советами по стабилизации кластера — для новичков и опытных пользователей. Подробнее читайте здесь.
Общие practices:
Kubernetes быстро развивается и обновляется. Менее актуальные API не работают корректно и приводят к сбоям при деплое. Проверяйте версию API, используя следующую команду:
kubectl api-resources
Не применяйте файлы манифеста с десктопа, храните их в системе контроля версий, например, в Git. Если что-то сломается – вы быстро откатитесь к прошлому коммиту.
Технически работают оба формата для обмена и хранения данных, но YAML более удобен, по словам автора. В YAML используйте только true/false, т.к. yes/no/on/off могут парситься по-разному. Для надёжности берите в кавычки всё, что похоже на булево значение (например, "yes").
Если ресурсы – часть одного сервиса, храните их в одном файле YAML-манифеста. Так легче отслеживать, ревьювить и разворачивать изменения.
Применяйте эту команду, чтобы задеплоить всё в папке:
kubectl apply -f configs/
#kubernetes #k8s #clustermanagment #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥3
Как развернуть Prometheus через systemd и запустить базовый мониторинг
👨💻 Возвращаемся с инструментами по observability и SRE. Prometheus – это система мониторинга с открытым исходным кодом, которую можно использовать для сбора и отслеживания различных метрик из экспортеров в Time Series Database (TSDB). Сегодня разберем, как настроить и запустить Prometheus и управлять через systemd на сервере Ubuntu или Debian. Для инженеров single-node установка позволяет использовать Prometheus как базовую систему мониторинга без лишних инфраструктурных настроек.
⏺ Шаг 1. Подготовка пользователя и загрузка Prometheus
Создаем отдельного пользователя для Prometheus:
Выбираем версию для вашей системы и скачиваем бинарь:
Меняем права на папку, чтобы Prometheus мог работать безопасно:
⏺ Шаг 2. Настройка systemd-сервиса
Создаем файл /etc/systemd/system/prometheus.service с таким содержимым:
⏺ Шаг 3. Запуск и управление Prometheus
Активируем сервис и запускаем его:
Проверяем статус и логи сервиса:
Теперь Prometheus работает как системный сервис, собирает метрики и готов к подключению экспортеров.
⏺ Шаг 4. Дальнейшие шаги
⁃ Настройка AlertManager для уведомлений.
⁃ Подключение экспортеров для серверов, контейнеров и приложений.
⁃ Использование Grafana для визуализации метрик.
🗂 Подробнее о настройке алертов: Prometheus Alerting
Вывод: такой минимальный setup позволяет быстро поднять Prometheus для тестов и PoC, понять, как работает TSDB, и интегрировать систему мониторинга в DevOps-процессы.
#sre #observability #prometheus #monitoring #devops
Создаем отдельного пользователя для Prometheus:
sudo useradd -M -U prometheus
Выбираем версию для вашей системы и скачиваем бинарь:
wget https://github.com/prometheus/prometheus/releases/download/v2.40.0-rc.0/prometheus-2.40.0-rc.0.linux-amd64.tar.gz
tar -xzvf prometheus-2.40.0-rc.0.linux-amd64.tar.gz
sudo mv prometheus-2.40.0-rc.0.linux-amd64 /opt/prometheus
Меняем права на папку, чтобы Prometheus мог работать безопасно:
sudo chown prometheus:prometheus -R /opt/prometheus
Создаем файл /etc/systemd/system/prometheus.service с таким содержимым:
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/prometheus \
--config.file=/opt/prometheus/prometheus.yml \
--storage.tsdb.path=/opt/prometheus/data \
--storage.tsdb.retention.time=30d
[Install]
WantedBy=multi-user.target
Активируем сервис и запускаем его:
sudo systemctl daemon-reload
sudo systemctl start prometheus.service
sudo systemctl enable prometheus.service
Проверяем статус и логи сервиса:
sudo systemctl status prometheus.service
sudo journalctl -u prometheus.service -f
Теперь Prometheus работает как системный сервис, собирает метрики и готов к подключению экспортеров.
⁃ Настройка AlertManager для уведомлений.
⁃ Подключение экспортеров для серверов, контейнеров и приложений.
⁃ Использование Grafana для визуализации метрик.
Вывод: такой минимальный setup позволяет быстро поднять Prometheus для тестов и PoC, понять, как работает TSDB, и интегрировать систему мониторинга в DevOps-процессы.
#sre #observability #prometheus #monitoring #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤11👍6🔥5
Свежие новостные релизы, которые ещё не успели настояться
Срединедельный DevOps!🚀 Сегодня поговорим о сбое Cloudflare, рассмотрим превью AWS DevOps Agent и релизы AWS re:Invent 2025 в области безопасности.
⏺ Не опять, а снова: сбой в Cloudflare, ошибка 500
Cloudflare частично оказалась недоступной на 25 минут в прошлую пятницу. Во время инцидента примерно треть запросов вела на пустую страницы с кодом ошибки 500. В этот раз, причиной стала проблема в коде на языке Lua, которая применяется в системе фильтрации трафика WAF для блокирования вредоносных запросов. В логах отображалось:
Изменение было отменено в 09:12 UTC, и после отката нормальная обработка трафика восстановилась.
⏺ AWS DevOps Agent (preview): выявление и локализация причин инцидентов.
AWS представила превью AWS DevOps Agent, ИИ-агента для расследования и предотвращения инцидентов.
Интеграция с Datadog MCP Server обеспечивает доступ к логам, метрикам и трассировкам, что позволяет агенту автоматически сопоставлять данные из AWS и Datadog. В демонстрации агент за минуты выявил суть проблемы всплеска 5XX ошибок API Gateway. Ранние пользователи отмечают сокращение MTTR с часов до минут. Подробнее здесь.
⏺ re:Invent 2025: релизы инструментов и обновления
На re:Invent 2025 AWS представила ряд обновлений в области безопасности, управления идентификацией, тарификации, а также состоялись релизы тулзов: IAM Policy Autopilot, инструмент для генерации IAM-политик на основе детерминированного анализа приложений, Org-level S3 Block Public Access, расширение блокировки публичного доступа на уровне организации, TLS Proxy, новый сервис прокси для TLS-инспекции. Прочитать об обновлениях можно здесь.
#devops #cloudflare #aws #awsdevopsagent
Срединедельный DevOps!
Cloudflare частично оказалась недоступной на 25 минут в прошлую пятницу. Во время инцидента примерно треть запросов вела на пустую страницы с кодом ошибки 500. В этот раз, причиной стала проблема в коде на языке Lua, которая применяется в системе фильтрации трафика WAF для блокирования вредоносных запросов. В логах отображалось:
[lua] Failed to run module rulesets callback late_routing: /usr/local/nginx-fl/lua/modules/init.lua:314: attempt to index field 'execute' (a nil value)
Изменение было отменено в 09:12 UTC, и после отката нормальная обработка трафика восстановилась.
AWS представила превью AWS DevOps Agent, ИИ-агента для расследования и предотвращения инцидентов.
Интеграция с Datadog MCP Server обеспечивает доступ к логам, метрикам и трассировкам, что позволяет агенту автоматически сопоставлять данные из AWS и Datadog. В демонстрации агент за минуты выявил суть проблемы всплеска 5XX ошибок API Gateway. Ранние пользователи отмечают сокращение MTTR с часов до минут. Подробнее здесь.
На re:Invent 2025 AWS представила ряд обновлений в области безопасности, управления идентификацией, тарификации, а также состоялись релизы тулзов: IAM Policy Autopilot, инструмент для генерации IAM-политик на основе детерминированного анализа приложений, Org-level S3 Block Public Access, расширение блокировки публичного доступа на уровне организации, TLS Proxy, новый сервис прокси для TLS-инспекции. Прочитать об обновлениях можно здесь.
#devops #cloudflare #aws #awsdevopsagent
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🔥4❤2🤯1
Не делайте так: мой пятничный деплой
👀 Снова пятница, пора сворачиваться и надеяться, что ни один pipeline не применит изменения, способные снести пол-инфры. Расскажем поучительную историю о DevOps-инженере, который решил выполнить развертывание в пятницу, после рефакторинга Terraform-модулей. Не судите автора статьи слишком строго, он обычный человек, который на кофеине нажал «Deploy».
💬 Что произошло в пятницу?
•15:47 – запуск развертывания после рефактора Terraform-модулей.
Изменение – автор переименовал одну переменную, которая используется в сорока семи местах, в трёх окружениях. Но проверка линтером пройдена. Что может пойти не так?
•16:02 – запуск GitHub Actions, а дальше...пайплайн упал, в Terraform появился неожиданный
•16:07 – сообщения о падении staging и подозрительные изменения в проде, возгласы: "КТО ДЕПЛОИЛ В ПЯТНИЦУ?!". Автор попытался отключить роутер, но было поздно – имя уже в коммите.
•16:11 – созвон в зуме, SRE подключился со вздохом, бэкэнд-разработчик присоединился с пивом, CTO – с пляжа на Бали.
•16:20-16:45 – откат коммита, повторный прогон пайплайна, окружение восстановлено.
После – постмортем без прямых обвинений с коллективной критикой в виде смайликов и пассивно-агрессивных мемов.
❌ Проблема заключалась в том, что при рефакторинге конфигурации автор изменил имя без полного анализа зависимостей и проверки влияния на все окружения. Изменения затронули многочисленные модули и окружения, но не были синхронизированы между собой. Сопутствующими факторами стали недостаточная верификация
✅ Уроки, которые автор не усвоил (а должен был):
•Не деплоить в пятницу
•Всегда перепроверять
•Подготовить воспроизводимый плана отката, желательно, без слёз.
•Внедрить автоматическую валидацию переменных и контрактов модулей (schema/validation) и тесты на согласованность именований.
Пятничный деплой: храбрость или безрассудство? Делитесь вашими историями ниже.
#deploy #devops #terraform #postmortem
•15:47 – запуск развертывания после рефактора Terraform-модулей.
Изменение – автор переименовал одну переменную, которая используется в сорока семи местах, в трёх окружениях. Но проверка линтером пройдена. Что может пойти не так?
•16:02 – запуск GitHub Actions, а дальше...пайплайн упал, в Terraform появился неожиданный
destroy -план. Уведомления в Slack накрыли волной. •16:07 – сообщения о падении staging и подозрительные изменения в проде, возгласы: "КТО ДЕПЛОИЛ В ПЯТНИЦУ?!". Автор попытался отключить роутер, но было поздно – имя уже в коммите.
•16:11 – созвон в зуме, SRE подключился со вздохом, бэкэнд-разработчик присоединился с пивом, CTO – с пляжа на Бали.
•16:20-16:45 – откат коммита, повторный прогон пайплайна, окружение восстановлено.
После – постмортем без прямых обвинений с коллективной критикой в виде смайликов и пассивно-агрессивных мемов.
terraform plan во всех средах и отсутствие автоматизированных проверок. •Не деплоить в пятницу
•Всегда перепроверять
terraform plan для каждого окружения перед применением.•Подготовить воспроизводимый плана отката, желательно, без слёз.
•Внедрить автоматическую валидацию переменных и контрактов модулей (schema/validation) и тесты на согласованность именований.
Пятничный деплой: храбрость или безрассудство? Делитесь вашими историями ниже.
#deploy #devops #terraform #postmortem
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍9🤯6🔥3❤1
От values-файлов к управлению вариантами конфигураций в ConfigHub: как перестать рендерить вслепую
В этот понедельник поговорим о переходе от классического Helm-подхода с values.yaml к модели Configuration as Data, которая реализует себя в ConfigHub. Если вы всё ещё храните values.yaml для разных сред, при аварийных запросах запускаете
Как внедрить подход?
⏺ Развертывание базового окружения (Infra Space)
1. Добавляем репозиторий Helm:
2. Разворачиваем базовое окружение для инфраструктуры:
3. Устанавливаем Helm-чарт через ConfigHub:
• ConfigHub использует движок Helm для однократного рендеринга чарта.
• Результат сохраняется как материализованный, версионируемый и индексируемый артефакт (Config Unit).
⏺ Создание пространств для окружений (Spaces)
1. Создаем пространства для каждого целевого окружения:
2. В качестве альтернативы – создаем пространства через UI ConfigHub, используем кнопку [Add] на странице списка Spaces.
3. Каждое пространство будет содержать копии базовых конфигураций для конкретного окружения.
⏺ Клонирование и создание Вариантов (Variants)
Variant – это копия Config Unit, которая создается через операцию Clone.
1. Создаем Dev Variant из базового окружения:
2. Выбираем чарты в infra space.
3. Выбираем dev space как цель.
4. Нажимаем [Clone Units].
5. Создаем Prod Variant из Dev Variant аналогично.
⬆️ Так, мы получаем цепочку конфигураций:
[infra's Helm charts] → [dev's Helm charts] → [prod's Helm charts]
Аналогичную концепцию можем использовать в Kustomize. Мы начинаем с базовых ресурсов, а затем добавляем к ним «Dev Overlays».
⏺ Мгновенный доступ к конфигурациям
1. После клонирования не требуется повторный рендеринг.
2. Получаем точные манифесты для окружений:
Dev
Prod
Получаем готовый YAML, а не шаблон или переменную.
⏺ Решение сценариев «Fire Drill»
1. Так как конфигурации сохранены как данные, можно выполнять поиск и анализ без повторного рендеринга:
Поиск уязвимых образов
Поиск образов
👀 Подводные камни и что делать:
• Нативные зависимости и postinstall хуки. При рендере учитывайте, что некоторые чарты рассчитывают поведение во время выполнения. Обязательный этап – прогон тестов в staging.
• Избежание версионных конфликтов Helm чартов, за счет фиксирования версий чарта; используйте lock-файлы чарта или helmfile для управления групповыми релизами.
Делимся полезными ресурсами:
⚙️ Интеграция ConfigHub-workflow с CI/CD (build → render → store → apply), примеры для GitHub Actions/GitLab CI и рекомендации по кэшированию здесь.
❕ How-to по Variants и GitOps (ArgoCD/Flux) – синхронизация «данных-конфигураций» с Git и кластерами (Kustomize в ArgoCD), подробнее тут.
#confighub #kubernetes #helm #devops
В этот понедельник поговорим о переходе от классического Helm-подхода с values.yaml к модели Configuration as Data, которая реализует себя в ConfigHub. Если вы всё ещё храните values.yaml для разных сред, при аварийных запросах запускаете
helm template и парсите YAML – рекомендуем сменить подход. В ConfigHub реализуется модель «конфигурация как данные»: вместо того чтобы каждый раз генерировать YAML из шаблонов по запросу, вы создаёте готовый манифест один раз.Как внедрить подход?
1. Добавляем репозиторий Helm:
helm repo update
2. Разворачиваем базовое окружение для инфраструктуры:
cub space create infra
3. Устанавливаем Helm-чарт через ConfigHub:
cub helm install --space infra \
--use-placeholder=false \
--namespace monitoring \
prometheus prometheus-community/kube-prometheus-stack \
--version 79.6.1
• ConfigHub использует движок Helm для однократного рендеринга чарта.
• Результат сохраняется как материализованный, версионируемый и индексируемый артефакт (Config Unit).
1. Создаем пространства для каждого целевого окружения:
cub space create dev
cub space create prod2. В качестве альтернативы – создаем пространства через UI ConfigHub, используем кнопку [Add] на странице списка Spaces.
3. Каждое пространство будет содержать копии базовых конфигураций для конкретного окружения.
Variant – это копия Config Unit, которая создается через операцию Clone.
1. Создаем Dev Variant из базового окружения:
2. Выбираем чарты в infra space.
3. Выбираем dev space как цель.
4. Нажимаем [Clone Units].
5. Создаем Prod Variant из Dev Variant аналогично.
[infra's Helm charts] → [dev's Helm charts] → [prod's Helm charts]
Аналогичную концепцию можем использовать в Kustomize. Мы начинаем с базовых ресурсов, а затем добавляем к ним «Dev Overlays».
1. После клонирования не требуется повторный рендеринг.
2. Получаем точные манифесты для окружений:
Dev
cub unit get --space dev prometheus --data-only
Prod
cub unit get --space prod prometheus --data-only
Получаем готовый YAML, а не шаблон или переменную.
1. Так как конфигурации сохранены как данные, можно выполнять поиск и анализ без повторного рендеринга:
Поиск уязвимых образов
cub unit list --space "*" \
--resource-type monitoring.coreos.com/v1/Prometheus \
--where-data "spec.image ~ '.*registry.compromised.com.*'"
Поиск образов
cub unit list --space "*" \
--resource-type monitoring.coreos.com/v1/Prometheus \
--where-data "spec.image ~ '.*quay.io.*'"
• Нативные зависимости и postinstall хуки. При рендере учитывайте, что некоторые чарты рассчитывают поведение во время выполнения. Обязательный этап – прогон тестов в staging.
• Избежание версионных конфликтов Helm чартов, за счет фиксирования версий чарта; используйте lock-файлы чарта или helmfile для управления групповыми релизами.
Делимся полезными ресурсами:
#confighub #kubernetes #helm #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍12❤5🔥4👎2
Анонсы и прогнозы: Docker с Dynamic MCP, Rust в Linux, тренды.
Срединедельный DevOps! Обсудим прогнозы и ключевые события уходящего года: развитие DevOps-инструментов, Rust в Linux, рост трафика с ИИ и лучшие кейсы цифровизации.
⏺ Docker Desktop 4.5 и Dynamic MCP
Docker Desktop – приложение для локальной разработки, которое позволяет разработчику собирать, запускать и администрировать контейнеризованные приложения. Представили экспериментальную функцию Dynamic MCP в версии Docker Desktop 4.5. При её использовании ИИ-агенты находят и подключают MCP-серверы в реальном времени. Dynamic MCP начинает работу при подключении клиента к MCP Toolkit, а шлюз MCP предоставляет агентам набор инструментов (mcp-find, mcp-add и др.), с помощью которых им удается обнаружить, добавить и управлять серверами в ходе работы. Подробнее об особенностях функции читайте тут, а с примером использования – на GitHub.
⏺ Эксперимент признан успешным: Rust в проекте ядра Linux
Эксперимент по внедрению Rust в ядро Linux, начатый в версии 6.1 в 2022 году и в котором приняли участие 173 разработчика, официально завершён. Ведущий разработчик Rust для Linux Мигель Охеда опубликовал патч для удаления из документации к ядру предупреждения о характере поддержки. Язык уже используется в производственной среде, поддерживается рядом крупных дистрибутивов Linux. Стоит учитывать, что поддержка Rust пока не охватывает все возможные конфигурации ядра, архитектуры и инструментальные цепочки. Так, часть сценариев, включая смешанные сборки с GCC и LLVM, полноценная поддержку GCC остаётся экспериментальной. Значительный объём работы предстоит как в самом ядре, так и в смежных проектах – upstream Rust, GCC и других компонентах экосистемы. Ознакомиться с комментарием можно здесь.
⏺ Cloudflare: 19% годового роста трафика и растущая доля ИИ-ботов
По результатам отчёта Cloudflare за 2025 год наблюдается рост глобального интернет-трафика на 19%. Из ключевых особенностей выделяем автоматизированных агентов и сервисов ИИ, которые составляют значительную часть прироста. Подобные изменения сказываются на структуре трафика и порождают требования к новой, безопасной инфраструктуре. В отчёте представлена информация по усилению угроз безопасности и снижению устойчивости сервисов. Cloudflare зафиксировала 25 крупных распределённых DDoS-атак, которые привели к сбоям и ограничению доступа сервисов. В качестве оптимального решения компания внедрила постквантовое шифрование для 52% TLS 1.3-трафика. Подготовка к будущему, в котором квантовые компьютеры обойдут системы шифрования, началась уже сейчас. Подробности об интернет сервисах, HTTP версиях, IPv6 можете прочесть здесь.
⏺ «Лидеры Цифрофизации – 2025»: номинация лучший кейс
Внедрение цифровых технологий в процессы бизнеса и управления не потеряют актуальности в 2026-м. Портал TECH совместно с бизнес-клубом Global при поддержке «Деловой России» и «Ассоциация "Руссофт"» опубликовал результаты рейтинга «Лидеры Цифрофизации – 2025», задачей которого являлось отображение лидирующих российских IT-компаний в сфере финансовых услуг, научно-исследовательской деятельности, инженерии и разработки. Победителем в лидеры номинации «Лучший кейс» стал проект по внедрению 1С, системы ML Sense в ММНИО. В число лидеров вошёл кейс «TargetADS» IT-интегратора Nixys по разработке сервиса проверки качества инвентаря, антифрода с выявлением неревантных показов, кликов, что позволило оптимизировать расход рекламного бюджета. Ознакомиться с результатами рейтинга TECH можно здесь.
#docker #dynamicmcp #rust #linux #devops
Срединедельный DevOps! Обсудим прогнозы и ключевые события уходящего года: развитие DevOps-инструментов, Rust в Linux, рост трафика с ИИ и лучшие кейсы цифровизации.
Docker Desktop – приложение для локальной разработки, которое позволяет разработчику собирать, запускать и администрировать контейнеризованные приложения. Представили экспериментальную функцию Dynamic MCP в версии Docker Desktop 4.5. При её использовании ИИ-агенты находят и подключают MCP-серверы в реальном времени. Dynamic MCP начинает работу при подключении клиента к MCP Toolkit, а шлюз MCP предоставляет агентам набор инструментов (mcp-find, mcp-add и др.), с помощью которых им удается обнаружить, добавить и управлять серверами в ходе работы. Подробнее об особенностях функции читайте тут, а с примером использования – на GitHub.
Эксперимент по внедрению Rust в ядро Linux, начатый в версии 6.1 в 2022 году и в котором приняли участие 173 разработчика, официально завершён. Ведущий разработчик Rust для Linux Мигель Охеда опубликовал патч для удаления из документации к ядру предупреждения о характере поддержки. Язык уже используется в производственной среде, поддерживается рядом крупных дистрибутивов Linux. Стоит учитывать, что поддержка Rust пока не охватывает все возможные конфигурации ядра, архитектуры и инструментальные цепочки. Так, часть сценариев, включая смешанные сборки с GCC и LLVM, полноценная поддержку GCC остаётся экспериментальной. Значительный объём работы предстоит как в самом ядре, так и в смежных проектах – upstream Rust, GCC и других компонентах экосистемы. Ознакомиться с комментарием можно здесь.
По результатам отчёта Cloudflare за 2025 год наблюдается рост глобального интернет-трафика на 19%. Из ключевых особенностей выделяем автоматизированных агентов и сервисов ИИ, которые составляют значительную часть прироста. Подобные изменения сказываются на структуре трафика и порождают требования к новой, безопасной инфраструктуре. В отчёте представлена информация по усилению угроз безопасности и снижению устойчивости сервисов. Cloudflare зафиксировала 25 крупных распределённых DDoS-атак, которые привели к сбоям и ограничению доступа сервисов. В качестве оптимального решения компания внедрила постквантовое шифрование для 52% TLS 1.3-трафика. Подготовка к будущему, в котором квантовые компьютеры обойдут системы шифрования, началась уже сейчас. Подробности об интернет сервисах, HTTP версиях, IPv6 можете прочесть здесь.
Внедрение цифровых технологий в процессы бизнеса и управления не потеряют актуальности в 2026-м. Портал TECH совместно с бизнес-клубом Global при поддержке «Деловой России» и «Ассоциация "Руссофт"» опубликовал результаты рейтинга «Лидеры Цифрофизации – 2025», задачей которого являлось отображение лидирующих российских IT-компаний в сфере финансовых услуг, научно-исследовательской деятельности, инженерии и разработки. Победителем в лидеры номинации «Лучший кейс» стал проект по внедрению 1С, системы ML Sense в ММНИО. В число лидеров вошёл кейс «TargetADS» IT-интегратора Nixys по разработке сервиса проверки качества инвентаря, антифрода с выявлением неревантных показов, кликов, что позволило оптимизировать расход рекламного бюджета. Ознакомиться с результатами рейтинга TECH можно здесь.
#docker #dynamicmcp #rust #linux #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍9🔥4❤3👎1
Пятничное чтиво от DevOps FM
Сегодня поговорим об инфраструктурных мелочах с большими последствиями.
👀 Что могло пойти не так, но с версией Kubernetes 1.35 будет работать корректно
• Под уверенно занял порт на хосте, а потом мы выяснили, что все процессы внутри работали как root. Хорошо, что теперь это можно настроить.
• Для распределённой задачи требуется 10 рабочих подов, а запустилось только 5. Что с этим делает Kubernetes 1.35?
• Образ на узле, ресурсов хватает, но под не стартует – kubelet проверяет наличие imagePullSecrets.
• Кластер не поднялся после обновления узлов. При чём тут cgroup v1 и релиз 1.35? Читайте в статье.
👀 5 ошибок DevOps стартапа (версия 2025)
• DevOps как набор инструментов
Контуры процессов, технический стек внедрены, а совместной ответственности и быстрой обратной связи всё ещё нет.
• Команды работают разрозненно
Разработка, эксплуатация и безопасность живут в своих мирах – потом долго ищут виноватых и чинят одно и то же.
• Гонка за скоростью без прозрачности.
Релизы частые, но без мониторинга и логов проблемы находят пользователи, а не команда.
• Ручные операции там, где давно нужна автоматизация.
Деплой «по инструкции», инфраструктура «на память», подборка ошибок – человеческих и повторяющихся.
• Безопасность на «потом»
Сканирование, политики и контроль доступа подключают после инцидента, когда уже поздно.
Подробности читайте здесь.
👀 Побойтесь DevOps-а…
Компания искала DevOps-инженера, чтобы навести порядок в инфраструктуре, и наняла специалиста с полными правами на продовые серверы. Прошло время и сотрудничество прекратили: доступы отозвали, пароли сменили, учётки заблокировали. Спустя пять дней прод внезапно упал: сервисы недоступны, логи выглядели «разорванными», массовая утечка данных. В ходе внутреннего расследования выяснили – до увольнения был создан скрытый пользователь с правами root, через VPN добавлена отложенная cron-задача на уничтожение системы, а после срабатывания последовал шантаж с требованием выкупа. Как всё закончилось? Читайте здесь.
🚀 Приятного чтения! Пусть все инциденты сегодня будут только на Habr.
#пятничноечтиво #kubernetes #devops #security
Сегодня поговорим об инфраструктурных мелочах с большими последствиями.
• Под уверенно занял порт на хосте, а потом мы выяснили, что все процессы внутри работали как root. Хорошо, что теперь это можно настроить.
• Для распределённой задачи требуется 10 рабочих подов, а запустилось только 5. Что с этим делает Kubernetes 1.35?
• Образ на узле, ресурсов хватает, но под не стартует – kubelet проверяет наличие imagePullSecrets.
• Кластер не поднялся после обновления узлов. При чём тут cgroup v1 и релиз 1.35? Читайте в статье.
• DevOps как набор инструментов
Контуры процессов, технический стек внедрены, а совместной ответственности и быстрой обратной связи всё ещё нет.
• Команды работают разрозненно
Разработка, эксплуатация и безопасность живут в своих мирах – потом долго ищут виноватых и чинят одно и то же.
• Гонка за скоростью без прозрачности.
Релизы частые, но без мониторинга и логов проблемы находят пользователи, а не команда.
• Ручные операции там, где давно нужна автоматизация.
Деплой «по инструкции», инфраструктура «на память», подборка ошибок – человеческих и повторяющихся.
• Безопасность на «потом»
Сканирование, политики и контроль доступа подключают после инцидента, когда уже поздно.
Подробности читайте здесь.
Компания искала DevOps-инженера, чтобы навести порядок в инфраструктуре, и наняла специалиста с полными правами на продовые серверы. Прошло время и сотрудничество прекратили: доступы отозвали, пароли сменили, учётки заблокировали. Спустя пять дней прод внезапно упал: сервисы недоступны, логи выглядели «разорванными», массовая утечка данных. В ходе внутреннего расследования выяснили – до увольнения был создан скрытый пользователь с правами root, через VPN добавлена отложенная cron-задача на уничтожение системы, а после срабатывания последовал шантаж с требованием выкупа. Как всё закончилось? Читайте здесь.
#пятничноечтиво #kubernetes #devops #security
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍7❤5🔥4🤔2