es
Feedback
Библиотека девопса | DevOps, SRE, Sysadmin

Библиотека девопса | DevOps, SRE, Sysadmin

Ir al canal en Telegram

Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

Mostrar más

📈 Análisis del canal de Telegram Библиотека девопса | DevOps, SRE, Sysadmin

El canal Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 390 suscriptores, ocupando la posición 11 449 en la categoría Tecnologías y Aplicaciones y el puesto 61 235 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 390 suscriptores.

Según los últimos datos del 27 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 6, y en las últimas 24 horas de 0, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 10.22%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 4.22% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 062 visualizaciones. En el primer día suele acumular 439 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 1.
  • Intereses temáticos: El contenido se centra en temas clave como devops'a, навигация, скрипт, docker, git.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 28 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

10 390
Suscriptores
Sin datos24 horas
-97 días
+630 días
Archivo de publicaciones
MWS Cloud Platform приглашает на сеньорский митап Что обсудим: → Почему vhost-user обходит virtio-net → Когда писать свой бал
MWS Cloud Platform приглашает на сеньорский митап Что обсудим: → Почему vhost-user обходит virtio-net → Когда писать свой балансировщик вместо HAProxy → Почему нельзя выбрать один язык для платформы Поспорим на дебатах Go vs Kotlin — все желающие могут присоединиться и задавать вопросы из зала. 📅 9 апреля, 18:00 📍 Место Санкт-Петербург, Конногвардейский бульвар, 4, Mishka Bar Для кого: сеньоров-разработчиков, сетевых инженеров и архитекторов облачных платформ Сложность докладов: 8/10 Места ограничены, регистрация обязательна. 👉

🛠 Функции в bash-скриптах Если ваш скрипт перевалил за 30 строк и вы уже сами не понимаете, что происходит в середине это си
🛠 Функции в bash-скриптах Если ваш скрипт перевалил за 30 строк и вы уже сами не понимаете, что происходит в середине это сигнал разбить его на функции. Одна функция — одна задача Это не правило из учебника, это практика. Когда каждая функция делает ровно одно дело, скрипт читается сверху вниз без лишних усилий. Видите имя функции и понимаете, что она делает. Вот простой пример. Скрипт делает бэкап директории и пишет лог.
#!/bin/bash
set -euo pipefail

log() {
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
}

backup_files() {
  local source_dir="$1"
  local dest_dir="$2"
  log "Backing up $source_dir to $dest_dir"
  cp -r "$source_dir" "$dest_dir"
}

# Main
backup_files "/var/www" "/backups/www"
log "Done."
Обратите внимание на local перед переменными внутри backup_files. Без local переменная source_dir существует глобально. Если где-то ещё в скрипте есть переменная с таким же именем, вы получите баг, который сложно отловить. С local переменная живёт только внутри своей функции и нигде больше. Ещё плюс это переиспользование. Функцию log можно взять и вставить в любой другой скрипт без изменений. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

💻 Локальный эмулятор AWS В марте 2026 года LocalStack Community Edition перестал быть бесплатным в полном смысле слова. Тепе
💻 Локальный эмулятор AWS В марте 2026 года LocalStack Community Edition перестал быть бесплатным в полном смысле слова. Теперь нужен токен авторизации, CI-поддержка только в платных тарифах, а обновления безопасности заморожены. Floci — это open-source замена. Без регистрации, без ограничений в CI. Запускается одной командой. Floci эмулирует больше 20 AWS-сервисов, в том числе те, которых не было в бесплатном LocalStack. S3, SQS, DynamoDB, SNS, Lambda, IAM, STS, Cognito, API Gateway v2, ElastiCache с IAM-аутентификацией, RDS (PostgreSQL и MySQL), Kinesis, KMS. Все 408 SDK-тестов проходят. Минимальный docker-compose.yml:
services:
  floci:
    image: hectorvent/floci:latest
    ports:
      - "4566:4566"
    volumes:
      - ./data:/app/data
Все сервисы доступны на http://localhost:4566. Регион и учётные данные могут быть любыми. Если вы использовали LocalStack в CI или локальной разработке и не хотите переходить на платный тариф, Floci закрывает эту потребность. ➡️ Репозиторий 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера

🪄 Главный спаситель веток в Git Git хранит историю всех перемещений HEAD в reflog. Даже если коммит удалён, то может он ещё живёт в репозитории. Запускаем:
git reflog
Увидите список всех состояний HEAD с хэшами. Находим запись до того, как всё сломалось:
abc1234 HEAD@{3}: commit: my important work
Восстанавливаем коммит Вариант 1. Вернуть ветку на нужный коммит:
git reset --hard abc1234
Вариант 2. Cоздать новую ветку из того коммита:
git checkout -b recovery-branch abc1234
Если были незакоммиченные изменения Reflog тут не поможет — git reset --hard уничтожает их без следа. Но есть варианты: • Проверьте .git/ORIG_HEAD. Иногда Git сохраняет предыдущее состояние туда • Попробуйте git fsck --lost-found —- ищет «висячие» объекты в репозитории • Если работаете в VS Code или IntelliJ, то проверьте Local History, часто спасает Git почти никогда не удаляет данные сразу. У вас есть ~30 дней, пока сборщик мусора не почистит потерянные объекты. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

⭐️ Топ-вакансий для девопсов за неделю DevOps — до 400 000 ₽, удалёнка DevOps Engineer Middle — от150 000 ₽, удалёнка DevOps-инженер — от 200 000 ₽ , удалёнка ➡️ Еще больше топовых вакансий — в нашем канале Devops Jobs 🐸Библиотека devops'a #вакансия_недели

⚙️ Алерты о проде в MAX Шутка! Сегодня же первое апреля! 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека devops'a
⚙️ Алерты о проде в MAX Шутка! Сегодня же первое апреля! 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a

🛡 Всегда валидируйте входные данные в bash-скриптах Скрипт без проверок это скрипт, который упадёт в самый неподходящий моме
🛡 Всегда валидируйте входные данные в bash-скриптах Скрипт без проверок это скрипт, который упадёт в самый неподходящий момент с непонятной ошибкой. Или, что хуже, отработает успешно с неправильными данными. Две проверки, которые должны быть в начале любого скрипта:
#!/bin/bash
set -euo pipefail

# Проверка количества аргументов
if [[ $# -lt 1 ]]; then
  echo "Usage: $0 <filename>"
  exit 1
fi

filename="$1"

# Проверка что файл существует
if [[ ! -f "$filename" ]]; then
  echo "Error: file '$filename' not found"
  exit 1
fi
$# это количество переданных аргументов. $0 — имя самого скрипта. $1, $2 и далее это аргументы по порядку. Валидация в начале — это контракт скрипта. Либо все условия выполнены и работа начинается, либо скрипт завершается с понятным сообщением до того, как что-то пошло не так. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

🔄 SystemRescue 13.00 Обновился SystemRescue. Это загрузочный Linux-дистрибутив для восстановления систем, работы с дисками и
🔄 SystemRescue 13.00 Обновился SystemRescue. Это загрузочный Linux-дистрибутив для восстановления систем, работы с дисками и диагностики, аналог старого SystemRescueCd. Что изменилось Ядро обновлено до Linux 6.12.20 с долгосрочной поддержкой (LTS). bcachefs — инструменты и модуль ядра обновлены до версии 1.37.3. bcachefs продолжает активно развиваться, обновления важны для работы с этой файловой системой. GParted обновлён до 1.8.1 — основной GUI-инструмент для работы с разделами. HiDPI-экраны — исправлена проблема с крошечным шрифтом: теперь используется шрифт по умолчанию из ядра. Дополнительно добавлен скрипт для настройки масштаба через конфиг. Новые утилиты: yq — обработка YAML, XML и TOML из командной строки, аналог jq для структурированных форматов fatsort — сортировка файлов на FAT-разделах nss-mdns — поддержка mDNS для резолвинга .local-имён в сети iotop на Python заменён на iotop-c, это переписанная на C версия с меньшими зависимостями и более стабильной работой. Исправлен скрипт yay-prepare, который падал с ошибками при подготовке AUR-окружения. ➡️ Release notes 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

🔫 Не автоматизация, а русская рулетка --auto-approve убирает единственную паузу, которую Terraform делает перед тем, как что-то сломать — подтверждение плана. Именно там человек видит «1 to destroy» и успевает остановиться. Без этой паузы план исполняется немедленно. Разработчик переносит ресурс из инлайн-определения в shared module. Имя ресурса меняется. Terraform видит это как «уничтожить старый, создать новый» и это корректная логика. CI-пайплайн с --auto-approve не даёт никому это увидеть до того, как база уже удалена.
# Без --auto-approve вы бы увидели это и остановились:
  ~ aws_security_group.web      # изменить — окей
  + aws_cloudwatch_alarm.cpu    # добавить — окей
  - aws_db_instance.primary     # УДАЛИТЬ — стоп

# С --auto-approve это уже исполняется, пока вы читаете телегу
Что делать вместо этого Разделить plan и apply на два шага:
# Шаг 1 — сохранить план
terraform plan -out=plan.tfplan

# Шаг 2 — проверить на деструктивные операции
terraform show -json plan.tfplan | \
  jq '[.resource_changes[]? | select(.change.actions[] == "delete")]'

# Шаг 3 — применить именно этот план, без новых сюрпризов
terraform apply plan.tfplan
Добавить prevent_destroy для критичных ресурсов:
resource "aws_db_instance" "primary" {
  # ...
  lifecycle {
    prevent_destroy = true
  }
}
Terraform упадёт с ошибкой ещё на этапе плана до того, как что-либо будет удалено. Когда --auto-approve допустим Только для эфемерной инфраструктуры: тестовые окружения, которые поднимаются и сносятся в рамках одного CI-прогона, sandbox-окружения без реальных данных. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера

📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека devops'a #пятничный_деплой
📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пятничный_деплой

🛠 [[ ]] вместо [ ] в bash не стиль, а безопасность Одиночные скобки [ ] — это не синтаксис bash, а внешняя команда /usr/bin/[. Двойные [[ ]] — встроенная конструкция самого bash. Разница не только косметическая. Где одиночные скобки ломаются Пустая переменная без кавычек это синтаксическая ошибка:
name=""
 
# [ ] — падает с "unary operator expected"
if [ $name = "admin" ]; then
 
# [[ ]] — работает корректно
if [[ $name == "admin" ]]; then
Строка с пробелами без кавычек:
file="my file.txt"
 
# [ ] — видит два аргумента, ломается
if [ -f $file ]; then
 
# [[ ]] — обрабатывает как одно значение
if [[ -f $file ]]; then
Что умеют только [[ ]] Паттерн-матчинг без внешних утилит:
filename="access.log"
 
if [[ "$filename" == *.log ]]; then
  echo "log file"
fi
Регулярные выражения через =~:
version="2.4.1"
 
if [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
  echo "valid semver"
fi
Логические операторы && и || внутри скобок:
# [ ] — нельзя, нужно выносить наружу
if [ "$a" = "x" ] && [ "$b" = "y" ]; then
 
# [[ ]] — можно внутри
if [[ "$a" == "x" && "$b" == "y" ]]; then
Одно исключение [ ] нужен для POSIX-совместимых скриптов с #!/bin/sh — там [[ ]] не работает. Если шебанг #!/bin/bash — используйте [[ ]] везде. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

🤩 Один плагин вместо пяти команд Знакомая ситуация: под падает в CrashLoopBackOff, и вы начинаете по очереди гонять kubectl
🤩 Один плагин вместо пяти команд Знакомая ситуация: под падает в CrashLoopBackOff, и вы начинаете по очереди гонять kubectl describe pod, kubectl logs --previous, kubectl get events... и пытаетесь склеить картину в голове. kubectl-crashloop делает это за вас одной командой:
kubectl crashloop payments-api-proglib -n production
Плагин объединяет в один терминальный отчёт: - Warning Events из кластера - LastTerminationState (exit code, причина, время) - Логи предыдущего контейнера (--previous) - Если предыдущих логов уже нет — фолбэк на текущие с пометкой Что ещё умеет -o json — JSON-вывод для автоматизации и incident-тулинга --tail N — количество строк логов на контейнер --limit N — максимум записей о крашах -c container — ограничить вывод одним контейнером Установка через Krew:
kubectl krew install crashloop
Базовый запуск:
kubectl crashloop payments-api-proglib
С указанием namespace:
 
kubectl crashloop payments-api-proglib -n production
Конкретный контейнер, больше логов:
kubectl-crashloop payments-api-6d9c9b77d9-x2n5k -n production -c api --tail 10
JSON-вывод для скриптов:
kubectl crashloop payments-api-6d9c9b77d9-x2n5k -n production -o json
Важный нюанс Плагин работает на уровне конкретного пода, а не деплоймента. Если хотите проверить деплоймент, то выберите один из реплика-подов вручную. Это сознательное ограничение: инструмент остаётся простым и предсказуемым. Необходимые права доступа Минимальный набор RBAC-прав в нужном namespace:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: kubectl-crashloop
rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["get"]
  - apiGroups: [""]
    resources: ["pods/log"]
    verbs: ["get"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["list"]
➡️ Репозиторий 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера

📰 Подборка обновлений недели и не только Последний дайджест марта, следующий выйдет уже в апреле. — Wayland 1.25 — Обновлени
📰 Подборка обновлений недели и не только Последний дайджест марта, следующий выйдет уже в апреле. — Wayland 1.25Обновление SysVinitОбновление Ansible5 ошибок проектирования интеграции с кафкойВышел Kali Linux 2026.1 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #дайджест_недели

Ubuntu 26.04 LTS Beta уже доступна Команда Ubuntu выпустила бета-версию Ubuntu 26.04 LTS с кодовым именем Resolute Raccoon. Ф
Ubuntu 26.04 LTS Beta уже доступна Команда Ubuntu выпустила бета-версию Ubuntu 26.04 LTS с кодовым именем Resolute Raccoon. Финальный релиз запланирован на 23 апреля 2026 года. Что изменилось относительно Ubuntu 25.10: Ядро обновилось до версии 7.0, а рабочий стол GNOME до версии 50. В инструментарии разработчика: LLVM 21 стал дефолтным компилятором, Rust обновился до 1.93.1, OpenJDK до версии 25, PHP до 8.5.2 с новым pipe-оператором. В базах данных крупные апдейты: PostgreSQL 18 с новой подсистемой I/O и приростом производительности до 3× при чтении с диска, MariaDB 11.8 теперь в main с полной поддержкой. Docker 29 с экспериментальной поддержкой nftables, containerd image store теперь дефолтный для свежих установок. Съёмные носители теперь монтируются в /run/media вместо /media. ➡️ Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

🔄 Вышел nginx 1.29.7 и 1.28.3 Одновременно вышли два обновления nginx: основная ветка 1.29.7 с новыми возможностями и стабил
🔄 Вышел nginx 1.29.7 и 1.28.3 Одновременно вышли два обновления nginx: основная ветка 1.29.7 с новыми возможностями и стабильная 1.28.3 только с исправлениями безопасности. Уязвимости Закрыто 6 уязвимостей, четыре из которых получили высокий уровень опасности. Три уязвимости связаны с переполнением буфера: CVE-2026-27654 — переполнение в модуле WebDAV при обработке запросов COPY и MOVE с директивой alias. Позволяет обратиться к файлам за пределами базового каталога. Примечательно, что уязвимость обнаружена с помощью AI-модели Claude. CVE-2026-27784 и CVE-2026-32647 — переполнения буфера в модуле ngx_http_mp4_module при обработке специально сформированных MP4-файлов. Последствия могут не ограничиваться аварийным завершением процесса. Остальные три: CVE-2026-27651 — разыменование нулевого указателя при некорректном использовании CRAM-MD5 или APOP. CVE-2026-28753 — манипуляция PTR-записями DNS для подстановки данных атакующего в SMTP-соединение к бэкенду. CVE-2026-28755 — обход OCSP-проверки сертификата в модуле stream. Новое в 1.29.7 Добавлена поддержка Multipath TCP: пакеты теперь можно доставлять одновременно по нескольким маршрутам через разные сетевые интерфейсы. Включается параметром multipath в директиве listen. В директиву keepalive блока upstream добавлен параметр local: для каждого блока location и server теперь можно поддерживать отдельное соединение к upstream вместо общего. Сама директива keepalive в блоке upstream теперь включена по умолчанию. Важное изменение поведения: в режиме прокси теперь по умолчанию используется HTTP/1.1 с keep-alive. Если бэкенд поддерживает только HTTP/1.0, нужно явно вернуть старое поведение:
proxy_http_version 1.0;
proxy_set_header Connection "Close";
➡️ Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

👨‍💻 Две строки, которые спасут ваш bash-скрипт от тихих ошибок Большинство bash-скриптов падают молча. Команда завершилась с ошибкой, но скрипт продолжил работу, удалил не те файлы, задеплоил что-то сломанное. И вы узнаёте об этом только потом. Две строки в начале файла это исправляют:
#!/bin/bash
set -euo pipefail
Первая строка это шебанг. Она говорит системе, каким интерпретатором запускать скрипт. Без неё поведение зависит от оболочки пользователя, а это непредсказуемо. Вторая строка включает три флага сразу. set -e останавливает скрипт, если любая команда завершилась с ошибкой. По умолчанию bash игнорирует ошибки и идёт дальше. set -u превращает обращение к необъявленной переменной в ошибку. Опечатка в имени переменной без этого флага просто вернёт пустую строку и скрипт продолжит работу с пустым значением там, где ожидал путь или имя файла. set -o pipefail ловит ошибки внутри пайпов. Без него такая конструкция:
cat file.txt | grep "pattern"
вернёт успех, даже если cat не смог открыть файл. Флаг фиксирует ошибку в любом месте цепочки. Шебанг + set -euo pipefail это минимальный стандарт для любого bash-скрипта, который делает что-то важное. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

🔄 Вышел Kali Linux 2026.1 Первый релиз 2026 года. Обновление темы оформления плюс несколько весомых новинок. Новая тема 2026
🔄 Вышел Kali Linux 2026.1 Первый релиз 2026 года. Обновление темы оформления плюс несколько весомых новинок. Новая тема 2026 Обновлено всё визуальное окружение: загрузочная анимация, меню GRUB, графический установщик, экран входа и рабочий стол. Также исправлена давняя проблема: анимация загрузки на live-образах раньше зависала в самом начале, теперь работает корректно и зацикливается при долгой загрузке. BackTrack Mode В этом году 20-летие BackTrack Linux, предшественника Kali. В честь этого в kali-undercover добавили режим BackTrack: рабочий стол трансформируется в интерфейс BackTrack 5 с оригинальными обоями, цветами и темой окон. Запустить можно из меню или командой:
kali-undercover --backtrack
Повторный запуск возвращает обычный Kali. 8 новых инструментовAdaptixC2 — фреймворк для постэксплуатации и эмуляции атак • Atomic-Operator — запуск тестов Atomic Red Team на разных ОС • Fluxion — аудит безопасности и социальная инженерия • GEF — расширенный интерфейс для GDB • MetasploitMCP — MCP-сервер для Metasploit • SSTImap — автоматическое обнаружение SSTI-уязвимостей • WPProbe — быстрый энумератор плагинов WordPress • XSStrike — продвинутый сканер XSS Всего: 25 новых пакетов, 9 удалено, 183 обновления. Ядро обновлено до 6.18. Известная проблема Метапакет kali-tools-sdr и пакеты gr-air-modes и gqrx-sdr сломаны в этом релизе. Исправление ожидается в следующем выпуске. NetHunter • Исправлены баги в приложении: WPS-сканирование, проверка HID-разрешений, кнопка «Назад» • Новое ядро для Redmi Note 8 (Android 16) • На Samsung S10 наконец заработали reaver, bully и kismet • Первый рабочий патч для Wi-Fi-инъекций на чипсетах Qualcomm потенциально открывает поддержку для большинства телефонов на Qualcomm Обновиться с предыдущей версии:
sudo apt update && sudo apt -y full-upgrade
➡️ Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

✏️ Кластер сжигает деньги, а SLO трогать нельзя Задача классическая: снизить затраты на инфраструктуру, не уронив надёжность.
✏️ Кластер сжигает деньги, а SLO трогать нельзя Задача классическая: снизить затраты на инфраструктуру, не уронив надёжность. Казалось бы, противоречие. Но решение существует, и оно не одно. Попробуйте ответить сами: с чего бы вы начали? ➡️ А ответ смотрите по ссылке 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #задача_со_звёздочкой

😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности. Как адаптировать продукт и не исчезнуть из выдачи: — интегрировать MCP и A2A-взаимодействие, чтобы агенты могли вас читать; — научиться контролировать стоимость (лимиты, кэш, роутинг между моделями); — настроить AgentOps: трейсинг, логирование и отлов регрессий. Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях. Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше. Зафиксировать цену и начать деплоить агентов без слива бюджета 👈

💻 Load Balancer: в чём разница между L4 и L7 Когда миллионы запросов летят на ваш сервис балансировщик нагрузки решает куда
💻 Load Balancer: в чём разница между L4 и L7 Когда миллионы запросов летят на ваш сервис балансировщик нагрузки решает куда их направить . Но не все балансировщики одинаковы. Главный выбор: L4 или L7. L4 работает на транспортном уровне: TCP/UDP. L7 работает на уровне приложений: HTTP/HTTPS. Это фундаментальное различие определяет всё остальное. L4 — быстро, слепо, надёжно L4-балансировщик видит только IP-адреса и порты, но не понимает, что находится внутри пакетов. Он пересылает TCP/UDP-соединения напрямую на бэкенд-серверы, не заглядывая в содержимое. Что из этого следует: — Минимальная задержка — решения принимаются менее чем за 100 микросекунд — Работает с любым протоколом: MySQL, Redis, кастомные TCP-протоколы — Не умеет роутить по URL, заголовкам или кукам — Не делает SSL-терминацию Хорошая аналогия: L4-балансировщик — как инспектор ДПС, который направляет машины по номерным знакам, не зная, что внутри. L7 — умно, гибко, дороже L7-балансировщик работает на уровне приложений: завершает входящее соединение, при необходимости расшифровывает трафик, инспектирует сообщения, принимает решение о роутинге на основе содержимого, открывает новое TCP-соединение к нужному бэкенду и отправляет туда запрос. Что он умеет: — Роутинг по URL: /api — одни серверы, /static — другие — Манипуляция заголовками, SSL-терминация — Sticky sessions (привязка сессии к конкретному серверу) — Rate limiting, аутентификация, логирование — Защита от XSS и SQL-инъекций — некоторые L7-балансировщики работают как WAF Цена: типичная задержка L7 около 10 миллисекунд против микросекунд у L4. Плюс CPU на парсинг каждого запроса. Когда что использовать Выбирайте L4, если: — Протокол не HTTP (DNS, базы данных, кастомный TCP) — Нужна максимальная скорость и минимальный оверхед — Простое распределение без контентного роутинга Выбирайте L7, если: — Работаете с HTTP/HTTPS/gRPC — Нужен роутинг по путям, заголовкам, кукам — Хотите SSL-терминацию в одном месте — Важна наблюдаемость и безопасность Как это выглядит в продакшне Netflix комбинирует L4-балансировщики на региональном уровне с L7-шлюзами (Zuul/Envoy) для разделения логики. AWS предлагает Classic ELB (L4) и ALB (L7), большинство современных архитектур выбирают ALB. Практическое правило: начинайте с L7 для HTTP-нагрузок. Переходите к L4 только когда упираетесь в производительность или нужен протоколо-агностичный роутинг. Балансировщик это первый рубеж вашей архитектуры. Каждое его решение влияет на пользователя ещё до того, как запрос добрался до вашего кода. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера