Networking 20/80, уровень 0: модель сети – что происходит, когда ты вводишь URL в браузер

Первый из семи уровней мини-курса "Networking 20/80": 20% сетевых знаний, которые закрывают 80% ежедневной работы DevOps. Без зубрёжки семи слоёв OSI ради собеса – по делу. Сегодня карта местности: какие модели сети существуют и что на самом деле летает между твоим curl и ответом сервера. "OSI – это не то, что нужно зубрить для собеса. Это карта, по которой ты ищешь, на каком уровне сломалось." Откуда это пошло 1969 – ARPANET. Агентство DARPA (Министерство обороны США) финансирует сеть между четырьмя университетами: UCLA, Stanford, UCSB, University of Utah. 29 октября 1969 года Charley Kline пытается отправить слово "LOGIN" из UCLA в Stanford. Система падает после "LO". Первое сообщение в истории интернета – "LO". (Позже шутили: "Lo and behold" – "Вот и чудо".) ...

25 июня 2026 · 8 минут · 1576 слов · DevOps Way

RAG Pipeline 1/N: Qdrant – векторная база данных для AI

Параметр Значение Bloom L3–L4 (Применение → Анализ) SFIA Уровень 2–3 Dreyfus Advanced Beginner → Competent Артефакт docker-compose.yml + скрипт проверки Проверка curl localhost:6333/healthz → ok, семантический поиск работает TL;DR AI-модель забывает всё после каждой сессии. Векторная база данных решает эту проблему – хранит знания в виде чисел и находит похожее по смыслу, а не по ключевым словам. Проблема: AI без памяти Каждая сессия с LLM начинается с чистого листа: БЕЗ RAG: С RAG: ┌──────────┐ ┌──────────┐ │ LLM │──→ Ollama │ LLM │──→ Ollama │ │ │ + RAG │ └──────────┘ └────┬─────┘ │ │ закрыл закрыл сессию сессию │ │ ▼ ▼ ┌──────────┐ ┌──────────┐ │ LLM │ "Я ничего не │ LLM │ "Да, в прошлый │ │ помню" │ + RAG │ раз мы делали X" └──────────┘ └────┬─────┘ │ ┌────▼─────┐ │ Qdrant │ ← вектора └──────────┘ Вы потратили час, объясняя модели архитектуру проекта. Закрыли терминал. Открыли снова – всё с нуля. ...

7 мая 2026 · 8 минут · 1507 слов · DevOps Way

Networking 20/80, уровень 1: IP-адреса и подсети – математика DevOps

Второй из семи уровней мини-курса "Networking 20/80": 20% сетевых знаний, которые закрывают 80% ежедневной работы DevOps. В нулевом уровне разобрали карту местности – на каком слое искать поломку. Сегодня спускаемся на уровень адресов: как из 10.25.1.100/24 за десять секунд достать сеть, broadcast и число хостов, не открывая калькулятор подсетей. "IP-адресация – единственная часть сетей, где нужна арифметика. Хорошая новость: арифметика простая – степени двойки." Откуда это пошло 1981 – IPv4 (RFC 791). Jon Postel (ISI, один из отцов интернета) определяет формат: 32 бита, разделённые на 4 октета. 2^32 = ~4.3 миллиарда адресов. В 1981 году казалось, что хватит навсегда. ...

2 июля 2026 · 7 минут · 1406 слов · DevOps Way

RAG Pipeline 2/N: Embeddings – как текст превращается в числа

Параметр Значение Bloom L3–L4 (Применение → Анализ) SFIA Уровень 2–3 Dreyfus Advanced Beginner → Competent Артефакт Скрипт сравнения моделей + benchmark Проверка Три модели, одна фраза – сравниваем score TL;DR all-MiniLM и nomic-embed-text плохо различают русский текст: борщ и nginx получают одинаковый score. mxbai-embed-large – единственная приемлемая из трёх протестированных, но требует правильной настройки порога. Проблема: мусор на входе – мусор на выходе В прошлом посте мы запустили Qdrant и сделали семантический поиск. Но использовали случайные вектора (random.uniform). В реальном pipeline вектора создаёт embedding-модель – и от неё зависит всё. ...

14 мая 2026 · 10 минут · 2024 слова · DevOps Way

Networking 20/80, уровень 2: DNS – как имена становятся адресами

Третий из семи уровней мини-курса "Networking 20/80". На прошлом уровне научились считать подсети и адреса. Но в реальной работе ты пишешь curl http://api.example.com, а не голый IP. Сегодня – как имя превращается в адрес (кеш браузера → /etc/hosts → кеш ОС → DNS-сервер)1, почему это одна из самых частых причин инцидентов и как за минуту находить, где именно порвалось. "DNS – это телефонная книга интернета. Но в отличие от телефонной книги, она распределена по миллионам серверов и обновляется каждую секунду. И когда она ломается – ломается всё." ...

16 июля 2026 · 8 минут · 1625 слов · DevOps Way

RAG Pipeline 3/N: Чанки – как резать текст, чтобы модель не получала мусор

Параметр Значение Bloom L3–L4 (Применение → Анализ) SFIA Уровень 2–3 Dreyfus Advanced Beginner → Competent Артефакт Скрипт нарезки markdown + stats Проверка 180+ файлов → 3 010 чанков, 0 ошибок Ollama TL;DR Нарезка текста на фрагменты (chunking) – этап, который влияет на качество RAG не меньше, чем выбор модели. Режем по заголовкам H2/H3, дорезаем с перекрытием 150 символов, чистим мусор. 800 символов – потолок для русского текста при 512-токенном лимите модели. ...

20 мая 2026 · 11 минут · 2317 слов · DevOps Way

Networking 20/80, уровень 3: TCP и UDP – анатомия соединения

Четвёртый из семи уровней. Адреса и имена уже пройдены – данные знают, куда ехать. Теперь про то, КАК они едут: TCP с гарантией доставки против UDP без гарантий, трёхстороннее рукопожатие, состояния соединения и два самых частых диагноза на дежурстве, которые новички путают – "refused" и "timeout". "Connection refused" и "Connection timeout" – две самых частых ошибки в DevOps. Они означают совершенно разные вещи, и различие – в TCP. Откуда это пошло 1974 – Vint Cerf и Bob Kahn публикуют TCP (Transmission Control Protocol). Проблема: IP-пакеты могут теряться, дублироваться, приходить не в том порядке. TCP решает: надёжная, упорядоченная доставка поверх ненадёжной сети. ...

23 июля 2026 · 9 минут · 1705 слов · DevOps Way

RAG Pipeline 4/N: Гибридный поиск – почему одних векторов мало

Параметр Значение Bloom L4 (Анализ) SFIA Уровень 3 Dreyfus Competent Артефакт BM25 encoder + RRF fusion скрипт Проверка Hybrid search находит результаты, которые dense и sparse пропускают по отдельности TL;DR Dense-векторы находят похожее по смыслу, но теряют точные совпадения команд. BM25 находит ключевые слова, но не понимает синонимы. Гибридный поиск запускает оба параллельно и сливает результаты через RRF (Reciprocal Rank Fusion). Веса: dense 0.7, sparse 0.3. Итого ~80ms на запрос. ...

27 мая 2026 · 19 минут · 4036 слов · DevOps Way

Интеграция Hashicorp Vault с FreeIPA: Управление секретами в DevOps

Архитектура интеграции graph TB A[Пользователь] B[Vault Server] C[FreeIPA LDAP] A -->|1. Логин| B B -->|2. Проверка| C C -->|3. OK| B B -->|4. Token| A A -->|5. Секреты| B Процесс аутентификации: Пользователь вводит LDAP учётные данные Vault запрашивает FreeIPA LDAP FreeIPA проверяет учётные данные Vault выдаёт токен доступа Пользователь работает с секретами Серия статей: все части Установка FreeIPA NFS + Autofs интеграция Hashicorp Vault интеграция (эта статья) Требования Компонент Требования FreeIPA Настроен и работает (часть 1) Vault Server Linux, 2GB RAM Клиенты Vault CLI Сеть Доступ к FreeIPA:389 Часть 1: Установка Vault Установка на RHEL/CentOS # Репозиторий HashiCorp dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo # Установка dnf install -y vault # Проверка vault --version Конфигурация Vault mkdir -p /etc/vault.d mkdir -p /opt/vault/data cat > /etc/vault.d/vault.hcl << 'EOF' # Vault конфигурация для интеграции с FreeIPA storage "file" { path = "/opt/vault/data" } listener "tcp" { address = "0.0.0.0:8200" tls_disable = 1 } api_addr = "http://192.168.1.30:8200" ui = true EOF chown -R vault:vault /opt/vault /etc/vault.d chmod 640 /etc/vault.d/vault.hcl Важно: tls_disable = 1 только для лаборатории! В production используйте TLS! ...

15 декабря 2025 · 8 минут · 1610 слов · DevOps Way

Networking 20/80, уровень 4: HTTP и TLS – протокол, на котором всё держится

Пятый из семи уровней. Соединение установлено – теперь про то, что по нему говорят. HTTP как язык, на котором общается почти весь веб, и TLS как конверт, в который этот язык заворачивается. Читать статус-коды и вывод curl -v как родной текст – базовый навык любого дежурного. "HTTP – язык, на котором общается 99% веб-сервисов. TLS – конверт, в который этот язык заворачивается. DevOps должен читать HTTP как родной." Откуда это пошло 1991 – Tim Berners-Lee (CERN) создаёт HTTP/0.9. Одна команда: GET /page.html. Одно соединение – один документ. Никаких заголовков, только текст. ...

30 июля 2026 · 8 минут · 1 слово · DevOps Way

RAG Pipeline 5/N: Cross-encoder reranking – когда порядок важнее полноты

В предыдущих сериях: Qdrant (1/N), эмбеддинги (2/N), нарезка на чанки (3/N), гибридный поиск (4/N). Нужный чанк стабильно залетает в top-15. Но порядок внутри этих 15 результатов определяет, какой чанк окажется в top-1. А top-1 – это то, что видит пользователь (или LLM при генерации ответа). Этот пост о том, как заставить систему вчитываться в результаты. Переранжирование: дешёвый двухступенчатый каскад, который не меняет recall, но переставляет результаты так, чтобы лучший оказывался первым. Проблема: RRF не читает документы Гибридный поиск (пост 4/N) работает так: ...

2 июня 2026 · 8 минут · 1 слово · DevOps Way

Networking 20/80, уровень 5: Firewall и сетевая безопасность

Шестой из семи уровней. Ты умеешь пускать трафик – теперь про то, как его фильтровать. Межсетевой экран (firewall) – не "стена", а решение для каждого пакета: пропустить, отбросить молча или отказать явно. Разница между DROP и REJECT однажды сэкономит тебе час отладки "зависшего" клиента. "Межсетевой экран – не стена, а фильтр. Он не "блокирует всё", а решает для каждого пакета: пропустить (ACCEPT), отбросить молча (DROP) или отказать явно (REJECT)." Откуда это пошло 1988 – первый сетевой червь (Morris Worm) заразил ~6000 машин из ~60000 подключённых к интернету, и мир осознал: сети нужна защита. К 1989–1992 в DEC и AT&T Bell Labs появились пакетные фильтры – проверять каждый пакет по правилам (src/dst IP, порт, протокол) и пропускать либо блокировать. ...

8 августа 2026 · 9 минут · 1734 слова · DevOps Way