Библиотека девопса | 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
🔧 Не знаете чем анализировать Linux?

Если вы занимаетесь мониторингом Linux, отладкой или оптимизацией производительности, выбор между Tracepoints, Kprobes и Fprobes может быть непростой задачей.

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

📚 Почему стоит прочитать?
Понятное сравнение: автор подробно объясняет различия между этими инструментами и их применимость к различным сценариям.
Практические рекомендации: вы узнаете, когда использовать Tracepoints для простого мониторинга, Kprobes для глубокого анализа, или Fprobes для высокопроизводительных задач.
Примеры из реальной практики: на конкретных кейсах показано, как выбрать инструмент для анализа системы или приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎮 DOOM как искусство? Да!

Вы когда-нибудь думали, что DOOM — это не просто игра, а настоящее искусство? Если нет, то "DOOM: The Gallery Experience" вас переубедит.

🖼 Что это?
Это необычная галерея, где уровни культового шутера превращены в экспонаты. Вас ждёт прогулка по знакомым аренам, но теперь вместо демонов — атмосфера спокойствия и эстетики. Звучит абсурдно? Возможно. Но выглядит невероятно!

Чем цепляет?
Ретро-дизайн DOOM сочетается с музейной атмосферой.
Музыка и освещение создают уютное ощущение — никакого стресса, только удовольствие.
Каждый уголок можно рассматривать как арт-объект, а не поле боя.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🔍👀 Что произойдет, если удалить системные папки на разных ОС?

В этом видео проверяется, что случится при удалении ключевых системных папок на популярных операционных системах:
Windows: папка System32
macOS: папка System
Linux: корневая папка /
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 GitHub и поддельные звезды?

💡 Знали ли вы, что на GitHub обнаружено 4,5 миллиона поддельных звёзд? Исследователи проанализировали это явление и выяснили, что гонка за популярностью на платформе становится всё более рискованной.

🔍 Кто и зачем это делает:
Фейковые аккаунты создают звезды для мошеннических репозиториев, часто связанных с пиратским ПО или вредоносными программами.
Иногда звёзды покупают для "раскрутки" реальных проектов, но эффект от этого кратковременный.

⚠️ Чем это опасно:
Поддельные звёзды помогают мошенникам создавать видимость доверия к их коду.
Вредоносные репозитории могут навредить как пользователям, так и разработчикам, доверившимся числу звёзд.

🤖 Решение:
Исследователи разработали инструмент StarScout, который выявляет подозрительные репозитории по аномалиям в активности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🚀 Что нового в Windows Server 2025?

Microsoft представила Windows Server 2025 в конце прошлого года, и это обновление принесло множество интересных возможностей:
🔥 Active Directory нового поколения: поддержка NUMA, улучшенная безопасность (TLS 1.3, SHA-256/384), масштабируемость до 32 KB страниц.
🔒 File Server Security: SMB over QUIC для безопасного доступа к файлам без VPN и защита от атак методом перебора паролей.
⚙️ Hyper-V: GPU partitioning для задач ИИ, поддержка до 248 виртуальных процессоров и 240 ТБ памяти.
📦 Контейнеры: уменьшенные образы, независимость от обновлений хоста.
Хранилище данных теперь на 70% быстрее благодаря оптимизации NVMe.
🔄 Hotpatching: установка обновлений без перезагрузки.
😁4🥱2
🔒 Что такое Zero Trust Architecture?

Современные киберугрозы требуют новых подходов к безопасности, ведь традиционные методы защиты часто оказываются недостаточно эффективными. Zero Trust Architecture (ZTA) меняет правила игры, основываясь на принципе «никогда не доверяй, всегда проверяй».

Вот что это значит:
Каждый запрос проверяется: не важно, откуда идёт запрос — изнутри компании или извне, доступ даётся только после строгой проверки.
Минимальный доступ: пользователи и устройства получают доступ только к тем ресурсам, которые действительно необходимы.
Мониторинг 24/7: постоянный анализ действий для выявления подозрительной активности.
МФА и шифрование: мультифакторная аутентификация и защита данных на всех этапах.
👏4🔥1
🚀 Как запустить Kubernetes на Docker Desktop за несколько шагов

Запуск Kubernetes на локальной машине стал ещё проще с помощью Docker Desktop. Этот процесс не требует облачной инфраструктуры и даёт возможность работать с контейнеризированными приложениями прямо на компьютере.

Шаги для настройки:
1️⃣Установка Docker Desktop

2️⃣ Включение Kubernetes: в настройках Docker Desktop есть раздел для Kubernetes. Нужно просто активировать опцию Enable Kubernetes. Это позволяет подключить Kubernetes к Docker и использовать его на локальной машине.

3️⃣ Перезапуск Docker Desktop: после активации опции нужно применить изменения и перезапустить Docker Desktop. Это завершит настройку кластера Kubernetes.

4️⃣Проверка работы кластера: чтобы убедиться, что кластер работает корректно, достаточно выполнить команду:
kubectl cluster-info

В ответ будет показана информация о текущем состоянии кластера.

⚡️Начало работы с приложениями: после настройки кластера можно начать развертывать и управлять контейнерами с помощью Kubernetes, тестировать приложения и настраивать окружение для разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Какие у вас бывали фейлы с Linux? Админ, к примеру, как-то забыл поставить загрузчик😅

#мем
51
Что такое SSL-сертификат?

SSL (Secure Sockets Layer) — это технология, обеспечивающая безопасное соединение между браузером пользователя и сервером сайта. SSL-сертификат — это цифровой документ, который подтверждает подлинность сайта и шифрует данные, передаваемые между пользователем и сервером.
Когда сайт использует SSL, в его адресной строке появляется "https" вместо "http", а соединение становится защищённым.

Как работает SSL?

Вся информация, которую вы вводите на сайте (например, логины, пароли, номера банковских карт), шифруется, чтобы её нельзя было перехватить и прочитать.
SSL-сертификат гарантирует, что вы подключаетесь к подлинному сайту, а не к его поддельной копии.
Обеспечивается защита от изменения или подмены данных во время их передачи.

Зачем нужен SSL-сертификат?
Защита данных пользователей. Без SSL любая информация, передаваемая через интернет, может быть перехвачена злоумышленниками.
Доверие пользователей. Замок в адресной строке и префикс "https" внушают уверенность, что сайт безопасен.
SEO-преимущества. Поисковые системы, такие как Google, отдают предпочтение сайтам с SSL и ранжируют их выше.
Требования законодательства. Во многих странах обработка персональных данных без использования защищённого соединения является нарушением закона.

Виды SSL-сертификатов
Существует несколько типов SSL-сертификатов в зависимости от уровня проверки:
1️⃣ DV (Domain Validation): Проверяет только владение доменом.
2️⃣ OV (Organization Validation): Подтверждает организацию, владеющую сайтом.
3️⃣ EV (Extended Validation): Предоставляет максимальный уровень доверия, отображая название компании в адресной строке.

Как получить SSL-сертификат?
Бесплатные сертификаты (например, от Let’s Encrypt): подходят для небольших сайтов и блогов.
Платные сертификаты: обеспечивают более высокий уровень защиты и обычно используются для коммерческих сайтов и интернет-магазинов.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4
⚡️ Werf: Инструмент для автоматизации CI/CD и работы с Kubernetes

🤩 Werf — это инструмент с открытым исходным кодом для автоматизации CI/CD процессов, ориентированный на разработку, сборку, деплой и управление контейнеризированными приложениями в Kubernetes. Он сочетает в себе управление сборкой Docker-образов, развертывание в Kubernetes и интеграцию с популярными CI/CD системами.

Чем Werf отличается от других CI/CD инструментов?
GitOps из коробки: интеграция с Git для управления версиями образов и конфигураций.
Оптимизация сборки Docker: умное кэширование и минимизация повторных сборок.
Управление секретами: встроенные механизмы шифрования и интеграция с Kubernetes Secret.
Helm + Kubernetes: деплой с zero-downtime и поддержкой множественных окружений.
Гибкость CI/CD: легко интегрируется с GitLab CI, GitHub Actions и другими.
«Всё в одном»: сборка, деплой и управление окружениями в одном инструменте.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3😢1
👀 Что такое шардинг и проблема горячих шардов?

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

Что такое проблема горячих шардов?
Проблема горячих шардов возникает, когда нагрузка распределяется неравномерно, и один из шардов получает чрезмерное количество запросов на чтение или запись. Это может привести к:
Перегрузке памяти: данные начинают выгружаться из RAM на диск, что замедляет операции и создает задержки.
Перегрузке CPU: если запросы требуют много вычислений, процессор не успевает их обрабатывать, создавая очередь запросов.
Перегрузке сети: ограниченная пропускная способность узла вызывает сбои при большом объеме запросов.

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

Как справляться с проблемой горячих шардов?
Вертикальное масштабирование
Добавьте больше ресурсов (CPU, RAM, диск) к узлу с горячим шардом.
Недостаток: Решение временное и неэффективно при масштабировании системы.

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

Увеличение количества узлов
Добавьте больше машин с самого начала.
Недостаток: Дорого и может привести к перерасходу ресурсов, если рост системы не оправдает ожиданий.

📎Решить проблему горячих шардов можно различными путями, подробнее про остальные в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

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

1️⃣ Проверьте зависимости системы
Перед удалением убедитесь, что удаление Python не нарушит работу вашего серверного окружения:
Многие серверные ОС (например, на базе Linux) используют системный Python для управления пакетами (например, yum или apt).
Проверьте, какие версии Python установлены и где они используются:
python --version
python3 --version
which python
which python3


2️⃣ Удаление версии Python, установленной вручную
Если Python был установлен вручную (например, через исходный код или менеджер пакетов), выполните следующие шаги:

Удаление вручную установленного Python:
Найдите место установки Python:
which python3

Обычно это будет /usr/local/bin/python3 или /usr/bin/python3.

Удалите файлы:
bash
sudo rm -rf /usr/local/bin/python3
sudo rm -rf /usr/local/lib/python3.x

Замените python3.x на соответствующую версию.

Проверьте и удалите симлинки:
bash
sudo rm -f /usr/bin/python3
sudo rm -f /usr/bin/python


Проверьте переменные окружения: Убедитесь, что в переменной PATH больше нет записей, связанных с Python:
echo $PATH


Если Python установлен через менеджер пакетов:

Для Debian/Ubuntu:
sudo apt-get remove --purge python3
sudo apt-get autoremove


Для CentOS/Red Hat:
sudo yum remove python3


3️⃣ Удаление через менеджеры пакетов окружений
Если Python установлен через менеджеры вроде pyenv или conda, удаление происходит так:

Удаление с помощью pyenv:
Список установленных версий:
pyenv versions

Удаление версии Python:
pyenv uninstall <версия>

Удаление с помощью Anaconda/Miniconda:
Удаление конкретного окружения:
conda remove --name <название_окружения> --all

Удаление Anaconda/Miniconda полностью:
Удалите корневую директорию:
rm -rf ~/anaconda3
rm -rf ~/miniconda3


4️⃣ Удаление остаточных файлов
Проверьте наличие остаточных папок:
sudo find / -name "python*"

Удалите файлы, которые больше не нужны.

5️⃣ Будьте осторожны с системным Python
Удаление системного Python может нарушить работу пакетов управления сервером (yum, dnf, apt). Если вы хотите очистить только лишние версии Python, сделайте это изолированно, не трогая системные библиотеки.

#мем
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2😁1
Как предотвратить OOMKiiled в k8s?

В мире Kubernetes ошибки «OOMKilled» (Out of Memory Killed) возникают, когда приложение превышает выделенные ему ресурсы памяти, что приводит к его завершению системой. Для предотвращения таких ситуаций Kubernetes использует механизм классов качества обслуживания (QoS), который помогает эффективно управлять ресурсами и обеспечивать стабильную работу приложений.

🛠Классы QoS в Kubernetes:

Guaranteed (Гарантированный): Присваивается подам, у которых для всех контейнеров установлены одинаковые значения запросов и лимитов ресурсов.
Burstable (С переменной нагрузкой): Присваивается подам, у которых запросы ресурсов меньше установленных лимитов.
Best-Effort (По остаточному принципу): Присваивается подам без указанных запросов и лимитов ресурсов.
Эти классы позволяют Kubernetes приоритизировать рабочие нагрузки при дефиците ресурсов, обеспечивая критически важным приложениям необходимые ресурсы.

⚡️Причины возникновения ошибок OOMKilled:
Неопределенные лимиты ресурсов: контейнеры потребляют больше ресурсов, чем предполагалось.
Переизбыток ресурсов: несколько подов конкурируют за ограниченные ресурсы.
Утечки памяти: неэффективная разработка приложений, приводящая к постепенному увеличению потребления памяти.
Без правильной настройки QoS повышается риск исчерпания ресурсов и возникновения ошибок OOMKilled.

Как QoS предотвращает ошибки OOMKilled:
Приоритизация подов: подам с классом Guaranteed присваивается наивысший приоритет, за ними следуют Burstable и Best-Effort.
Предотвращение переизбытка ресурсов: QoS гарантирует, что запросы ресурсов соответствуют доступной емкости, снижая риск перегрузки.
Гибкое управление ресурсами: при нехватке памяти сначала выселяются поды с более низким приоритетом, защищая критически важные приложения.

💡Рекомендации по настройке QoS для предотвращения ошибок OOMKilled:
Установите запросы и лимиты ресурсов: всегда указывайте запросы и лимиты ресурсов в конфигурации подов.
Проверяйте класс QoS подов: после развертывания убедитесь в правильности присвоенного класса QoS с помощью команды:
kubectl get pod <имя-пода> -o jsonpath='{.status.qosClass}'


Тестируйте распределение ресурсов: симулируйте высоконагруженные сценарии, чтобы наблюдать поведение подов и убедиться в корректной работе настроек QoS.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👏1🎉1
⭐️Минимализм в вебе или клуб 512кб

В мире, где веб-сайты становятся всё более "тяжёлыми" из-за бесконечных скриптов, огромных изображений и множества сторонних библиотек, появляются те, кто стремится к обратному — лёгкости и эффективности. И 512KB Club — яркий пример этого подхода.

Что такое 512KB Club?
Это сообщество веб-сайтов, которые доказывают, что скорость, простота и функциональность могут идти рука об руку. Участники клуба создают сайты, размер ресурсов которых (включая HTML, CSS, JS, изображения и шрифты) не превышает 512 килобайт. Для сравнения, это меньше, чем средний размер одного современного изображения на сайте.

Категории сайта:
🟢Green Team (<100 КБ): Сайты-чемпионы минимализма. Они невероятно лёгкие и загружаются мгновенно.
🟠Orange Team (<250 КБ): Оптимизированные ресурсы, которые остаются удобными для пользователей.
🔵Blue Team (<512 КБ): Участники, которые всё ещё остаются в рамках заданного лимита, но добавляют больше функциональности или контента.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👏6
🪲🐞Ошибка вторника

Если вы когда-нибудь сталкивались с багами, которые кажутся странными и необъяснимыми, то эта история — ваш идеальный пример. В 2008 году на платформе Launchpad была зарегистрирована необычная проблема: OpenOffice отказывался печатать документы… исключительно по вторникам.

Что случилось?
Проблема была связана с печатью через OpenOffice на некоторых системах Linux. Документы, отправленные на принтер по вторникам, просто не доходили до своей цели. Остальные дни недели проблем не вызывали. Звучит как сюжет научной фантастики, но баг был вполне реальным.

⁉️В чем причина?
Оказалось, что виновата строка %%CreationDate в PostScript-файлах, создаваемых OpenOffice. Если дата создания документа указывала вторник, то строка выглядела так:
%%CreationDate: (Tue ...)

При обработке этого файла утилита file неправильно определяла его тип, считая, что это не PostScript, а что-то другое. Это приводило к сбоям на уровне обработки печати.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6
🐳✏️ #Гайд по контейнеризации Django от Docker

В блоге Docker появился новый гайд, который подробно объясняет, как контейнеризировать Django-приложение. Этот пошаговый туториал покажет вам:
Как настроить Dockerfile для вашего проекта.
Использовать docker-compose для управления сервисами.
Оптимизировать приложение для продакшена с Gunicorn и сборкой статических файлов.

Если вы хотите упростить развертывание Django-приложений и минимизировать проблемы с совместимостью окружений, этот гайд станет отличным подспорьем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что такое команда scp?

scp (Secure Copy Protocol) — это инструмент для безопасного копирования файлов между локальной и удалённой машинами или между двумя удалёнными хостами. Он использует SSH для шифрования данных, что делает передачу файлов защищённой.

Cинтаксис команды:
scp [опции] источник цель


😊Полезные опции
-r: Рекурсивное копирование каталогов.
-C: Сжатие данных.
-P [порт]: Указание порта SSH.
-i [ключ]: Использование приватного ключа.

Примеры:
Копирование файла на удалённый сервер:
scp file.txt user@remote_host:/path/to/destination/

Скачивание файла с удалённого сервера
scp user@remote_host:/path/to/file.txt /local/path/

Копирование директории:
scp -r /local/directory/ user@remote_host:/path/to/destination/
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍3💯2
🆚 Разница между SSL и TLS

Когда дело доходит до безопасности в интернете, термины SSL и TLS звучат повсюду: от HTTPS до VPN. Часто их используют как синонимы, но это не совсем правильно

Что такое SSL и TLS?
🔒SSL (Secure Sockets Layer)
SSL – это первый широко применяемый протокол, созданный для безопасного обмена данными между клиентом (например, браузером) и сервером. Он обеспечивает:
Шифрование данных.
Проверку подлинности сервера (а иногда и клиента).
Целостность передаваемых данных.

Первая версия SSL появилась в 1995 году, но она практически сразу была заменена на SSL 2.0, а затем SSL 3.0 в 1996 году. Однако SSL имел серьезные уязвимости, что привело к его постепенному отказу.

🔒TLS (Transport Layer Security)
TLS – это улучшенная и безопасная версия SSL, созданная в 1999 году. Она устранила известные недостатки SSL и стала стандартом шифрования. Сегодня TLS используется в большинстве интернет-приложений, включая HTTPS, e-mail (SMTP, IMAP, POP3), VoIP и VPN.

Основные цели SSL/TLS
Шифрование данных: протоколы предотвращают перехват и просмотр данных третьими лицами.
Проверка подлинности: сертификаты помогают удостовериться, что вы подключаетесь к настоящему серверу, а не к поддельному.
Целостность данных: механизмы защиты (например, HMAC) гарантируют, что данные не были изменены в процессе передачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4