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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
⚙️ Какой workflow выбрать в Terraform

HashiCorp предлагает три основных подхода к управлению запусками Terraform в HCP Terraform: UI/VCS-ориентированный, CLI-ориентированный и API-ориентированный.

1️⃣ UI/VCS-ориентированный рабочий процесс

Этот метод является наиболее интуитивным и подходит для большинства пользователей. HCP Terraform интегрируется с основными системами контроля версий (VCS), такими как GitHub или Bitbucket.

При подключении репозитория к рабочей области HCP Terraform автоматически регистрирует вебхуки. Каждый раз при внесении новых коммитов в связанную ветку репозитория HCP Terraform автоматически инициирует запуск Terraform.

2️⃣ CLI-ориентированный рабочий процесс

Этот подход позволяет использовать стандартные инструменты командной строки Terraform для выполнения запусков в HCP Terraform.

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

3️⃣ API-ориентированный рабочий процесс

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

В API-ориентированном рабочем процессе рабочие области не связаны напрямую с репозиторием VCS. Вместо этого внешние инструменты, такие как системы CI/CD, отвечают за определение изменений в конфигурации и инициирование запусков через API HCP Terraform.

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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🔍 KICS – безопасность для Infrastructure as Code

Keeping Infrastructure as Code Secure (KICS)– это инструмент, предназначенный для автоматического сканирования инфраструктуры как кода (IaC) на наличие уязвимостей и ошибок конфигурации.

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

KICS анализирует конфигурационные файлы Terraform, Kubernetes, Docker, CloudFormation, Ansible и выявляет потенциальные угрозы, такие как:

• Открытые порты или ненадёжные сетевые настройки

• Отсутствие аутентификации и некорректное управление доступом

• Использование небезопасных облачных сервисов и параметров

• Несоответствие стандартам безопасности: CIS, NIST, GDPR

Как запустить KICS

Для сканирования достаточно выполнить команду:
docker run -v $(pwd):/path checkmarx/kics scan -p /path


Ключевые особенности KICS

• Поддержка множества языков IaC: Terraform, Helm, JSON, YAML

• Интеграция в CI/CD-пайплайны: GitHub Actions, GitLab CI/CD, Jenkins.

• Быстрая установка и запуск — можно использовать через Docker или бинарный файл.

• Огромная база правил — более 2000 проверок на соответствие требованиям безопасности.

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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4👍31
📚 Менеджер пакетов нового поколения для Linux

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

Особенности GNU Guix:

Транзакционные обновления и откаты: возможность безопасно обновлять и при необходимости возвращаться к предыдущим версиям пакетов.

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

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

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

Кроме того, GNU Guix предоставляет тысячи пакетов, доступных в виде предварительно собранных бинарных файлов, включая рабочие среды, приложения, системные инструменты и языки программирования.

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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
⚙️ Azure DevOps: инструменты, которые ускоряют разработку

Azure DevOps предлагает мощный набор инструментов для автоматизации CI/CD, управления кодом, тестирования и мониторинга.

Что входит в Azure DevOps

Azure Repos — репозитории Git с продвинутыми инструментами для командной работы.

Azure Pipelines — CI/CD-конвейеры для автоматической сборки, тестирования и деплоя.

Azure Boards — таск-менеджер с поддержкой Scrum, Kanban и Agile-методологий.

Azure Test Plans — платформа для автоматизированного и ручного тестирования.

Azure Artifacts — безопасное хранилище зависимостей: NuGet, npm, Maven.

Почему Azure DevOps

Полная экосистема: код → сборка → тест → деплой → мониторинг.

Поддержка гибридных облаков (Azure, AWS, GCP, On-prem).

Интеграция с GitHub, Docker, Kubernetes, Terraform, Ansible.

Подходит как для стартапов, так и для энтерпрайза.

📎 Подробнее про Azure-стек в статье

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 Обновление GitLab 17.8

Недавно вышла новая версия GitLab 17.8, рассказываем что нового в ней появилось:

🔒 Защищенные контейнерные репозитории. Теперь они доступны в GitLab, что позволяет устанавливать строгие правила доступа для управления контейнерными образами.

📊 Отслеживание экспериментов с моделями машинного обучения. Для специалистов по данным теперь доступна функция отслеживания экспериментов с ML-моделями. Она позволяет логировать параметры, метрики и артефакты непосредственно в GitLab, упрощает доступ к экспериментальным данным и обеспечивать их сохранность в рамках GitLab.

📋 Список деплоев, связанных с релизом. Теперь на странице релиза можно увидеть все связанные деплои.

🏃‍♂️ Хостинг раннеров на Linux, Теперь доступен для пользователей GitLab Dedicated

🖇 Подробнее об обновлениях читайте в официальном анонсе

🐸Библиотека devops'a #новость
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🥰1
🌐 API Gateway: что это и зачем нужно

API Gateway — это промежуточный сервис, который принимает запросы от клиентов и направляет их к нужным сервисам или микросервисам.

Как работает API Gateway

Когда мобильное приложение, браузер или другой сервис отправляет запрос, API Gateway:

1️⃣ Принимает запрос от клиента.

2️⃣ Определяет, куда его направить — в один сервис или сразу в несколько.

3️⃣ Добавляет авторизацию, логику маршрутизации и другие проверки.

4️⃣ Отправляет запрос в нужный сервис и получает ответ.

5️⃣ Форматирует и возвращает ответ клиенту.

Он абстрагирует сложность backend-архитектуры, позволяя клиентам взаимодействовать, не зная о внутренних сервисах, их местоположении и способах обработки данных

Популярные API Gateway

• AWS API Gateway – сервис от Amazon для управления REST и WebSocket API.

• Kong API Gateway – мощное open-source решение с плагинами.

• Traefik – API Gateway и балансировщик нагрузки для Kubernetes.

• NGINX – можно использовать как API Gateway для маршрутизации трафика.

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🐳 Настройка Keycloak в Docker

Keycloak это open-source identity provider с поддержкой OIDC, OAuth 2.0 и SAML для управления пользователями, ролями и авторизацией

Запускаем Keycloak в Docker:
docker run -p 8080:8080  \ 
-e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
-e KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
quay.io/keycloak/keycloak:26.1.1 start-dev

Эта команда запускает Keycloak, открытый на локальном порту 8080, и создаёт начального администратора с именем пользователя admin и паролем admin.

Что нужно сделать после запуска

1️⃣ Создать новый Realm — пространство пользователей

2️⃣ Добавить клиента, например, my-app

3️⃣ Настроить редиректы (куда возвращать пользователей после логина)

4️⃣ Генерировать клиентский секрет и подключить его в коде приложения

➡️ Подробнее про настройку в официальном гайде

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🏗 Разбираем Prometheus

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

Компоненты Prometheus

Prometheus Server. Основной компонент, который собирает, обрабатывает и хранит метрики в базе временных рядов.

Time-Series Database. Специальное хранилище, в котором данные индексируются по времени и меткам, что позволяет быстро выполнять сложные запросы.

Scraper. Сервер запрашивает данные у приложений, баз данных и других сервисов, которые предоставляют метрики в формате Prometheus.

Query & API Layer. Поддержка языка запросов Prometheus PromQL, API-интерфейсов и интеграция с внешними инструментами.

Что делает Prometheus:

1. Запрашивает метрики у целевых сервисов

2. Хранит данные в базе

3. Выполняет аналитические запросы через
PromQL

4. Передаёт данные в Grafana для визуализации

5. Настраивает оповещения через Alertmanager

Отличительная особенность — Prometheus использует pull-модель, а не push.

➡️ Подробнее про архитектуру Prometheus

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳 Новая версия Docker Desktop

Docker выпустил версию Docker Desktop 4.38, представив ряд новых функций и улучшений.

Ключевые обновления:

Интеграция с AI Agent: теперь разработчики могут использовать AI Agent непосредственно в Docker Desktop.

Многоузловой Kubernetes: добавлена поддержка развертывания и управления многоузловыми кластерами Kubernetes.

Bake в GA: функция Bake достигла статуса General Availability.

🖇 Подробнее в блоге Docker

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🔐 Как извлекать SSL/TLS-сертификаты без OpenSSL

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

Что умеет Certificate Ripper

1. Извлечение сертификатов с любого сервера.

2. Отсутствие зависимости от OpenSSL — не нужно устанавливать дополнительные утилиты.

3. Поддержка формата PEM и PKCS12 — удобное сохранение сертификатов.

4. Работа через прокси — если вам нужно извлекать сертификаты в корпоративной сети.

5. Массовое извлечение — можно получить сертификаты сразу с нескольких серверов одной командой.

6. Совместимость с macOS, Linux и Windows.

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

Вывести сертификат в консоль:
crip print --url=https://github.com


Сохранить сертификат в PKCS12-хранилище:
crip export pkcs12 --url=https://github.com --destination=/path/to/directory


Массовое извлечение сертификатов с нескольких URL:
crip export pkcs12 \
--url=https://google.com \
--url=https://github.com \
--url=https://stackoverflow.com


📎 Подробнее о возможностях инструмента

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏1
🐳 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