Telegram Web
🔧 Как избежать катастроф в продакшене

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

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

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

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

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

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

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

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

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

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

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

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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳 Как 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
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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
🛠 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 минут
📈 Результаты опубликуем в подробной статье

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

👉 Пройти опрос
🌐 Как 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
🛠 Инструмент для наблюдаемости за приложениями

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В экосистеме 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
Kubernetes в облаке: краткая инструкция по развёртыванию

Kubernetes обеспечивает оркестрацию контейнеров, но для успешного развёртывания важны дополнительные компоненты:

1. Kubeadm — утилита, которая автоматизирует инициализацию и настройку кластера Kubernetes.

2. Containerd — менеджер контейнеров, который обеспечивает выполнение и управление контейнерами без лишних зависимостей.

3. Cilium CNI — сетевой плагин, использующий eBPF для высокопроизводительного сетевого взаимодействия и безопасности внутри кластера.

Для развёртывания Kubernetes в облаке используйте kubeadm для инициализации кластера, установив необходимые пакеты и выполнив команду kubeadm init с указанием сети подов.

Контейнерная среда настраивается с помощью containerd: после установки сгенерируйте стандартную конфигурацию и перезапустите сервис.

Для сетевого взаимодействия используйте Cilium CNI, установив его через Helm после добавления официального репозитория.

📎 Подробная инструкция в статье

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Почему стоит избегать phpMyAdmin на проде

phpMyAdmin — удобный, но уязвимый инструмент. Вот почему:

• Легко доступен по предсказуемому URL — мечта для хакеров.

• Подвержен атакам перебором.

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

Что делать:

1. Использовать SSH-туннель, если нужен удалённый доступ.

2. Перейти на MySQL Workbench, DBeaver, DataGrip и др.

3. Ограничить доступ по IP, использовать HTTPS и 2FA.

➡️ Оригинальная статья

💬 Какие инструменты для баз данных используете вы? Пишите в комментарии👇

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ #инфографика про работу Kubernetes

На изображении показана архитектура Kubernetes и как она работает:

Пользовательский интерфейс и CLI (kubectl) — точка взаимодействия разработчика с кластером Kubernetes.

Kubernetes Master (Control Plane) — управляющий центр:

• API Server — принимает и обрабатывает запросы.
• Controller Manager — контролирует и поддерживает заданное состояние кластера.
• Etcd — key-value хранилище для конфигураций и состояния.

Worker Nodes (рабочие узлы) — выполняют приложения:

• Kubelet — управляет контейнерами на узле.
• Container Runtime — среда выполнения контейнеров.
• Kube-proxy — управляет сетевыми взаимодействиями между подами.

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Оптимизируем терминал с fzf

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

Практические применения fzf:

1️⃣ История команд: настройте fzf на Ctrl+R, чтобы искать команды в истории за считанные секунды.

2️⃣ Поиск файлов: используйте fzf с find или rg для поиска файлов по проекту без долгих ожиданий.

3️⃣ Быстрая смена директорий: привяжите Alt+C для мгновенного перехода в нужную папку, выбрав её через fzf.

4️⃣ Интеграция с Vim: откройте файл прямо из редактора командой vim $(fzf), а в Neovim используйте встроенную поддержку.

5️⃣ Гибкая настройка: создайте свои алиасы, скрипты и горячие клавиши для задач, которые выполняете каждый день.

С fzf вы перестанете тратить время на рутинный поиск и ускорите работу в терминале.

➡️ Подробнее с примерами в статье

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
Docker простыми словами - канал шпаргалка для тех, кто использует Docker в работе программиста, тестировщика или на любой другой позиции.

Первый канал по Docker. Поискав в телеграме каналы по docker и не найдя ничего, я решил обьединить контент в одном месте.

По содержанию в канале:
- вопросы с собеседований
- команды докера
- книги
- тесты для проверки ваших знаний
- обучающие видео
- чат для обсуждения

Подписывайтесь, комментируйте и предлагайте свой контент в нашем новом сообществе: @justdocker

Реклама. Киренкина Марина Дмитриевна, ИНН 345702417736. Erid 2VtzqwV5mBs
⌨️ tldr-pages: шпаргалки по командам терминала

tldr-pages — это проект с краткими и понятными примерами команд для терминала. Вместо десятков страниц документации вы получите простые примеры, которые сразу можно использовать.

Проект охватывает команды Linux, macOS и Windows, включая git, curl, docker и многое другое. Благодаря сообществу, база команд постоянно пополняется и актуализируется.

Установить tldr можно через пакетные менеджеры вроде npm, apt, brew и другие.

После установки достаточно ввести:
tldr git

чтобы получить краткую справку по нужной команде.

tldr подходит как новичкам, так и опытным пользователям, позволяя экономить время и быстро находить нужные примеры. В проекте можно участвовать, добавляя новые команды и улучшая существующие страницы.

➡️ Репозиторий проекта

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии «Библиотеки программиста» — ждем вас в команде!

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

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
🆚 Различия между DaemonSets и Deployments в k8s

Kubernetes предоставляет два способа управления подами: DaemonSets и Deployments. Сейчас разберём основные отличия между ними.

Назначение:
• Deployment: управляет статическими приложениями, обеспечивая масштабирование, обновления и откаты.

• DaemonSet: гарантирует запуск одного пода на каждом узле кластера или их подмножеств).

Управление подами:

• Deployment: количество подов определяется через replicas. Поды распределяются по узлам автоматически, но могут группироваться на одних узлах. Для распределения требуется PodAntiAffinity.

• DaemonSet: поды запускаются на каждом узле автоматически. При добавлении/удалении узлов DaemonSet адаптируется.

Стратегии обновлений:

• Deployment: поддерживает rolling updates (постепенное обновление) и rollback (откат к предыдущей версии).

• DaemonSet: обновления выполняются последовательно для каждого пода, но откаты не поддерживаются нативно.

Использование ресурсов:

• DaemonSet может быть избыточным в больших кластерах, если задача не требует присутствия на всех узлах. Например, запуск 15 подов на 50 узлах приведет к неэффективному использованию ресурсов.

• Deployment позволяет гибко масштабировать приложение независимо от количества узлов.

Типичные сценарии:

• Deployment: веб-серверы, микросервисы, пакетные задания.

• DaemonSet: логирование, мониторинг, сетевые компоненты.

Примеры манифестов

Deployment — Nginx:

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80


DaemonSet — Fluentd для сбора логов:

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd
spec:
selector:
matchLabels:
name: fluentd
template:
metadata:
labels:
name: fluentd
spec:
containers:
- name: fluentd
image: fluentd:latest
volumeMounts:
- name: varlog
mountPath: /var/log
volumes:
- name: varlog
hostPath:
path: /var/log


📎 Подробности в статье

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/02/18 11:34:54
Back to Top
HTML Embed Code: