Библиотека девопса | 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
Оверкоммитинг — зачем выделять больше?

🎯 Оверкоммитинг — это практика выделения виртуальных ресурсов (таких как процессорное время, память или хранилище) в количестве, превышающем физически доступные ресурсы системы. В контексте контейнеров и облачных сред, таких как 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: Если вы хотите упростить тестирование и интеграцию, избегая сложной настройки локального окружения или проблем с производительностью.
💾🌐 6 главных технологий для хранения данных в браузере

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

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

📎 Читать статью
🧑‍💻 Статьи для 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 конвейеров.
☁️☁️Инструменты 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.
Легко масштабируется благодаря облачной инфраструктуре.
Слышали ли вы такое выражение — «Unix-подобные системы»? Это целое семейство операционных систем, которые имеют общие корни, но различаются философией, подходом к разработке и применением. Давайте разберёмся в их особенностях.
💾⚙️ CI/CD в базах данных: Как ускорить разработку и улучшить жизнь разработчиков

В статье «Improving the Developer Experience by Deploying CI/CD in Databases» обсуждается как внедрение практик CI/CD (непрерывной интеграции и доставки) в процессы работы с базами данных улучшает опыт разработчиков, ускоряет разработку и делает управление данными более эффективным.

Основные темы статьи:

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

Снижение рисков ошибок: Использование CI/CD помогает уменьшить количество ошибок при изменении схемы баз данных и миграции данных благодаря тщательному тестированию.

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

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

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

Статья подчёркивает, что CI/CD в базах данных — это не просто техническое решение, а способ упростить работу разработчиков, повысить качество продукта и сократить время выхода обновлений на рынок.

📎 Читать статью
🔥⚙️ Что выбрать для мониторинга локальной инфраструктуры: Zabbix или Prometheus + Grafana + Alertmanager?
Пользователь Reddit стоит перед выбором между двумя популярными системами мониторинга для локальной инфраструктуры: Zabbix и связкой Prometheus + Grafana + Alertmanager.

В обсуждении каждый делится своим мнением, а мы бы хотели узнать сталкивались ли вы с этими инструментами или у вас свой набор для мониторинга? Пишите в комментарии! 👇👇

#интерактив
📜 ТОП-15 международных IT-сертификаций, которые увеличат твой доход в 2025 году

Хочешь знать, какие «корочки» реально поднимут твою зарплату? Исследование Skillsoft раскрыло ТОП-15 самых денежных IT-сертификаций. Спойлер: облака и безопасность рулят.

👉 Читать статью
🎯 Новая платформа для специалистов по платформенной инженерии

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

📚 Вот подборка статей, которые стоит прочитать:

«Survey Surfaces Higher Platform Engineering Success Rates»
Исследование, показывающее, как внедрение платформенной инженерии повышает эффективность команд.

«Pulumi Extends Ability to Manage Kubernetes Infrastructure»
О новых возможностях Pulumi для управления Kubernetes.

«Metrics that Matter: Enhancing Efficiency of Platform Engineering»
Какие метрики важны для улучшения работы внутренней платформы?

«From Automation to Ecosystems: Five Key Steps on the Road to Platform Engineering»
Пять ключевых шагов для успешного перехода к платформенной инженерии.

#дайджест
🎯 PerfectScale: Оптимизация Kubernetes на новом уровне

Управление Kubernetes-кластерами может быть сложным, но PerfectScale предлагает инструменты, которые делают процесс проще и эффективнее.

🔧 PodFit — автоматическая настройка и масштабирование подов. Инструмент помогает избежать переплат за неиспользуемые ресурсы и повышает стабильность системы.

⚙️ InfraFit — рекомендации по оптимальной конфигурации узлов и ресурсов. Это позволяет выявить «пустые» мощности и сэкономить на инфраструктуре.

📈 Интеграция с ClusterAutoscaler и Karpenter делает масштабирование более умным, а поддержка GPU помогает приложениям с интенсивными вычислениями работать быстрее.

В совокупности, PerfectScale становится незаменимым помощником для DevOps-команд, стремящихся сделать свои Kubernetes-кластеры более эффективными, стабильными и экономичными.

🌐 Подробнее в оригинале