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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🐳 DeepSeek-R1 — очередной значительный шаг в развитии ИИ. Для сообщества ML-разработчиков и исследователей этот релиз важен по двум причинам:

👉 Это модель с открытыми весами, имеющая уменьшенные, дистиллированные версии.
👉 Она использует и анализирует метод обучения, который позволяет воспроизвести модель рассуждений, подобную OpenAI o1.

Разберемся, как происходило обучение DeepSeek-R1: https://proglib.io/sh/SwVUWXrFN3
🛠 Работа с API без браузера

Существует множество инструментов, которые упрощают взаимодействие с API из командной строки. Вот некоторые из них:

HTTPie: HTTP-клиент с простым синтаксисом, облегчающий отправку HTTP-запросов и просмотр ответов.

jq: инструмент для обработки JSON-данных, позволяющий фильтровать, форматировать и преобразовывать JSON прямо в терминале.

curl: популярная утилита для передачи данных с использованием различных протоколов, часто используемая для взаимодействия с веб-API.

gron: инструмент, преобразующий JSON в плоский формат, что упрощает поиск и обработку данных с помощью стандартных команд Unix.

👀 Подробнее про эти и несколько других инструментов

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Какие вебинары вам действительно нужны?

Привет, девопсы! 👋

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

Ваши ответы дадут нам понимание, какие темы и форматы действительно важны, а также помогут сделать вебинары интереснее и продуктивнее.

Заполнение займет всего пару минут, а нам это очень поможет! Спасибо, что участвуете в нашем развитии! 💙

👉 Пройти опрос
🧩 Что такое Service Discovery

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

🛠 Как это работает

1. Каждый сервис регистрируется в реестре сервисов при запуске.

2. Регулярно отправляет сигналы keep-alive, подтверждая свою работоспособность.

3. Другие сервисы запрашивают реестр, чтобы узнать, где находится нужный им сервис.

Способы настройки реестра

1️⃣ Клиентское обнаружение. Клиент сам запрашивает реестр и выбирает нужный сервис.

2️⃣ Серверное обнаружение. Клиент делает запрос на балансировщик нагрузки, который сам перенаправляет его на рабочий экземпляр сервиса.

➡️ Подробнее про Service Discovery

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤨 OpenTelemetry, Jaeger и Prometheus: контроль микросервисов

Логи могут сказать, что случилась ошибка, но не скажут, где она произошла. OpenTelemetry, Jaeger и Prometheus вместе дают полный контроль.

Что делает каждый инструмент:

OpenTelemetry. Универсальный инструмент для сбора, обработки и экспорта трассировок, метрик и логов.

Jaeger. Система распределённой трассировки, которая помогает анализировать путь запросов через систему.

Prometheus. Мощный инструмент для сбора метрик и мониторинга сервисов в реальном времени.

Для чего используются:

1. Смотреть, как запросы проходят через микросервисную архитектуру

2. Сократить время поиска и устранения сбоев

3. Объединить трассировки, логи и метрики для полной картины

Связка OTEL + Jaeger + Prometheus – это must-have для команд, работающих с микросервисами.

➡️ Посмотреть реализацию стека

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
📈 IT-найм 2025: почему сеньоры будут на вес золота, а джуны — без работы?

Времена «мастеров на все руки» в IT подходят к концу. Работодатели все чаще отдают предпочтение кандидатам с опытом работы на конкретном стеке и с продолжительным опытом в конкретной отрасли, будь то финтех, е-ком, ритейл, фудтех и т. д.

Все потому, что рынок требует специалистов с глубоким пониманием специфики отрасли, способных решать задачи в рамках строгих ограничений.

Рассказываем, какие специалисты будут востребованы в 2025 году и как ими стать.

👉 Читать статью
👍2
🚀 Разбираем Node Affinity в Kubernetes

Node Affinity — это механизм, который позволяет задавать гибкие правила для размещения подов, основываясь на метках узлов. В отличие от nodeSelector, он поддерживает мягкие (preferred) и жёсткие (required) правила

🛠 Как это работает:

В Kubernetes есть два ключевых типа правил:

1️⃣ requiredDuringSchedulingIgnoredDuringExecution — жёсткие требования, под не будет запущен, если узел не соответствует правилам.

2️⃣ preferredDuringSchedulingIgnoredDuringExecution — мягкие предпочтения, Kubernetes попытается запустить под на узле, который соответствует описанию предпочтений, но если такого нет, выберет любой свободный.

Пример YAML-манифеста:
apiVersion: v1
kind: Pod
metadata:
name: gpu-app
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: "gpu"
operator: "In"
values:
- "true"
containers:
- name: app
image: my-gpu-app

Этот под будет запускаться только на узлах, у которых есть метка gpu=true.

📄 Подробнее в документации

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔑 Ключ к статической аутентификации

JSON Web Token (JWT) — это инструмент для безопасной передачи информации между клиентом и сервером.

🛠 Как устроен JWT

JWT состоит из трех частей:

1. Header — содержит тип токена и алгоритм подписи.

2. Payload — включает данные пользователя и утверждения (claims).

3. Signature — обеспечивает защиту от подделки, создается с помощью секретного ключа.

Симметричная или асимметричная подпись

Симметричная подпись использует один общий секретный ключ. Это просто, но менее безопасно.

Асимметричная подпись работает с парой ключей (приватный и публичный), что повышает безопасность.

О чем важно помнить

• Безопасность: не храните секретные ключи в коде.

• Срок действия: ограничивайте TTL токенов.

• Шифрование: используйте HTTPS, чтобы избежать утечек.

📎 Подробности в источнике

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Этот чит-лист поможет быстро сравнить ключевые сервисы AWS, Azure, Google Cloud и Oracle Cloud

🐸Библиотека devops'a #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔧 Как избежать катастроф в продакшене

LGTM Stack даёт полный контроль над логами, метриками и трассировками, помогая выявлять и устранять проблемы до того, как их заметят пользователи

Что входит в LGTM Stack

🔹 Grafana. Визуализация данных, удобные дашборды, алерты.

🔹 Loki. Сбор и поиск логов, фильтрация ошибок.

🔹 Prometheus. Хранение метрик (CPU, запросы, задержки).

🔹 Tempo. Трассировка запросов, выявление узких мест.

Как это настроить

👀 Подробный разбор с кодом и инструкциями — в видео

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1😁1
🏗 🔨 Как не сломать продакшен: 8 основных паттернов распределенных систем

Разработка распределённых систем сопряжена с множеством вызовов: от управления состоянием и взаимодействия сервисов до обработки отказов и масштабирования. Чтобы упростить решение этих задач, инженеры используют проверенные временем архитектурные паттерны.

В статье рассматриваются ключевые шаблоны, помогающие строить надёжные и эффективные распределённые системы.

➡️ Читать статью

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🐳 Как Docker управляет процессами

В Docker каждый контейнер работает как изолированная среда, но процессы внутри него управляются немного иначе, чем в обычной системе.

Как работают процессы в контейнере:

PID 1 – главный процесс контейнера. Если он завершается, контейнер тоже останавливается

Команда docker exec создает новый процесс, но он не является дочерним PID 1

В отличие от стандартных Linux-систем, PID 1 в контейнере не обрабатывает сигналы от дочерних процессов, что может привести к зависшим процессам

Если контейнер работает с несколькими процессами, их управление может стать проблемой. Например, неправильная обработка сигналов SIGTERM может привести к тому, что фоновые процессы не завершатся корректно.

Как избежать проблем

• Используйте инициализатор процессов: tini или dumb-init

• Корректно обрабатывайте сигналы завершения

• Следите за жизненным циклом процессов внутри контейнера

➡️ Подробнее про жизнь контейнеров

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱1
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
🗃 Как хранятся данные в Redis: RDB vs AOF

Когда речь заходит о персистентности данных в Redis, используются два основных механизма:

• RDB (Redis Database Backup) – снимки базы в определённые моменты времени.

• AOF (Append Only File) – журнал, записывающий все изменения в базе.

Как работает RDB

Раз в заданный интервал времени Redis делает снимок всех данных и сохраняет его в файл.

Одним из главных плюсов RDB является быстрое восстановление после аварии — загрузка данных идёт значительно быстрее, чем при использовании AOF.

Основной минус RDB — потенциальная потеря данных. Если сервер неожиданно упадёт между созданием снимков, все изменения, сделанные после последнего сохранения, будут утеряны.

Как работает AOF

Каждый запрос, изменяющий данные записывается в лог.

Основное преимущество AOF — минимальная потеря данных. В зависимости от настроек можно записывать изменения каждую секунду или в реальном времени.

Файл AOF занимает больше места на диске, так как содержит историю всех операций. Восстановление из AOF занимает больше времени по сравнению с RDB, так как необходимо последовательно выполнить все записанные команды.

Делитесь в комментариях где бы использовали каждый метод? 👇

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🛠 Tekton: Гибкий CI/CD для Kubernetes

Tekton — это open-source фреймворк для построения CI/CD-пайплайнов, созданный специально для облачных и Kubernetes-ориентированных сред.

Как работает Tekton

В Tekton всё строится вокруг нескольких ключевых компонентов:

🔹 Tasks — базовые строительные блоки: сборка, тестирование, деплой.

🔹 Pipelines — объединение задач в последовательный процесс.

🔹 PipelineRuns — конкретные запуски пайплайнов.

🔹 Triggers — автоматизация запуска пайплайнов по событиям.

Tekton управляет процессами сборки, тестирования и развертывания внутри Kubernetes, обеспечивая масштабируемость и отказоустойчивость.

Когда использовать Tekton

• Уже используете Kubernetes и хотите CI/CD, интегрированное в кластер.

• Нужен гибкий пайплайн без привязки к конкретному CI-серверу.

• Важна интеграция с DevOps-инструментами, такими как ArgoCD или GitOps.

🌐 Официальный сайт проекта

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 Как себя чувствует IT-рынок в 2025 году?

Друзья, запускаем важное исследование рынка труда в IT!

Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост

🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье

Ваши ответы помогут составить реальную картину происходящего в индустрии.

👉 Пройти опрос
2
🌐 Как DNS-сервер меняет правила игры

Настройка собственного DNS-сервера — это шаг к безопасности, скорости и контролю.

Что такое DNS

Кратко — вместо того чтобы запоминать IP-адреса сайтов, вы вводите привычный адрес, например, google.com, а DNS находит нужный IP. Подробнее тут.

Преимущества собственного DNS-сервера:

Конфиденциальность: никто посторонний не видит ваши запросы.

Скорость: кэширование часто посещаемых сайтов ускоряет загрузку.

Безопасность: фильтрация вредоносных доменов и защита от фишинга.

Контроль: вы сами решаете, какие сайты разрешать или блокировать.

Популярные инструменты для создания своего сервера

1. Pi-hole — отличный вариант для блокировки рекламы на уровне всей сети.

2. BIND (Berkeley Internet Name Domain) — классический DNS-сервер.

3. Unbound — легкий и быстрый DNS-сервер с упором на безопасность.

➡️ Пошаговый гайд в статье

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня — День всех влюбленных. И знаете, какая самая важная любовь? Конечно, к своей работе! ❤️👨‍💻👩‍💻

Мы решили, что лучше всего выразить свои чувства через музыку. Поэтому с помощью нейросетей создали гимн для всех DevOps-инженеров — настоящих героев, без которых мир софта просто рухнул бы.

Без нас не взлетит ни одна программа, не оживут серверы, не соберутся пайплайны!

Делитесь в комментариях, за что вы любите свою работу (или не очень 😄). Какие моменты заставляют вас чувствовать себя героем DevOps? 💙👇

Герой DevOps не знает сна
Инфраструктуру держит он крепко


🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥41
🛠 Инструмент для наблюдаемости за приложениями

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

🔑 Ключевые возможности HyperDX:

• Логи, метрики, трейсы, ошибки и записи сеансов отображаются вместе, что помогает быстро находить источники проблем.

• Фильтрация по уровням логов, запросам, трассировкам и свойствам за секунды.

• Отслеживание задержек, ошибок и метрик производительности от фронтенда до базы данных.

• Визуализация сложных метрик без сложных SQL-запросов.

• Простая настройка уведомлений по логам, метрикам и трассировкам.

• Быстрая установка через Docker Compose.

HyperDX легко подключается к вашим сервисам с помощью OpenTelemetry SDK, а также имеет готовые клиенты для Node.js и Python.

Где узнать больше:

📎 GitHub-репозиторий

📎 Документация

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📈 BI на максималках: 4 варианта ускорения реализации комплексных решений

Четыре проверенных способа сократить время реализации BI-проектов без потери функциональности. Реальный опыт backend-разработчика, который поможет вам избежать типичных ошибок при внедрении Business Intelligence.

Подробнее в нашей статье: https://proglib.io/sh/YuEShfjNiD
21
🐥🥚 Проблема «курицы и яйца»

В экосистеме Kubernetes Cloud Controller Manager (CCM) отвечает за управление ресурсами, такими как балансировщики нагрузки, тома хранения и сетевые интерфейсы.

Проблема «курицы и яйца» в контексте CCM заключается в следующем: для полноценной работы кластера Kubernetes необходим CCM, который, в свою очередь, зависит от облачных ресурсов, создаваемых и управляемых самим кластером. Это создает замкнутый круг, где ни одна из сторон не может быть инициализирована первой без наличия другой.

Возможные решения этой проблемы включают:

1️⃣ Временная конфигурация: на этапе развертывания кластера используются статические или предварительно настроенные ресурсы, которые позволят запустить базовые компоненты. После инициализации CCM берет на себя управление и динамическую настройку этих ресурсов.

2️⃣ Использование внешних инструментов: применение сторонних утилит или скриптов для предварительного создания необходимых облачных ресурсов до запуска кластера. Это обеспечивает основу для последующей работы CCM.

3️⃣ Постепенная инициализация: построение процесса развертывания таким образом, чтобы сначала запускались минимальные компоненты кластера, способные взаимодействовать с облаком, после чего инициализируется CCM, который завершает настройку и управление ресурсами.

Разработчики Kubernetes работают над упрощением развертывания и минимизации зависимости от предварительных настроек.

📎 Подробнее в блоге kubernetes

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1