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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🧰🧰 Self-Hosting a Container Registry

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

Читать статью

#туториал
Самые полезные каналы для программистов в одной подборке!

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

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 запрещена на территории РФ
☁️ Как «разогнать» облака?

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

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

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

📎 Читать статью
Обеденный #дайджест для DevOps!

🛟 Отчёт State Of DevOps Russia — отчёт по состоянию направления в Российском сегменте. Множество интересной статистики и инсайтов.

🛟 JFrog и GitHub объявили о расширении своего партнёрства — компании обещают повышение эффективности и безопасности процессов разработки, предоставляя специалистам более удобную среду для работы.

🛟 DevOps специалистам предлагают большие зарплаты — в среднем нехватка специалистов принесла рост зарплаты в 14%

🛟 «Инферит Облако» запустили S3 хранилище на базе открытого ПО — компания использовала сеть хранения с открытым исходным кодом — Ceph.
🤖🤖 Часто ли вы используете ИИ в своей работе?
Пользователь Reddit поделился своим опытом использования ИИ в работе — 95% bash-скриптов написаны не своими руками. В последнее время действительно бо́льшая часть рутины переходит на «аутсорс» нейросетям.

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

#интерактив
👀🛠️ Что нас ждёт в Kubernetes 1.32

🌀DRA — улучшения для динамического распределения ресурсов, включая статус здоровья устройств в Pods.

🌀Windows — поддержка корректного завершения работы узлов Windows в кластере.

🌀Переменные окружения — поддержка использования специальных символов в именах переменных.

🌀LoadBalancer — улучшения в взаимодействии с kube-proxy, поддержка режимов «VIP» и «Proxy».

🌀Генерация имен автоматическая повторная попытка генерации имен для ресурсов в случае конфликтов.

📎 Подробнее читайте в блоге Kubernetes
🚢 Что такое Portainer и как собрать корабль в плавание?

Portainer — это универсальная платформа для управления контейнерами, которая упрощает развёртывание, мониторинг и обеспечение безопасности контейнеризированных приложений в средах Docker, Docker Swarm, Kubernetes и Podman.

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

Как бы много возможностей ни предоставлял Portainer, его установка происходит в «два клика».

1. Для начала нам нужно иметь на своём сервере Docker.

2. Чтобы хранить данные нам необходимо создать Docker volume.
docker volume create portainer_data


3. После чего мы можем просто запустить контейнер с Portainer!
docker run -d -p 9443:9443 --name=portainer \--restart=always \-v /var/run/docker.sock:/var/run/docker.sock \-v portainer_data:/data \portainer/portainer-ce:latest


4. Готово!

Вот так просто можно от прямого управления через CLI перейти к контролю контейнеров через веб-интерфейс! Теперь администрирование контейнеров становится доступным даже без глубоких знаний командной строки: все действия — от развёртывания контейнеров до мониторинга их работы и управления безопасностью — можно выполнять в визуально понятной форме.

#гайд
☁️ «Dev» отдаляется от «Ops»?

Автор с ресурса «hackernoon» размышляет на тему эволюции роли DevOps. С появлением облачных технологий и автоматизации необходимость в традиционных операционных задачах (или «Ops» из DevOps) значительно снизилась. Это привело к тому, что разработчики всё чаще берут на себя ответственность за развертывание и эксплуатацию приложений, что изначально было задачей Ops.

Таким образом, первоначальная цель DevOps — объединение Dev и Ops — трансформировалась, и роль Ops изменилась или даже сократилась. Статья подчёркивает, что, несмотря на эти изменения, культура DevOps остаётся важной, способствуя непрерывной доставке и улучшению взаимодействия между командами.

📎 Детали в оригинале
🛠️ Свежий релиз Docker Desktop 4.35

🐳 Токены доступа для организаций (Beta) — Эта функция улучшает управление доступом на уровне организаций. Она позволяет централизовано управлять правами пользователей, обеспечивая лучшее управление и масштабируемость для бизнеса.

🐳 Docker Home (Beta) — Новый интерфейс Docker Home служит центральным «хабом» для доступа к продуктам Docker, управления подписками и настройками.

🐳 Интерфейс терминала в Docker Desktop — Эта функция позволяет интегрировать терминал в интерфейс Docker Desktop, упрощая работу разработчиков и снижая необходимость переключаться между CLI и GUI.

🐳 Резервное копирование томов — В Docker Desktop теперь доступна улучшенная функция резервного копирования томов, которая упрощает процесс создания бэкапов данных и делает его более удобным.

🐳 Улучшенная производительность на macOS — Введение Docker VMM для Apple Silicon улучшает производительность на Mac, ускоряя выполнение множества задач.

📎 Подробнее в блоге компании
⚙️⚙️ ArgoCD или не ArgoCD? — вот в чём вопрос

Автор на «реддите» задаётся вопросом: «почему все используют ArgoCD?»
Вот и мы бы хотели узнать — используете ли вы ArgoCD или предпочитаете другие инструменты для Kubernetes?

#интерактив
🌐⚒️ Bash для DevOps-инженеров: зачем знать и как применять?

Bash (Bourne Again Shell) — командная оболочка и скриптовый язык, широко используемый в мире DevOps для автоматизации задач, управления системами и CI/CD. Почти каждый Linux-сервер «разговаривает» на Bash, а значит, умение написать/прочитать bash-скрипт — необходимый навык для DevOps-инженера.

📌 Почему Bash важен?

Системный доступ: Баш встроен в большинство Linux-систем, так что это самый быстрый способ получить доступ к системным ресурсам.
Скриптинг и автоматизация: Написание Bash-скриптов для управления окружениями, создания резервных копий, очистки логов — стандарт для автоматизации.
CI/CD: Jenkins, GitLab CI, GitHub Actions и другие CI/CD инструменты поддерживают команды на Bash для сборок и развёртываний.

📄 Мини-пример скрипта, который подсчитывает количество строк в каждом файле текущей директории и выводит результаты:

#!/bin/bash
for file in *; do
if [ -f «$file» ]; then
line_count=$(wc -l < «$file»)
echo «$file: $line_count lines»
fi
done

🔧 Популярные команды:
ls, cd, cat — базовые команды навигации.
grep, awk, sed — фильтрация и обработка данных.
ps, kill — управление процессами.
curl, wget — сетевые запросы.

💡 Альтернативы Bash: Для более сложных задач многие DevOps-инженеры используют Python для обработки данных и работы с API, а также Ansible для управления конфигурациями.

Bash остаётся ключевым инструментом в арсенале любого DevOps-инженера, обеспечивая контроль и гибкость при работе с системами.
🌐🌐 65 000 узлов и больше: Google Kubernetes Engine готов к моделям ИИ с триллионом параметров.

Google хвастается расширением возможностей Google Kubernetes Engine (GKE), который теперь поддерживает кластеры до 65 000 узлов, позволяя запускать сверхмасштабные модели искусственного интеллекта с триллионами параметров. Это достижение ставит GKE в лидеры по производительности и масштабируемости среди облачных платформ, предоставляя компаниям возможность управлять крупными вычислительными задачами, особенно в сфере генеративного ИИ.

Эти нововведения стали возможны благодаря техническим улучшениям, включая переход на систему хранения данных Spanner вместо etcd, что обеспечивает большую стабильность и надёжность в управлении столь крупными кластерами. Внедрение Cloud TPU v5e с несколькими ускорителями на узел позволяет поддерживать более 250 000 ускорителей в одном кластере, что делает GKE эффективным инструментом для задач инференса, обучения и исследования.

📎 Читать в оригинале
🔨🐳 Секреты стройности от многоэтапной сборки

Docker-образы тоже мечтают сбросить пару лишних мегабайтов и выглядеть подтянутыми. Если ваши контейнеры уже начали тяжело вздыхать на старте или требуют отдельного хранилища для своих «боков», самое время узнать, как их «подсушить».

В статье «Стройные контейнеры: как уменьшить Docker-образ с помощью многоэтапной сборки» раскрываются секреты того, как отправить ваш образ на диету и сделать его быстрее, легче и безопаснее.

📎 Читать статью
💯☁️ Статистика от Red Hat по внедрению облачных технологий в Enterprise среде

☁️ Драйверы роста облачных технологий:

Централизация управления облаком — 80% опрошенных компаний планируют централизовать управление облачными ресурсами в течение следующих 18 месяцев.
Безопасность и соответствие требованиям — 78% организаций уделяют приоритетное внимание вопросам безопасности, соответствия и суверенитета данных.
Подготовка к внедрению ИИ: 78% компаний готовятся к интеграции ИИ в свои процессы.

☁️ Инвестиции в инновации:

Сбалансированный рост — 50% респондентов намерены равномерно инвестировать в новые технологии, такие как ИИ, и оптимизацию существующих систем.
Увеличение инвестиций — 52% компаний планируют увеличить инвестиции в облачные технологии до 50% к 2025 году.

☁️ Препятствия на пути к внедрению облачных технологий и ИИ:

Дефицит навыков — 71% компаний отмечают нехватку специалистов в области ИИ, 66% — в области кибербезопасности, 61% — в облачных технологиях.
Изолированные структуры 96% предприятий сталкиваются с проблемами из-за изолированных команд, что приводит к несогласованности в безопасности и увеличению затрат.

☁️ Роль корпоративного open source:

Прозрачность и модифицируемость — 89% респондентов считают, что доверие к корпоративным моделям ИИ зависит от их прозрачности и возможности модификации.

📎 Подробнее в источнике
🚀🤖 Как развернуть LLM с помощью vLLM и TorchServe

Хочешь запустить большую языковую модель в продакшене, но не знаешь, как совместить простоту развёртывания с промышленной надежностью? Комбинация vLLM и TorchServe решает эту задачу. Она обеспечивает как простой запуск, так и продвинутые возможности для масштабирования.

👉 Узнай, как воспользоваться этими удобными инструментами, в нашем подробном гайде
Оверкоммитинг — зачем выделять больше?

🎯 Оверкоммитинг — это практика выделения виртуальных ресурсов (таких как процессорное время, память или хранилище) в количестве, превышающем физически доступные ресурсы системы. В контексте контейнеров и облачных сред, таких как Kubernetes и OpenShift, оверкоммитинг позволяет запускать большее количество подов или контейнеров, чем физически доступные ресурсы могли бы поддержать в максимальной нагрузке.

Однако поды не всегда требуют выделенные ресурсы на 100%, поэтому, пока они не используют максимальную мощность, доступные ресурсы могут быть перераспределены.

Сто́ит быть аккуратнее с оверкоммитингом, так как при неожиданном повышении нагрузки на контейнеры может возникнуть дефицит ресурсов, что приведёт к замедлениям или сбоям в работе приложений.
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!

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

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

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

Ждем ваших откликов 👾
Балансировка нагрузки (Load Balancing) используя Nginx

⚙️ Round Robin (по кругу):
Запросы равномерно распределяются между серверами.

upstream backend {
server 192.168.1.101;
server 192.168.1.102;
}


⚙️ Least Connections (наименьшее количество соединений):
Запрос отправляется серверу с наименьшим количеством активных соединений.
nginx

upstream backend {
least_conn;
server 192.168.1.101;
server 192.168.1.102;
}


⚙️IP Hash (хэширование IP):
Запросы от одного клиента всегда направляются на один и тот же сервер.
Используется для обеспечения сессий (session affinity).

upstream backend {
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}


⚙️Weight (вес сервера):
Серверы с большим весом получают больше запросов.
upstream backend {
server 192.168.1.101 weight=3;
server 192.168.1.102 weight=1;
}


#гайд
⚙️ Сравнение двух подходов тестирования контейнеров. Docker-in-Docker и Testcontainers Cloud

🐳 Docker-in-Docker (DinD): DinD позволяет запускать Docker внутри контейнера Docker. Это часто применяется для изоляции тестовых сред. Однако DinD имеет ряд недостатков:

Преимущества:
Полный доступ к Docker API внутри контейнера.
Можно создавать и управлять контейнерами без установки Docker на хосте.

Недостатки:

Возможны проблемы с производительностью, так как контейнеры запускаются внутри контейнера (nested containers).
Потенциальные риски безопасности из-за необходимости предоставления привилегированного доступа (--privileged).
Управление состоянием хранилища (volumes) становится сложным.

☁️ Testcontainers Cloud: Testcontainers Cloud — это облачное решение, интегрированное с фреймворком Testcontainers, предназначенное для упрощения и оптимизации процесса интеграционного тестирования. Основные преимущества:

Преимущества:
Не требуется локальная установка Docker или других инструментов.
Устраняет проблемы производительности, так как контейнеры запускаются в облаке.
Хорошо интегрируется с существующими CI/CD пайплайнами.
Предоставляет изоляцию окружений для команд, упрощая тестирование.

Недостатки:
Требуется интернет-соединение.
Зависимость от стороннего сервиса (Testcontainers Cloud).
Возможны дополнительные затраты на использование облачной инфраструктуры.

Когда какой подход использовать?
Docker-in-Docker: Если вам нужен полный контроль над окружением или вы работаете в изолированной сети, где облачные сервисы недоступны.
Testcontainers Cloud: Если вы хотите упростить тестирование и интеграцию, избегая сложной настройки локального окружения или проблем с производительностью.