Библиотека девопса | 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
🆚 Разница между 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
🔧Механизмы мониторинга событий

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

⚡️Главная цель этих механизмов — обеспечить приложение информацией о наступлении интересующих событий, минимизируя затраты ресурсов (например, CPU) и время ожидания.

Зачем нужны механизмы мониторинга событий?
В многозадачных системах часто требуется знать, когда объект становится "готовым" к выполнению операций. Например:
Файл: готов для чтения или записи.
Сетевое соединение: новые данные поступили, соединение закрыто.
Таймер: истекло заданное время.
Процессы: завершение или изменение состояния.

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

Типы событий
Сетевые события:
Готовность сокетов для чтения или записи.
Закрытие соединений.
Файловые события:
Изменения файлов или директорий.
Доступность данных для чтения или записи.
События таймеров:
Уведомление о том, что истекло определенное время.
Процессные события:
Завершение процессов или изменения их состояния.
Сигналы:
Системные сигналы, отправленные процессам (например, SIGINT, SIGCHLD).

Разные операционные системы предлагают свои интерфейсы для мониторинга событий. Вот наиболее известные:
1️⃣select (POSIX)
2️⃣ poll (POSIX)
3️⃣ epoll (Linux)
4️⃣ kqueue (BSD-системы)
5️⃣ IOCP (Windows)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👋Привет, девопсы!

Мы ищем участников для интервью на тему «Обучение навыкам в IT»!

Кто нам нужен?
Вы недавно (в последние 6 месяцев) проходили курсы по техническим специальностям или математике.
Вы разработчик, стремящийся освоить Data Science или Machine Learning.

Что вас ждет?
Участие в интервью по Zoom, которое займет не больше 45 минут.📞
🤑 1500 рублей на карту за ваше время.
Уникальный шанс пообщаться с нашим CEO!😎

Как откликнуться?
✏️Напишите в личные сообщения @artem_ceo
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1😁1
🖥🐾Тебе встроили браузер в твой браузер!

Neko – это open-source решение для удаленного доступа к браузеру. Представьте себе виртуальный браузер, который вы можете запустить на сервере, а затем использовать через свой обычный браузер.
Звучит странно? Давайте разберемся!

🔥 Ключевые возможности Neko:
1️⃣ Многопользовательская работа — один браузер – множество пользователей. Используйте его для совместного просмотра страниц, обсуждений или работы над проектами.
2️⃣ Изоляция сессий — не хотите, чтобы ваши данные сохранялись на сервере? Сессия полностью временная и безопасно удаляется после закрытия.
3️⃣ Удобство запуска — работает через веб-интерфейс – никаких сложностей с установкой или доступом.
4️⃣ Использование в реальном времени — стриминг видео, работа с сайтами в реальном времени – теперь это доступно из любого устройства.

🚀 Где это полезно?
1️⃣ Совместная работа: демонстрация проектов или просмотр сайтов в команде.
2️⃣ Изоляция среды: тестирование подозрительных ссылок или веб-приложений.
3️⃣ Удобство для администраторов: управление серверами через веб-интерфейс браузера.

📎Как бы вы могли использовать Neko в своей работе или жизни?

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔠🚤 Gordon: AI-агент для Docker, который упрощает работу с контейнерами

Docker представил экспериментальный AI-агент Gordon, предназначенный для упрощения и автоматизации работы с их инструментами. Эта разработка открывает новые возможности для как новичков, только начинающих работать с Docker, так и для профессионалов, стремящихся повысить свою эффективность.

Gordon — это часть инициативы Docker Labs по внедрению генеративного искусственного интеллекта. Его разработка отражает растущий интерес к интеграции AI в инструменты DevOps и открывает двери для новых возможностей.

🐸Библиотека devops'a
#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⭐️ #подборка новинок книжного мира

1️⃣Изучаем OpenTelemetry: современный мониторинг систем. Паркер О., Янг Т.

Книга — это подробное руководство по использованию одного из наиболее перспективных инструментов мониторинга и трассировки систем. OpenTelemetry объединяет метрики, логи и трассировки в единую систему, предоставляя универсальное решение для наблюдаемости современных распределенных систем.

2️⃣Программирование ядра Linux. Биллимориа К.

Данная книга представляет собой подробное введение в ядро Linux. Прочитав ее, вы получите достаточные теоретические знания о внутренних механизмах ядра и практические навыки написания кода модулей. Изложение ведется на примере ядра версии 6.1 LTS, поддержка которого предполагается до августа 2033 года, что обеспечивает актуальность материала на долгие годы.

3️⃣Облачные микросервисы. Разработка и применение на платформе Kubernetes. Эль Амри А.

Данная книга раскрывает потенциал Kubernetes — самой популярной платформы оркестровки контейнеров в мире. Вы узнаете, как использовать Kubernetes для создания надежной, масштабируемой и отказоустойчивой микросервисной архитектуры. Подробно рассмотрены особенности применения микросервисов, стратегии высокой доступности, CI/CD, GitOps и наблюдаемости в мире облачных технологий. Представлены практические примеры использования таких инструментов, как Docker, Rancher, Terraform, Operators, Helm, Prometheus, Istio, Grafana, OpenTelemetry, Jaeger, Loki и другие.

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰1
🌍💼 Чем отличается наем IT-специалистов в России и за рубежом: 5 ключевых отличий

Процессы найма могут сильно отличаться в зависимости от страны. Где-то акцент на практические навыки, где-то важны тестовые задания, а иногда решает просто культура общения.
Почему иностранные компании чаще спрашивают о ваших soft skills, а в России обращают внимание на знания теории? И как это влияет на карьеры разработчиков?

Узнайте, как адаптировать свои навыки и подход к поиску работы, чтобы оставаться востребованным в любой точке мира!

📎 Читать о различиях найма
🛠 Puppet: автоматизация управления вашей инфраструктурой

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

Как работает Puppet?
Puppet использует декларативный подход. вы описываете в специальных файлах (манифестах), как должны быть настроены ваши системы: какие пакеты установить, какие файлы создать или изменить, какие сервисы запустить. эти манифесты затем компилируются Puppet Master в каталоги — инструкции, которые агенты выполняют на серверах.

Oсновные элементы:
Puppet Master: сервер, который управляет конфигурациями
Puppet Agent: программа на каждом управляемом узле, которая применяет конфигурации
Facter: инструмент для сбора информации о системе, например, ОС, IP-адрес и т.д.
Hiera: система для управления данными, чтобы отделить настройки от кода

🧩Чем Puppet полезен?
Унификация: все сервера получают одну и ту же конфигурацию
Масштабируемость: подходит как для десятков серверов, так и для тысяч
Идёмпотентность: Puppet проверяет состояние системы и меняет только то, что нужно
Простота изменений: изменения описываются в манифестах и автоматически применяются на всех системах

👨‍💻Где используют Puppet?
Puppet незаменим для автоматизации в крупных компаниях с большими IT-инфраструктурами. с его помощью можно управлять серверными приложениями, базами данных, системами виртуализации и контейнерами.

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏1😁1
👍 Тома в Kubernetes простыми словами

Тома (volumes) в Kubernetes — это важная часть работы с данными в контейнерах. Они помогают сохранить данные, которые могут быть утрачены при перезапуске контейнера, или поделиться ими между контейнерами в одном поде. Разберёмся, какие бывают тома, зачем они нужны и как их правильно использовать.

Зачем нужны тома?
Представьте, что ваш контейнер — это временный рабочий стол. Он может исчезнуть в любой момент, а все, что на нём лежало, пропадёт.
Чтобы избежать этого, Kubernetes предоставляет тома, которые:
➡️Сохраняют данные даже после завершения работы контейнера.
➡️Позволяют нескольким контейнерам обмениваться данными.
➡️Подключаются к внешним системам хранения (облакам, серверам).

Основные типы томов:
1️⃣emptyDir — это временный том, который создаётся каждый раз при запуске пода. Когда под завершается, данные удаляются. Идеально для временных файлов, например, кэша.

2️⃣hostPath — даёт контейнеру доступ к файлам и папкам хост-машины. Используется для журналов, настройки системы и других задач, требующих доступа к хосту.

3️⃣persistentVolumeClaim (PVC) — механизм для работы с долговременным хранилищем. Вы создаёте запрос (Claim) на место, а Kubernetes привязывает его к Persistent Volume. Отличный выбор для баз данных.

4️⃣configMap и secret — позволяют подключать конфигурационные данные (например, файлы настроек или пароли). secret шифрует данные для повышения безопасности.

5️⃣nfs и csi — эти тома используются для подключения внешнего хранилища. Например, общий сетевой ресурс (NFS) или облачное хранилище через интерфейс CSI.

6️⃣gitRepo — загружает код из репозитория прямо в том. Однако это устаревший метод — лучше использовать контейнерные образы.

7️⃣local — локальный том, привязанный к конкретному узлу. Подходит для приложений с высокими требованиями к производительности, но не переносим между узлами.

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

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

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

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

Ждем ваших откликов 👾
🐧Clear Linux OS: Быстрая, безопасная, современная

Что это такое?
Clear Linux OS — это открытая, модульная операционная система Linux, оптимизированная под платформы Intel. Её основная цель — обеспечить максимальную производительность из коробки, сохраняя при этом простоту управления и высокую безопасность.

Ключевые особенности:
1️⃣Оптимизация для Intel — Clear Linux OS тщательно настроена для работы на процессорах Intel. Используя последние версии компиляторов и оптимизаций, она гарантирует, что программы и ядро работают быстрее, чем на многих других дистрибутивах.

2️⃣ Stateless-дизайн — система построена на идее разделения системных и пользовательских данных:
➡️Системные файлы остаются нетронутыми.
➡️Ваша конфигурация легко управляется и изолируется. Это упрощает обновления и делает систему более надёжной.

3️⃣ Уникальная система управления пакетами — Clear Linux использует бандлы вместо традиционных пакетов. Это готовые наборы программ, которые быстро устанавливаются и обновляются. Вместо установки отдельных зависимостей вы получаете всё, что нужно, в одном шаге.

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

5️⃣ Безопасность на первом месте — система использует лучшие практики для обеспечения конфиденциальности и защиты данных, включая поддержку шифрования и строгую изоляцию процессов.

🖇 Попробовать Clear Linux OS
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🧚 Открытая редакция: ищем авторов для рубрики DevLife

Друзья, нас часто спрашивают про публикацию материалов о личном опыте и знаниях в IT. Пора это систематизировать!

Если у вас есть история о том, как вы:
• выросли в профессии
• освоили новые технологии
• сделали крутой карьерный скачок
• эпично лажанулись
• создали интересные проекты
— присылайте свои статьи на почту [email protected] с темой DevLife

Требования простые:
• Реальный опыт
• Конкретные шаги
• От 5000 знаков
• Ссылка на Google Docs

Лучшие истории опубликуем на сайте и в наших соцсетях с общим охватом 1 млн + человек.
Forgejo: децентрализованный инструмент для хостинга кода

Forgejo – это современная, легковесная и децентрализованная платформа для хостинга кода, которая поддерживает управление версиями, совместную разработку и автоматизацию CI/CD. Этот проект основан на свободном программном обеспечении и предназначен для создания независимой экосистемы для разработки проектов.

Основные особенности Forgejo:
➡️ Открытый исходный код: forgejo базируется на идее открытого исходного кода. Это позволяет разработчикам свободно модифицировать платформу, добавлять новые функции и адаптировать её под свои нужды.

➡️ Приватность и независимость: forgejo разработан с акцентом на приватность пользователей и отсутствие зависимости от централизованных платформ. Это делает его идеальным для организаций, которые хотят сохранить контроль над своими репозиториями.

➡️ Децентрализованная разработка: проект поддерживает работу в распределённой сети, что делает его устойчивым к сбоям и зависимостям от одного центра управления.

➡️ Простота использования: интерфейс Forgejo интуитивно понятен и удобен даже для пользователей с минимальным опытом.

Forgejo подходит для всех, кто ищет гибкое и защищённое решение для управления кодом, включая независимых разработчиков, малые и средние компании, а также open-source сообщества.

🖇 Подробнее о Forgejo

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
🚀 Контейнеризация Next.js с Docker: упрощаем и ускоряем

Контейнеризация Next.js приложений с помощью Docker может быть простой и эффективной, если подойти к процессу правильно. Как создать компактный, безопасный и быстрый образ? Наткнулись на интересную статью с примерами и пояснением каждого шага по оптимизации Docker-контейнеров для Next.js. В материале рассматриваются лучшие практики и конкретные решения, которые помогут избежать распространенных ошибок при контейнеризации веб-приложений.

Автор делится практическими рекомендациями, как эффективно упаковать Next.js приложение в Docker с использованием многоэтапного подхода. Вот основные моменты:
Разделение этапов сборки: процесс создания приложения и финального образа разделён. Это позволяет оставить в финальном образе только необходимые файлы, убрав лишнее.

Кэширование для ускорения: Docker кеширует неизменённые слои, что ускоряет повторные сборки приложения.

Безопасность: запуск контейнера от имени непривилегированного пользователя снижает риски безопасности.

Минимизация размера: финальный образ становится компактным и лёгким, что упрощает его перенос и развёртывание.

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

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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Управление Terraform с terraform-null-label и context.tf

Если вы DevOps-инженер или работаете с инфраструктурой в Terraform, то знаете, как сложно поддерживать порядок в именах и тегах ресурсов. Особенно в крупных проектах, где легко потеряться среди сотен строк кода. Хорошая новость: есть мощный инструмент для решения этой проблемы — terraform-null-label, а с добавлением context.tf ваш код станет ещё более автоматизированным и понятным!

terraform-null-label — это модуль Terraform, который:
➡️Создаёт стандартизированные имена и теги для ресурсов.
➡️Упрощает поддержку инфраструктуры.
➡️Исключает ошибки при ручном вводе имен.

А файл context.tf позволяет использовать этот модуль ещё эффективнее:
➡️Все метки и теги задаются один раз в корневом модуле.
➡️Информация автоматически распространяется на все дочерние модули.
➡️Вы экономите время и избавляетесь от дублирования кода.

Например, вместо того чтобы вручную прописывать теги для каждого ресурса, вы подключаете context.tf
module "label" {
source = "cloudposse/label/null"
namespace = "company"
stage = "prod"
name = "app"
}

output "label" {
value = module.label.id
}

Результат: автоматически сгенерированное имя ресурса company-prod-app

🖇 Узнать больше про использование terraform-null-label и context.tf

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