Forwarded from /usr/bin
Балансировка нагрузки: проблемы, решения, практические рекомендации
В этой статье на Хабре разобрана матчасть по возможным вариантам балансировки нагрузки.
@usr_bin_linux
Один сервер — это точка отказа. Рано или поздно он не выдержит. Как только появляется второй, третий, десятый сервер, возникает вопрос: кто будет раздавать им работу? Эту роль и берет на себя балансировщик нагрузки.
Но это не тупая раздача запросов по очереди. Хороший балансировщик — это мозг. Он должен чувствовать пульс системы: какой сервер отвечает быстро, а какой начал тормозить. Он должен понимать, что запросы одного пользователя лучше отправлять в одно и то же место. Ошибка в этой логике — и вся система превращается в хаос из ошибок и потерянных сессий.
В этой статье на Хабре разобрана матчасть по возможным вариантам балансировки нагрузки.
@usr_bin_linux
Forwarded from DevOps
Кэширование хранит часто используемые данные в быстром слое, обычно в памяти.
Это снижает нагрузку на базу данных и ускоряет ответы системы.
Один из самых эффективных способов улучшить производительность, масштабируемость и сократить расходы.
ПОЧЕМУ КЭШИРОВАНИЕ ВАЖНО
Экономит запросы к базе
Уменьшает задержку
Справляется с высоким количеством чтений
Укрепляет стабильность при нагрузках
Снижает стоимость инфраструктуры
1) CLIENT-SIDE CACHING
Хранение данных в браузере пользователя.
Используются cookies, localStorage, service workers.
Меньше повторных загрузок статических ресурсов.
2) CDN CACHING
Статические файлы лежат на глобальных edge-серверах.
CSS, JS, изображения, видео, шрифты.
Меньше задержка у глобальных пользователей и разгрузка основного сервера.
3) APPLICATION-LEVEL CACHING
Кэш внутри приложения.
Например, структуры в памяти вроде LRU cache.
Очень быстро, но работает в рамках одного сервера.
4) DISTRIBUTED CACHING
Общий кэш для множества серверов.
Инструменты: Redis, Memcached.
Подходит для горизонтального масштабирования и устраняет дублирование кэша.
5) DATABASE QUERY CACHING
Базы хранят результаты частых запросов.
MySQL Query Cache, Postgres внутренний кэш, MongoDB WiredTiger.
Ускоряет повторные чтения.
6) WRITE-BEHIND
Запись идет в кэш, а в базу — асинхронно.
Снижает задержку записи.
Подходит для систем с высокой нагрузкой на запись.
7) WRITE-THROUGH
Записи попадают в кэш и базу одновременно.
Гарантирует консистентность.
Немного медленнее из-за двойной записи.
8) CACHE-ASIDE
Приложение сначала проверяет кэш.
Если промах — идет в базу, затем помещает результат в кэш.
Гибкий и самый популярный вариант.
9) READ-THROUGH
Приложение всегда читает из кэша.
При промахе сам кэш получает данные из базы.
Кэш всегда остается обновленным.
10) TTL И ПОЛИТИКИ ИСТЕЧЕНИЯ
Каждая запись имеет срок жизни.
TTL, LRU, LFU, FIFO — разные режимы очистки данных.
11) INVALDATION
Ручное удаление ключей, удаление по шаблону, автоматическое истечение по TTL или лимиту памяти.
12) MULTI-LAYERED CACHING
Несколько уровней сразу: браузер, CDN, распределенный кэш, кэш приложения.
Полезно для глобальных систем с большим трафиком.
Совет
Кэширование помогает добиться высокой скорости, низкой нагрузки на базу и хорошей масштабируемости.
Стратегию нужно подбирать исходя из размеров системы, интенсивности запросов и требований к консистентности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from DevOps
🐧 Продвинутый Linux/DevOps совет: используйте `systemd-run` для мгновенного запуска задач в изолированных временных сервисах - без написания unit-файлов.
Фишка:
Это идеальный инструмент для временных задач, отладки, ограничения ресурсов и тестирования поведения в боевых условиях.
Примеры:
1) Запуск команды в отдельном cgroup с лимитом CPU:
systemd-run --scope -p CPUQuota=20% bash -c "make build"
2) Запуск периодической задачи без cron:
systemd-run --on-calendar="hourly" /usr/local/bin/cleanup.sh
3) Проверка сервиса в sandbox-режиме:
systemd-run --property=PrivateTmp=yes --property=ProtectSystem=strict bash
4) Изоляция для небезопасной команды:
systemd-run -p NoNewPrivileges=yes -p PrivateDevices=yes ./script.sh
Чем полезно:
- Не нужно создавать и чистить unit-файлы
- Команда получает все преимущества systemd: логи, cgroups, sandbox
- Отлично подходит DevOps-инженерам для тестов и временных задач
- Позволяет гарантировать безопасность и стабильность окружения
Если вы ещё не используете
Фишка:
systemd-run позволяет запускать команды как полноценные systemd-сервисы "на лету". Это идеальный инструмент для временных задач, отладки, ограничения ресурсов и тестирования поведения в боевых условиях.
Примеры:
1) Запуск команды в отдельном cgroup с лимитом CPU:
systemd-run --scope -p CPUQuota=20% bash -c "make build"
2) Запуск периодической задачи без cron:
systemd-run --on-calendar="hourly" /usr/local/bin/cleanup.sh
3) Проверка сервиса в sandbox-режиме:
systemd-run --property=PrivateTmp=yes --property=ProtectSystem=strict bash
4) Изоляция для небезопасной команды:
systemd-run -p NoNewPrivileges=yes -p PrivateDevices=yes ./script.sh
Чем полезно:
- Не нужно создавать и чистить unit-файлы
- Команда получает все преимущества systemd: логи, cgroups, sandbox
- Отлично подходит DevOps-инженерам для тестов и временных задач
- Позволяет гарантировать безопасность и стабильность окружения
Если вы ещё не используете
systemd-run как «одноразовый unit-файл», попробуйте - это один из самых недооценённых инструментов systemd.🔥4👍1
Forwarded from Код и Капуста
Умереть от датарейс
Go часто хвалят за простоту написания высококонкурентных программ. Однако поражает то, как много возможностей Go предоставляет разработчикам, чтобы они сами себе навредили.
Статья с примерами гонок и других ошибок при написании конкурентного кода
#golang
https://kodikapusta.ru/news/etpu-umeret-ot-datareis
Go часто хвалят за простоту написания высококонкурентных программ. Однако поражает то, как много возможностей Go предоставляет разработчикам, чтобы они сами себе навредили.
Статья с примерами гонок и других ошибок при написании конкурентного кода
#golang
https://kodikapusta.ru/news/etpu-umeret-ot-datareis
Forwarded from k8s (in)security (Дмитрий Евдокимов)
songbird - простенький
1) Проверять достижимость между
2) Сгенерировать
3) Отобразить все сетевые политики, которые влияют на выбранный
P.S. Определенно ряд мыслей мы подсмотрим для Luntry, расширив поддержкой Calico и Cilium ;)
CLI инструмент, упрощающий жизнь и работу с NetworkPolicy (к сожалению, только нативными). А именно данный инструмент позволяет:1) Проверять достижимость между
Pods или к конкретному адресу через анализ NetworkPolicy. То есть помогает ответить на вопрос "а они вообще могут общаться друг с другом или нет?"2) Сгенерировать
NetworkPolicy для общения между двумя сервисами3) Отобразить все сетевые политики, которые влияют на выбранный
PodP.S. Определенно ряд мыслей мы подсмотрим для Luntry, расширив поддержкой Calico и Cilium ;)
GitHub
GitHub - Banh-Canh/songbird: Evaluate network policies configuration to check for connectivity
Evaluate network policies configuration to check for connectivity - GitHub - Banh-Canh/songbird: Evaluate network policies configuration to check for connectivity
❤1👍1
Forwarded from DevOps FM
От values-файлов к управлению вариантами конфигураций в ConfigHub: как перестать рендерить вслепую
В этот понедельник поговорим о переходе от классического Helm-подхода с values.yaml к модели Configuration as Data, которая реализует себя в ConfigHub. Если вы всё ещё храните values.yaml для разных сред, при аварийных запросах запускаете
Как внедрить подход?
⏺ Развертывание базового окружения (Infra Space)
1. Добавляем репозиторий Helm:
2. Разворачиваем базовое окружение для инфраструктуры:
3. Устанавливаем Helm-чарт через ConfigHub:
• ConfigHub использует движок Helm для однократного рендеринга чарта.
• Результат сохраняется как материализованный, версионируемый и индексируемый артефакт (Config Unit).
⏺ Создание пространств для окружений (Spaces)
1. Создаем пространства для каждого целевого окружения:
2. В качестве альтернативы – создаем пространства через UI ConfigHub, используем кнопку [Add] на странице списка Spaces.
3. Каждое пространство будет содержать копии базовых конфигураций для конкретного окружения.
⏺ Клонирование и создание Вариантов (Variants)
Variant – это копия Config Unit, которая создается через операцию Clone.
1. Создаем Dev Variant из базового окружения:
2. Выбираем чарты в infra space.
3. Выбираем dev space как цель.
4. Нажимаем [Clone Units].
5. Создаем Prod Variant из Dev Variant аналогично.
⬆️ Так, мы получаем цепочку конфигураций:
[infra's Helm charts] → [dev's Helm charts] → [prod's Helm charts]
Аналогичную концепцию можем использовать в Kustomize. Мы начинаем с базовых ресурсов, а затем добавляем к ним «Dev Overlays».
⏺ Мгновенный доступ к конфигурациям
1. После клонирования не требуется повторный рендеринг.
2. Получаем точные манифесты для окружений:
Dev
Prod
Получаем готовый YAML, а не шаблон или переменную.
⏺ Решение сценариев «Fire Drill»
1. Так как конфигурации сохранены как данные, можно выполнять поиск и анализ без повторного рендеринга:
Поиск уязвимых образов
Поиск образов
👀 Подводные камни и что делать:
• Нативные зависимости и postinstall хуки. При рендере учитывайте, что некоторые чарты рассчитывают поведение во время выполнения. Обязательный этап – прогон тестов в staging.
• Избежание версионных конфликтов Helm чартов, за счет фиксирования версий чарта; используйте lock-файлы чарта или helmfile для управления групповыми релизами.
Делимся полезными ресурсами:
⚙️ Интеграция ConfigHub-workflow с CI/CD (build → render → store → apply), примеры для GitHub Actions/GitLab CI и рекомендации по кэшированию здесь.
❕ How-to по Variants и GitOps (ArgoCD/Flux) – синхронизация «данных-конфигураций» с Git и кластерами (Kustomize в ArgoCD), подробнее тут.
#confighub #kubernetes #helm #devops
В этот понедельник поговорим о переходе от классического Helm-подхода с values.yaml к модели Configuration as Data, которая реализует себя в ConfigHub. Если вы всё ещё храните values.yaml для разных сред, при аварийных запросах запускаете
helm template и парсите YAML – рекомендуем сменить подход. В ConfigHub реализуется модель «конфигурация как данные»: вместо того чтобы каждый раз генерировать YAML из шаблонов по запросу, вы создаёте готовый манифест один раз.Как внедрить подход?
1. Добавляем репозиторий Helm:
helm repo update
2. Разворачиваем базовое окружение для инфраструктуры:
cub space create infra
3. Устанавливаем Helm-чарт через ConfigHub:
cub helm install --space infra \
--use-placeholder=false \
--namespace monitoring \
prometheus prometheus-community/kube-prometheus-stack \
--version 79.6.1
• ConfigHub использует движок Helm для однократного рендеринга чарта.
• Результат сохраняется как материализованный, версионируемый и индексируемый артефакт (Config Unit).
1. Создаем пространства для каждого целевого окружения:
cub space create dev
cub space create prod2. В качестве альтернативы – создаем пространства через UI ConfigHub, используем кнопку [Add] на странице списка Spaces.
3. Каждое пространство будет содержать копии базовых конфигураций для конкретного окружения.
Variant – это копия Config Unit, которая создается через операцию Clone.
1. Создаем Dev Variant из базового окружения:
2. Выбираем чарты в infra space.
3. Выбираем dev space как цель.
4. Нажимаем [Clone Units].
5. Создаем Prod Variant из Dev Variant аналогично.
[infra's Helm charts] → [dev's Helm charts] → [prod's Helm charts]
Аналогичную концепцию можем использовать в Kustomize. Мы начинаем с базовых ресурсов, а затем добавляем к ним «Dev Overlays».
1. После клонирования не требуется повторный рендеринг.
2. Получаем точные манифесты для окружений:
Dev
cub unit get --space dev prometheus --data-only
Prod
cub unit get --space prod prometheus --data-only
Получаем готовый YAML, а не шаблон или переменную.
1. Так как конфигурации сохранены как данные, можно выполнять поиск и анализ без повторного рендеринга:
Поиск уязвимых образов
cub unit list --space "*" \
--resource-type monitoring.coreos.com/v1/Prometheus \
--where-data "spec.image ~ '.*registry.compromised.com.*'"
Поиск образов
cub unit list --space "*" \
--resource-type monitoring.coreos.com/v1/Prometheus \
--where-data "spec.image ~ '.*quay.io.*'"
• Нативные зависимости и postinstall хуки. При рендере учитывайте, что некоторые чарты рассчитывают поведение во время выполнения. Обязательный этап – прогон тестов в staging.
• Избежание версионных конфликтов Helm чартов, за счет фиксирования версий чарта; используйте lock-файлы чарта или helmfile для управления групповыми релизами.
Делимся полезными ресурсами:
#confighub #kubernetes #helm #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
Forwarded from /usr/bin
Разбираем подводные камни, ошибки и лучшие практики при разработке Kubernetes-операторов
Читать дальше на Хабре.
Kubernetes-операторы давно стали привычным инструментом автоматизации и управления сложными системами. Однако на практике их поведение далеко не такое предсказуемое, как в примерах из документации. Небольшие отклонения в логике цикла согласования, обработке ошибок или обновлении статуса быстро превращаются в зацикливание, дублирование ресурсов и прочие сюрпризы, которые трудно отладить. Новичкам полезно понимать, почему так происходит, а опытным разработчикам — помнить, какие принципы стоит держать в голове при проектировании оператора.
Читать дальше на Хабре.
Forwarded from DevOps
🚀 Удобное управление CI/CD с Pipedash
Pipedash — это настольное приложение, которое объединяет CI/CD пайплайны из различных провайдеров в одном интерфейсе. Вместо того чтобы переключаться между разными панелями управления, вы можете отслеживать статус всех своих пайплайнов в одном месте. Приложение поддерживает GitHub Actions, GitLab CI, Jenkins и другие.
🚀 Основные моменты:
- Объединяет данные из нескольких CI/CD провайдеров
- Автоматическое обновление статусов пайплайнов
- Поддержка плагинов для добавления новых провайдеров
- Локальное хранение данных без аналитики и телеметрии
- Доступно для macOS, Windows и Linux
📌 GitHub: https://github.com/hcavarsan/pipedash
#rust
Pipedash — это настольное приложение, которое объединяет CI/CD пайплайны из различных провайдеров в одном интерфейсе. Вместо того чтобы переключаться между разными панелями управления, вы можете отслеживать статус всех своих пайплайнов в одном месте. Приложение поддерживает GitHub Actions, GitLab CI, Jenkins и другие.
🚀 Основные моменты:
- Объединяет данные из нескольких CI/CD провайдеров
- Автоматическое обновление статусов пайплайнов
- Поддержка плагинов для добавления новых провайдеров
- Локальное хранение данных без аналитики и телеметрии
- Доступно для macOS, Windows и Linux
📌 GitHub: https://github.com/hcavarsan/pipedash
#rust
🔥5
Forwarded from Загадки DevOpsa
Лучшие практики и технологии DevOps в 2025 году
17 декабря в 17:00 в прямом эфире на Twitch у нас большой созвон по девопсу!
В гости заглянут сразу двое:
Вячеслав Федосеев и Александр Крылов
Будем честно меряться тем, чем реально пользуемся в работе, сравнивать, спорить и много шутить. Разберём по полочкам:
1) Инструменты, которые крутим каждый день:
👉🏻 kubectl vs k9s vs Lens vs kube-dashboard — кто у кого выигрывает в 2025?
👉🏻 bash vs fish vs другие расширения CLI — где продуктивность, а где фан?
2) Сервисы, без которых не живём в проде:
👉🏻 grafana + loki + prometheus vs zabbix + ELK (и вся «семья»: vector/click, victoria metrics, psql, mimir) — что брать под разные сценарии.
👉🏻 GitHub Actions vs Jenkins vs GitLab CI — где скорость, где боль, а где надёжность.
Обсудим самое жаркое по-девопсерски
❗И да, ещё раз для тех, кто любит напоминалки: 17 декабря, 17:00
Ссылку на трансляцию, как всегда, скину накануне)
17 декабря в 17:00 в прямом эфире на Twitch у нас большой созвон по девопсу!
В гости заглянут сразу двое:
Вячеслав Федосеев и Александр Крылов
Будем честно меряться тем, чем реально пользуемся в работе, сравнивать, спорить и много шутить. Разберём по полочкам:
1) Инструменты, которые крутим каждый день:
👉🏻 kubectl vs k9s vs Lens vs kube-dashboard — кто у кого выигрывает в 2025?
👉🏻 bash vs fish vs другие расширения CLI — где продуктивность, а где фан?
2) Сервисы, без которых не живём в проде:
👉🏻 grafana + loki + prometheus vs zabbix + ELK (и вся «семья»: vector/click, victoria metrics, psql, mimir) — что брать под разные сценарии.
👉🏻 GitHub Actions vs Jenkins vs GitLab CI — где скорость, где боль, а где надёжность.
Обсудим самое жаркое по-девопсерски
❗И да, ещё раз для тех, кто любит напоминалки: 17 декабря, 17:00
Ссылку на трансляцию, как всегда, скину накануне)
👎4👍1🔥1
Forwarded from /usr/bin
Мы перестали использовать Docker в 2025 году — вот что пришло ему на смену
Вопрос не в том, умер ли Docker? Вопрос скорее в том, удовлетворяет ли Docker ваши потребности, или вы удовлетворяете потребности устаревшего Docker?
В этой статье рассказано о причинах переезда с Docker на другие контейнерные и бессерверные технологии, а также приведен пошаговый план такой миграции.
❓Отметьтесь в комментариях кто тоже рассматривает миграцию с Docker или уже смигрировал. Возможно, у вас есть интересный кейс, который будет любопытен другим читателям канала.
Вопрос не в том, умер ли Docker? Вопрос скорее в том, удовлетворяет ли Docker ваши потребности, или вы удовлетворяете потребности устаревшего Docker?
В этой статье рассказано о причинах переезда с Docker на другие контейнерные и бессерверные технологии, а также приведен пошаговый план такой миграции.
❓Отметьтесь в комментариях кто тоже рассматривает миграцию с Docker или уже смигрировал. Возможно, у вас есть интересный кейс, который будет любопытен другим читателям канала.
Teletype
Мы перестали использовать Docker в 2025 году — вот что пришло ему на смену
Это перевод оригинальной статьи We Stopped Using Docker in 2025 — Here’s What Replaced It.
Forwarded from DevOps Brain 🧠
Ну что, котлеги, надеюсь вы нашли для себя что-то полезное в предыдущих 2 частях. Если это так - то не скупитесь ставить
Это дает мне понять, что материал полезен и вам интересно то о чем я пишу.
Пришло время ехать дальше и вот что я вам скажу: есть два подхода к продакшену - “потом прикрутим безопасность/метрики/грейсфул” и “почему оно снова умерло. Открываем логи и метрики и смотрим!”. Обычно команды быстро мигрируют от первого ко второму - через боль, но мигрируют.
Эта часть c кучей примеров про безопасность подов, сетевые политики, наблюдаемость (метрики/логи/трейсы), корректное завершение (SIGTERM, draining) и управление образами. Применение этих практик сделает инциденты для вас диагностируемыми и переживаемыми - даже когда всё идёт не по плану.
#kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
DevOps Brain 🧠
Лучшие практики конфигурирования Kubernetes в 2025 - Часть 3: безопасность, логи, наблюдаемость и graceful shutdown
Эта часть про безопасность подов, сетевые политики, наблюдаемость (метрики/логи/трейсы), корректное завершение (SIGTERM, draining) и управление образами. Это набор лучших практик, который делает инциденты диагностируемыми и **переживаемыми - даже когда всё…
🔥2
Forwarded from John Doe
Присоединяйтесь к нам через несколько часов!
👉 https://youtube.com/live/yuZ_JkOx1uo
🕔 Сегодня в 17:00 GMT / 18:00 CET / 9:00am PT.
В сегодняшней программе:
🟣 Последние обновления VictoriaMetrics
📕 Spotify — история клиента: Lauren Roshore, Менеджер по инжинирингу в Spotify Engineering выступит с докладом «Как и почему мы используем VictoriaMetrics»
🤖 Инновации в Anomaly Detection
☁️ Что нового в VictoriaMetrics Cloud
📜 Последние обновления VictoriaLogs
🔥 Обновления в VictoriaTraces
🌍 Новости сообщества + ⁉️AMA
Не упустите свой шанс узнать новое, задать вопросы и пообщаться с сообществом VictoriaMetrics!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
VictoriaMetrics Virtual Meet Up - December 2025
🖖 Warm up
📊 VictoriaMetrics roadmap updates
Spotify - Customer Story: "How & why we use VictoriaMetrics"
Presenter: Lauren Roshore, Engineering Manager, Observability at Spotify
Product Updates:
📈 Anomaly Detection Updates
☁️ VictoriaMetrics Cloud Updates…
📊 VictoriaMetrics roadmap updates
Spotify - Customer Story: "How & why we use VictoriaMetrics"
Presenter: Lauren Roshore, Engineering Manager, Observability at Spotify
Product Updates:
📈 Anomaly Detection Updates
☁️ VictoriaMetrics Cloud Updates…
Forwarded from Мониторим ИТ
Минимальный набор практик для микросервиса
Если вы Go-разработчик и к вам пришли и сказали "мне нужны твои метрики, трейсы и логи", прочитайте эту статью. Здесь собраны рекомендации, например, о том, что нужно разделять логи на технический поток и поток аудита. А еще:
И еще:
И еще:
Ну, в общем теперь вы знаете, что сказать вашим разрабам, если они хотят нормальный мониторинг. В статье есть и другие советы.
@monitorim_it
Если вы Go-разработчик и к вам пришли и сказали "мне нужны твои метрики, трейсы и логи", прочитайте эту статью. Здесь собраны рекомендации, например, о том, что нужно разделять логи на технический поток и поток аудита. А еще:
Почему я так упираюсь в связку “трейсы + логи”? Потому что это реально магия. Ты открываешь проблемный трейс, видишь trace_id, и дальше хочешь в один клик найти все логи по этому запросу. Чтобы это работало, логгер должен вытаскивать trace_id и span_id из контекста.
И еще:
Идея простая: у каждого запроса есть trace_id, и по нему ты видишь весь путь запроса через сервисы, очереди, базы и внешние интеграции. Внутри trace есть span — атомарные операции. Хорошая новость в том, что большая часть спанов создаётся автоматически, если ты используешь нормальные инструменты (HTTP middleware, SQL драйверы с OTel-инструментацией, клиенты Kafka/Redis и т.д.). Плохая новость в том, что бизнес-логика “между ними” сама себя не оттрассирует, и иногда надо уметь добавить span руками.
И еще:
Я люблю метрики, которые привязаны к смыслу. Если это сервис постов, то тебе важно понимать, сколько постов создают, как часто добавляют картинки или видео, как меняется поведение пользователей. Это не «хочу поиграться в аналитика», это реально помогает принимать решения и продукту, и инженерам.
Плюс есть технические метрики, которые не про сервис в целом, а про конкретную бизнес-механику: сколько сообщений улетело в DLQ, сколько промахов у кэша, как часто включается fallback. Такие числа позволяют развивать сервис на цифрах, а не на ощущениях.
Ну, в общем теперь вы знаете, что сказать вашим разрабам, если они хотят нормальный мониторинг. В статье есть и другие советы.
@monitorim_it
👍2
Forwarded from /usr/bin
Как мы сократили расходы на Kubernetes примерно на 78% без единой секунды простоя
В этой статье разобрано каким образом снизить стоимость инфраструктуры для кластера k8s простой проверкой утилизацией ресурсов. А также приведен пошаговый план миграции на более дешевое железо.
В этой статье разобрано каким образом снизить стоимость инфраструктуры для кластера k8s простой проверкой утилизацией ресурсов. А также приведен пошаговый план миграции на более дешевое железо.
Teletype
Как мы сократили расходы на Kubernetes примерно на 78% без единой секунды простоя
Это перевод оригинальной статьи How We Cut Kubernetes Costs by ~78% Without a Second of Downtime.
Forwarded from Мониторим ИТ
Introducing Observable Load Testing = Locust + OpenTelemetry!
Статья с описанием подхода (на портале medium.com)
Locust — это инструмент с открытым исходным кодом для тестирования производительности и нагрузки HTTP и других протоколов. Его удобный для разработчиков подход позволяет определять тесты в обычном коде Python.
Тесты Locust можно запускать из командной строки или с помощью веб-интерфейса. Пропускную способность, время отклика и ошибки можно просматривать в режиме реального времени и/или экспортировать для последующего анализа.
Вы можете импортировать обычные библиотеки Python в свои тесты, а благодаря подключаемой архитектуре Locust, возможности расширения практически безграничны. В отличие от большинства других инструментов, дизайн ваших тестов никогда не будет ограничен графическим интерфейсом или предметно-ориентированным языком программирования.
Репыч на Гитхаб
Проблема: Традиционное нагрузочное тестирование включает в себя обширную ручную корреляцию данных с бэкэндом и часто заходит в тупик из-за «слепых зон» в коде приложения и распределенных системах.
Решение: Благодаря автоматической инструментации скриптов Locust с помощью OpenTelemetry, нагрузочные тесты теперь будут генерировать сигналы OpenTelemetry. Эта телеметрия нагрузочных тестов передается в платформу мониторинга на основе OTel в режиме реального времени, позволяя визуализировать каждый запрос нагрузочного тестирования и отслеживать всю его транзакцию. Теперь у вас есть полная сквозная видимость — ваши запросы нагрузочного тестирования коррелированы с вашим приложением, инструментированным OTel.
Статья с описанием подхода (на портале medium.com)
Locust — это инструмент с открытым исходным кодом для тестирования производительности и нагрузки HTTP и других протоколов. Его удобный для разработчиков подход позволяет определять тесты в обычном коде Python.
Тесты Locust можно запускать из командной строки или с помощью веб-интерфейса. Пропускную способность, время отклика и ошибки можно просматривать в режиме реального времени и/или экспортировать для последующего анализа.
Вы можете импортировать обычные библиотеки Python в свои тесты, а благодаря подключаемой архитектуре Locust, возможности расширения практически безграничны. В отличие от большинства других инструментов, дизайн ваших тестов никогда не будет ограничен графическим интерфейсом или предметно-ориентированным языком программирования.
Репыч на Гитхаб
👍1
Forwarded from Mops DevOps
Docs-as-Code (DaC) — это подход к созданию и сопровождению технической документации с использованием тех же инструментов и рабочих процессов, что и при разработке программного кода. Этот метод легко интегрирует документацию в жизненный цикл разработки программного обеспечения, способствуя сотрудничеству, контролю версий и автоматизации.
🔹 Docs as Code: введение в предмет
🔹 Docs as Code: настраиваем инструменты под себя
🔹 Как мы пытались в Docs as Code и проиграли
🔹 Победить хаос в документации: почему мы создали свой продукт для Docs-as-a-Code
#docs
🔹 Docs as Code: введение в предмет
🔹 Docs as Code: настраиваем инструменты под себя
🔹 Как мы пытались в Docs as Code и проиграли
🔹 Победить хаос в документации: почему мы создали свой продукт для Docs-as-a-Code
#docs
❤2👍2
Forwarded from Мониторим ИТ
r9y.dev
По ссылке выше вы найдете ответ как прокачать практику SRE в вашей организации и пройти путь от 90.0% к 99.999%. Каждый топик на этой карте сопровожден ссылкой с описанием практики, преимуществами её внедрения и ссылками на релевантные материалы.
Нельзя назвать эту карту таблицей зрелости, это скорее ориентир-путеводитель. Я бы смотрел на эту карту с точки зрения ваших текущих задач и потребностей. Если вы понимаете, что работает не так или часто тушите пожары, то смотрите в нужное место на карте и смотрите как такие задачи закрываются. Весьма удобная штука.
@monitorim_it
По ссылке выше вы найдете ответ как прокачать практику SRE в вашей организации и пройти путь от 90.0% к 99.999%. Каждый топик на этой карте сопровожден ссылкой с описанием практики, преимуществами её внедрения и ссылками на релевантные материалы.
Нельзя назвать эту карту таблицей зрелости, это скорее ориентир-путеводитель. Я бы смотрел на эту карту с точки зрения ваших текущих задач и потребностей. Если вы понимаете, что работает не так или часто тушите пожары, то смотрите в нужное место на карте и смотрите как такие задачи закрываются. Весьма удобная штука.
@monitorim_it
👍2
Разверните свою облачную среду за несколько минут: виртуальные машины, S3-совместимое хранилище, Managed Kubernetes, базы данных.
▪️Быстрый старт, прозрачный биллинг, российские дата-центры.
▪️Удобные интерфейсы управления: веб-консоль, CLI, API, Terraform.
▪️Собственная разработка: развиваем облако так, как нужно пользователям, а не ждём решений от вендоров.
Развивайте свои IT-продукты. Об инфраструктуре позаботится облако.
Попробуйте MWS Cloud Platform бесплатно с грантом для новых пользователей.
▪️Быстрый старт, прозрачный биллинг, российские дата-центры.
▪️Удобные интерфейсы управления: веб-консоль, CLI, API, Terraform.
▪️Собственная разработка: развиваем облако так, как нужно пользователям, а не ждём решений от вендоров.
Развивайте свои IT-продукты. Об инфраструктуре позаботится облако.
Попробуйте MWS Cloud Platform бесплатно с грантом для новых пользователей.
👎2
Forwarded from Мониторим ИТ
12 дашбордов для дежурных, которые успокаивают всех
В этой статье приведены примеры 12 дашбордов для Grafana, которые хорошо помогают быстро диагностировать проблему. Опыт и еще раз опыт.
@monitorim_it
В этой статье приведены примеры 12 дашбордов для Grafana, которые хорошо помогают быстро диагностировать проблему. Опыт и еще раз опыт.
@monitorim_it
Teletype
12 дашбордов для дежурных, которые успокаивают всех
Это перевод оригинальной статьи 12 On-Call Dashboards That Calm Everyone Down.