Библиотека девопса | DevOps, SRE, Sysadmin
10.2K subscribers
1.52K photos
74 videos
4 files
2.74K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
💻 Вакансия недели

У нас в канале много интересных вакансий. Вот одна из них:

Нужен Senior SRE с опытом администрирования Linux от трёх лет. Обязательно: опыт администрирования MySQL и Kubernetes. Удалёнка и от 300 000 ₽.

🐸 Библиотека devops'a

#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳 Как работает Docker изнутри

Docker Client отправляет команды docker build, docker pull, docker run Docker демону, который работает на Docker хосте. Демон отвечает за создание и запуск контейнеров, а также за загрузку образов из Docker Registry, например, Docker Hub или других репозиториев.

Образы хранятся локально на хосте и используются для запуска контейнеров, создавая из них изолированные среды выполнения.

🐸 Библиотека devops'a

#архитектура_на_салфетке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁1
🧩 Microsoft Defender перепутал версии SQL Server

Microsoft подтвердили баг, из-за которого встроенный Microsoft Defender начал ошибочно помечать SQL Server 2017 и 2019 как End-of-Life.

Алгоритм решил, что поддержка закончилась, хотя в реальности SQL Server 2019 жив до 2030 года, а 2017 — до 2027.

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🖥 JSON Crack — визуализируйте данные

JSON Crack — это сервис сразу превращает данные в наглядное дерево: можно раскрывать узлы, искать нужные поля и экспортировать схему как изображение. Всё работает прямо в браузере — без отправки данных на сервер.

Кроме JSON поддерживаются YAML, XML, CSV и TOML. Есть валидатор, конвертер и генератор типов для TypeScript и Go. Отличный инструмент, если нужно быстро разобраться в структуре API или объяснить коллегам, как устроен ответ сервера.

➡️ Визуализировать свой JSON

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
📰 Итоги недели

О чем спорили и размышляли.

Вышел OpenSSH 10.2

Исправления критических ошибок, влияющих на использование ControlPersist и поддержка PKCS#11.

Обновления дистрибутивов

50 фраз, из-за которых ваше резюме летит в корзину

Grafana на ObservabilityCON

Microsoft Defender начал ошибочно помечать SQL Server 2017 и 2019 как End-of-Life

🐸 Библиотека devops'a

#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что вам больше всего понравилось за эту неделю
Anonymous Poll
52%
Мемы
45%
Небольшие посты
27%
Объёмные посты
8%
Холиварни
⚙️ Структурный diff, который понимает код

Разбор изменений скриптов и быстрая интеграция pull request-ов — часть ежедневной рутины. Классические diff-утилиты путаются в кавычках, списках и многострочных изменениях, а ручное разрешение конфликтов ­чаще раздражает, чем помогает.

Difftastic — это инструмент для сравнения файлов, созданный специально для разработчиков, которым важны не просто различия на уровне строк, а осмысленные изменения в коде.

Он построен на базе tree-sitter — парсера, поддерживающего десятки языков программирования, и анализирует файлы на уровне синтаксиса.

Пример использования:
difft simple_1.js simple_2.js


или для git:
difft git main feature-branch


➡️ Сравнить файлы

🐸 Библиотека devops'a

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
В proglib.academy — Глобальная распродажа знаний ‼️

💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.

Курсы с практикой, без воды и пафоса.
Просто берёшь и делаешь апгрейд.


👉 Успей забрать свой курс на proglib.academy
🛠 Bun 1.3 упрощает деплой JS-приложений

Bun 1.3 решает несколько проблем, с которыми DevOps сталкивается при работе с Node.js-приложениями. Разберём, какие фичи добавили.

Главная фича для деплоя — компиляция в standalone executable. Вместо образа с Node.js, npm install и гигабайтом зависимостей получаете один бинарник:
bun build --compile ./app.ts --outfile myapp


Также кросс-компиляция из коробки, собираете на CI под все платформы:
bun build --compile --target=linux-x64 ./app.ts --outfile app-linux
bun build --compile --target=darwin-arm64 ./app.ts --outfile app-macos
bun build --compile --target=windows-x64 ./app.ts --outfile app.exe


Не нужно тащить драйверы для PostgreSQL, MySQL, SQLite и Redis. Всё встроено, zero dependencies:
import { sql, redis } from "bun";

await redis.set("cache_key", data);
const users = await sql`SELECT * FROM users`;


В версии 1.3 снизили потребление памяти на 10-30% для популярных фреймворков (Next.js -28%, Elysia -11%). Idle CPU тоже оптимизировали — приложение не жрёт процессор в режиме ожидания.

➡️ Подробнее про обновление

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Возьмем на поддержку ваш Zabbix и/или обучим работе на официальных курсах

Gals Software — команда сертифицированных экспертов с многолетним опытом работы с Zabbix. Наши специалисты освобождают руки администраторов систем и дают им уверенность в надежности мониторинга.

💼Техподдержка 1,2 и 3 линии (описание на сайте):

🧭 проводим аудит и оптимизацию архитектуры (сервер, прокси, БД)

🧩 настраиваем шаблоны: стандартные и кастомные под ваш стек (Linux/Windows, СУБД, сеть, бизнес-метрики)

🔕 снижаем событийный шум: нормализация триггеров, пороги, зависимые элементы

🔗 интегрируем Zabbix с Telegram, почтой, ITSM/CMDB, веб-хуками и внешними API

📈 строим понятные дашборды для бизнеса и техподдержки (Grafana по желанию)

⬆️ безопасно обновляем версии, мигрируем и масштабируем

🧑‍🏫 обучаем вашу команду и делимся практиками


🎓 Тренинги от создателей Zabbix на русском с получением официального сертификата:

📅 Zabbix сертифицированный специалист 7.0 (ZCS 7.0) 17-21 ноября 2025

📅 Zabbix сертифицированный эксперт 7.0 (ZCE 7.0) 24-28 ноября 2025

📅 Zabbix сертифицированный профессионал 7.0 (ZCP 7.0) 15-17 декабря 2025

❗️Полное расписание тренингов.

Интенсивы, в отличие от многомесячных тренингов, позволяют максимально быстро погрузиться в тему и начинать работу с Zabbix сразу после прохождения тренинга.

Подробную информацию о наших услугах вы можете запросить, написав @galssoftware или через почту hello@gals.software.

Реклама. ООО Галс Софтвэр, ИНН 5047195298, erid
2VtzqxReyBB
🔥8
У библиотеки программиста тоже есть свой Х.

Настоятельно рекомендуем залогиниться прежде чем заходить в наш канал, ведь Х скрывает посты от случайных пользователей

🐸 Библиотека devops'a

#пятничный_деплой
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🔥 Держим приложение всегда готовым к запросам

Холодный старт — это когда платформа создаёт новый контейнер для вашей функции с нуля. Надо загрузить код, поднять рантайм, инициализировать библиотеки, открыть соединения. Всё это может занять от 500 мс до нескольких секунд.

Проблема не в том, что это происходит — это нормально. Проблема когда это происходит прямо во время запроса пользователя.

Тёплый пул держит нужное количество инстансов постоянно прогретыми. Платформа их уже запустила, код загружен, зависимости инициализированы. Запрос попадает в уже работающий контекст.

Настройка в Kubernetes

Базовый Deployment с фиксированным числом реплик:
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-service
spec:
replicas: 3 # всегда 3 пода
selector:
matchLabels:
app: api
template:
metadata:
labels:
app: api
spec:
containers:
- name: api
image: registry.example.com/api:latest


С автомасштабированием, но с минимумом подов:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: api-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: api-service
minReplicas: 3 # минимум всегда тёплых
maxReplicas: 20 # максимум при нагрузке


K8s держит указанное количество подов всегда запущенными. Если приходит больше запросов — HPA создаёт дополнительные поды. Но первые запросы всегда попадут в прогретые.

Сколько реплик держать

• 2-3 реплики — если у вас стабильный трафик
• 5-10 реплик — для критичных API с непредсказуемыми всплесками
• По реплике на availability zone — если распределяете нагрузку по зонам

Не держите 50 реплик на всякий случай. Смотрите в метрики:
kubectl top pods -l app=api


Тёплый пул — это способ сделать так, чтобы пользователи не замечали холодные старты.

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥱1
🤓 Пока Python стал π-thon, ты можешь стать Data Scientist'ом

В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.

В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;

🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября

👉 Записаться на курс
👀 Смотреть на весь файл сразу

Tino — простая CLI-тулза, которая показывает весь текстовый файл целиком в одном окне терминала, разбивая его на колонки.

Чтобы её использовать нужно лишь написать в терминале:
tino имя_вашего_файла


Проект был написан на чистом Си и не зависит ни от каких библиотек. Для такого уровня нужны фундаментальные знания, которые есть на нашем интенсиве по архитектуре. До конца октября ещё и со скидкой.

➡️ Попробовать Tino

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
💻 Обновления и откаты в Kubernetes

Kubernetes делает обновления приложений безопасными благодаря механизму непрерывных обновлений (rolling updates). Это значит, что ваш сервис продолжает работать во время обновления — новые версии запускаются постепенно, а старые останавливаются только после успешного запуска новых.

Как обновить приложение

Обновите образ контейнера командой:
kubectl set image deployment/my-deployment nginx=nginx:1.21


Проверьте, как идёт обновление:
kubectl rollout status deployment my-deployment


Kubernetes хранит историю развёртываний. Откатиться к предыдущей версии очень просто:
kubectl rollout undo deployment my-deployment


🐸 Библиотека devops'a

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🖥 Tails 7.1: анонимность и безопасность

Вышла новая версия Tails 7.1 — дистрибутива Linux, созданного для максимальной приватности и анонимности в сети.

Tails (The Amnesic Incognito Live System) — это live-система, которая загружается с USB-флешки и не оставляет следов на компьютере. Весь трафик автоматически идёт через сеть Tor, а после завершения работы все данные стираются. Это как работать в режиме инкогнито, только на уровне всей операционной системы.

Что нового в версии 7.1

• Обновлён Tor Browser до последней версии

• Исправлены критические уязвимости в ядре Linux и системных компонентах

• Улучшена совместимость с современным железом, особенно с Wi-Fi адаптерами

➡️ Попробовать Tails

Чтобы быть гуру анонимности стоит нужно знать как работает система. Наш интенсив по архитектуре прокачивает эти знания со скидкой.

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🧐 Хочешь в Data Science, но не знаешь, с чего начать?

Пройди короткий тест по математике — бот покажет, насколько ты готов к переходу и что стоит подтянуть.

Всего пару минут — и ты поймёшь, куда двигаться дальше.


👉 Пройти тест
Зачем сначала делать COPY package*.json ./ и только потом RUN npm ci, а уже затем COPY . .?

Так кэшируется слой с зависимостями: пока манифесты не меняются, npm ci берётся из кеша, а изменения в исходниках не инвалидируют установку пакетов. Итог — быстрые пересборки и предсказуемость.

Библиотека собеса по DevOps
👍2🤩1
🖥 Как задеплоить Elasticsearch

Elasticsearch — движок для поиска и аналитики в реальном времени. Разбираемся, как быстро развернуть его для логов, метрик и мониторинга.

Быстрый старт с Docker Compose

Самый простой способ поднять Elasticsearch локально или в dev-окружении — Docker Compose:
version: '3.8'

services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ports:
- "9200:9200"
- "9300:9300"
volumes:
- esdata:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1

kibana:
image: docker.elastic.co/kibana/kibana:8.11.0
container_name: kibana
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
depends_on:
- elasticsearch

volumes:
esdata:
driver: local


Production-ready deployment

Для прода нужны дополнительные настройки, как минимум мультинодовый кластер:
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
- node.name=es01
- cluster.name=prod-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- xpack.security.enabled=true
- "ES_JAVA_OPTS=-Xms4g -Xmx4g"
volumes:
- esdata01:/usr/share/elasticsearch/data

es02:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
- node.name=es02
- cluster.name=prod-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- xpack.security.enabled=true
volumes:
- esdata02:/usr/share/elasticsearch/data

es03:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
- node.name=es03
- cluster.name=prod-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- xpack.security.enabled=true
volumes:
- esdata03:/usr/share/elasticsearch/data


Частые проблемы и решения

Out of memory:

• Проверьте настройки heap: не более 50% RAM
• Используйте ulimit -l unlimited для memlock

Медленные запросы:

• Оптимизируйте маппинги индексов
• Используйте index lifecycle management
• Настройте правильное количество шардов

Проблемы с дисковым пространством:

• Включите ILM для автоматической ротации индексов
• Настройте retention policy для старых данных
• Используйте _forcemerge для оптимизации

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1