Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.35K 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
🚢 Что такое 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 перейти к контролю контейнеров через веб-интерфейс! Теперь администрирование контейнеров становится доступным даже без глубоких знаний командной строки: все действия — от развёртывания контейнеров до мониторинга их работы и управления безопасностью — можно выполнять в визуально понятной форме.

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

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

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

📎 Детали в оригинале
🤔5🎉32👍1
🛠️ Свежий релиз 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, ускоряя выполнение множества задач.

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

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

#интерактив
😁6👍4🔥2
🌐⚒️ 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-инженера, обеспечивая контроль и гибкость при работе с системами.
1👍11🥱5
🌐🌐 65 000 узлов и больше: Google Kubernetes Engine готов к моделям ИИ с триллионом параметров.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ждем ваших откликов 👾
👍1
Балансировка нагрузки (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;
}


#гайд
👍30🔥4🥱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: Если вы хотите упростить тестирование и интеграцию, избегая сложной настройки локального окружения или проблем с производительностью.
👍31
💾🌐 6 главных технологий для хранения данных в браузере

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

От привычных cookies до мощного IndexedDB, от простого LocalStorage до новаторского Origin Private File System — каждый метод хранения имеет свои особенности и сценарии использования. В этой статье вы найдете подробное сравнение шести ключевых технологий хранения данных: от их особенностей и сценариев использования до ограничений.

📎 Читать статью
👏3👍2
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
☁️☁️ Почему облако идеально для CI/CD?

Масштабируемость
Облачные платформы предоставляют ресурсы по запросу, позволяя обрабатывать высокие нагрузки в моменты пиковой активности (например, при запуске массового тестирования).
Услуги, такие как AWS Elastic Compute Cloud (EC2) или Google Cloud Run, автоматически подстраиваются под нужды вашего конвейера.

Готовая инфраструктура.
В облаке не нужно настраивать физические сервера или управлять сложной инфраструктурой. Это упрощает развёртывание CI/CD систем и снижает затраты на их обслуживание.
Используйте преднастроенные инструменты, например Azure Pipelines или AWS CodeBuild, которые уже интегрированы с популярными платформами разработки.

Гибкость развёртывания
Облако поддерживает множество моделей развёртывания:
⚙️ Public Cloud: Удобно для тестирования и небольших проектов.
⚙️ Private Cloud: Идеально для обеспечения безопасности корпоративных данных.
⚙️ Hybrid Cloud: Подходит для проектов с частично локальной инфраструктурой.

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

⚙️☁️ Советы для успешного CI/CD в облаке

Используйте облачные API:
Интеграция с API облачных провайдеров ускоряет автоматизацию задач.
Пример: Сборка Docker-образов и их публикация в облачном репозитории.

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

Автоматическое тестирование безопасности:
Интегрируйте сканеры безопасности в конвейер CI/CD (например, Snyk, Checkmarx).

Мониторинг и логирование:
Включите такие инструменты, как AWS CloudWatch, Azure Monitor, Google Operations Suite, для анализа производительности CI/CD конвейеров.
👍9
☁️☁️Инструменты CI/CD в облаке

☁️ AWS (Amazon Web Services):
CodePipeline: Организует автоматизированные конвейеры.
CodeBuild: Выполняет сборку и тестирование кода.
CodeDeploy: Развёртывает приложения на Amazon EC2, Fargate или Lambda.
CloudFormation: Автоматизирует инфраструктуру как код (IaC).

☁️ Google Cloud Platform (GCP):
Cloud Build: Поддерживает сборку, тестирование и развертывание контейнеров.
Kubernetes Engine: Автоматизирует управление контейнерами.
Artifact Registry: Хранение артефактов (докер-образов, библиотек).

☁️ Microsoft Azure:
Azure Pipelines: Полнофункциональный CI/CD конвейер для облачных и локальных сред.
Azure DevTest Labs: Создание тестовых окружений за считанные минуты.

☁️ GitHub Actions:
Интеграция с облачными хранилищами и развертывание в AWS, Azure или GCP.
Легко масштабируется благодаря облачной инфраструктуре.
👍2
Слышали ли вы такое выражение — «Unix-подобные системы»? Это целое семейство операционных систем, которые имеют общие корни, но различаются философией, подходом к разработке и применением. Давайте разберёмся в их особенностях.
👍6🤔2