🔥 История: как сэкономить $5000/месяц с помощью одного Grafana-запроса
Новости
Сотрудники Checkly поделились интересной истоирей о том, как всего один Grafana-запрос помог им начать экономить более $5000/мес
954 открытий6К показов
Разработчики из Checkly рассказали, как команда проекта поставила перед собой цель в начале 2024 года — сократить расходы на каждого пользователя.
В ходе работы над этим проектом они обнаружили способ сэкономить $5000 в месяц, снизив время запуска подов на 300 мс.
Переход на Kubernetes
Ранее проверки в Checkly выполнялись в контейнерах Amazon ECS, что имело свои преимущества, но также вызывало сложности с масштабированием и очисткой данных.
Переход на эфемерные поды в Kubernetes позволил решить эти проблемы, но возникла новая задача — время запуска подов.
С каждым запуском для новой проверки, время запуска стало напрямую влиять на вычислительные ресурсы и затраты.
Оптимизация AWS SDK
Первым шагом команды было уменьшение размера контейнеров, используя модульную версию AWS SDK (версия 3).
Это позволило импортировать только нужные модули вместо всего SDK, что помогло сократить время запуска, но не решило проблему полностью. Команда продолжила анализировать причины долгого запуска.
Использование логов и Grafana
Для определения точного источника проблемы разработчики добавили логирование времени готовности подов.
Эти логи помогли выявить, что основная проблема заключалась в длительном времени загрузки внешних модулей, особенно AWS SDK.
Используя Grafana Loki и LogQL, команда смогла обрабатывать неструктурированные логи как метрики, что позволило точнее определить, какие модули замедляют запуск.
Необычный трюк
Команда обнаружила, что проблема была связана с разными версиями AWS SDK, используемыми в различных пакетах.
Изменив версии всех модулей на одну и ту же, они значительно сократили время запуска подов. Этот простой шаг привел к сокращению времени запуска подов примерно на 300 мс.
Экономия средств
После внедрения изменений, команда увидела значительное сокращение числа используемых подов, что привело к экономии примерно $5.5 тыс в месяц.
Эта оптимизация явно продемонстрировала, как даже небольшие изменения в коде могут привести к значительным финансовым выгодам.
954 открытий6К показов