Инструменты DevOps с открытым исходным кодом, о которых я хотел бы узнать раньше.
Это перевод оригинальной статьи Open-Source DevOps Tools I Wish I Knew About Sooner.
Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.
Когда я только начинал работать в DevOps, я думал, что всё должно быть дорогим.
Мониторинг? Платный. CI/CD? Платный. Логирование? Платное.
Даже такие простые вещи, как проверка доступности, стоили денег.
Мне потребовалось несколько болезненных счетов, чтобы осознать одну вещь:
Практически у каждого крупного DevOps-инструмента есть open-source альтернатива, и многие из них на самом деле лучше.
Это те инструменты, которые я хотел бы, чтобы меня заставили изучить раньше.
Они бы сэкономили мне деньги, время и кучу нервов.
1. Portainer → Графический интерфейс Docker, о необходимости которого я даже не подозревал.
Ссылка: https://www.portinaer.io/
Раньше я управлял Docker исключительно с помощью командной строки.
Всё было хорошо… пока у меня не появились десятки контейнеров, стеков, сетей и томов.
- Визуальная панель мониторинга
- Логи и статистика контейнеров
- Развертывание в один клик
- Шаблоны стека
- Контроль доступа пользователей
Реальный пример:
я управляю несколькими небольшими клиентскими приложениями на VPS-серверах.
Portainer превратил управление контейнерами из запутанных терминальных джунглей в удобный дашборд, где я могу перезапускать, обновлять или проверять контейнеры за считанные секунды.
2. Jenkins→ Моя первая настоящая свобода в области CI/CD
Ссылка: https://www.jenkins.io/
До появления Jenkins я в значительной степени полагался на SaaS-инструменты для непрерывной интеграции.
Они удобны, но бесплатные ограничения просто ужасны.
- Неограниченное количество пайплайнов
- Кастомные агенты
- Огромная экосистема плагинов
- Полный контроль над сборкой.
Однажды я собрал пайплайн, который:
Всё работает на сервере за 10 долларов. Никаких ограничений. Никаких неожиданностей.
3. Prometheus + Grafana → Замена облачного мониторинга
Ссылки:
Prometheus: https://prometheus.io/
Grafana: https://grafana.com/
Все облачные провайдеры взимают дополнительную плату за панели мониторинга.
По мере масштабирования эти суммы быстро растут.
Prometheus обрабатывает метрики.
Grafana великолепно их визуализирует.
Где это меня выручило:
я развернул их в кластере Kubernetes — и внезапно у меня появилось:
- Панели мониторинга ЦП/памяти
- Графики состояния Pod’ов
- Пользовательские оповещения
- Метрики производительности узлов
4. Alertmanager → Оповещения без оплаты
Ссылка: https://prometheus.io/docs/alerting/latest/alertmanager/
Уведомления по электронной почте… бесплатно.
Уведомления в Slack… бесплатно.
Уведомления Webhook… бесплатно.
До того, как я открыл для себя Alertmanager, я полагался на платные инструменты только для получения уведомлений.
После настройки с помощью Prometheus я смог:
- Получать оповещения о перезапуске подов.
- Отслеживать высокую загрузку ЦП.
- Выявлять сбои при развертывании
Никакого спама в SMS-сообщениях/уведомлениях, никаких скрытых платежей.
5. Loki → Инструмент логирования, который следовало использовать с самого первого дня.
Ссылка: https://grafana.com/oss/loki/
Раньше я перенаправлял логи в случайные папки и “cat”-ил их как пещерный человек.
Потом появился Loki — инструмент агрегации логов с открытым исходным кодом от Grafana.
Это как Elasticsearch, но легче и проще в использовании.
Где это помогло:
Логи срабатывали на:
И всё это можно было искать в одном дашборде.
6. Argo CD → GitOps: правильный подход
Ссылка: https://argo-cd.readthedocs.io/
Если вы работаете с Kubernetes, Argo CD кажется почти волшебным инструментом.
Он за вашим Git-репозиторием и автоматически синхронизирует ваш кластер с манифестами.
- Нет необходимости вручную выполнять
kubectl apply - Автоматический откат
- мониторинг состояния приложения
- развертывание с контролем версий
После того, как я настроил его в среде микросервисов, развертывание стало выглядеть следующим образом:
git push
Вот и всё. Argo позаботился обо всём остальном.
7. Traefik → Обратный прокси, который наконец-то стал понятным.
Ссылка: https://traefik.io/
Конфигурации NGINX заставили меня возненавидеть жизнь.
А потом я открыл для себя Traefik.
- Обнаруживает контейнеры
- Генерирует правила маршрутизации
- Выдает SSL-сертификаты
- Управляет балансировкой нагрузки
Пример:
я развернул несколько микросервисов с метками Docker, и Traefik мгновенно их обнаружил с действительным HTTPS-соединением — без необходимости вручную настраивать файлы конфигурации.
8. MinIO → Open-Source хранилище S3
(Бесплатное использование прекращено, но исходный код доступен по ссылке : https://github.com/minio/minio )
Ссылка: https://min.io/
AWS S3 — отличный сервис, но не всегда дешевый.
Я использовал его для хранения:
С тех пор я использую MinIO для локальной разработки, тестовых окружений и даже некоторых производственных задач.
9. K9s → Терминальный интерфейс для Kubernetes
Ссылка: https://k9scli.io/
kubectl — мощный… но иногда мучительный.
K9s предоставляет вам интерактивную панель управления терминала:
Это как «htop», но для вашего кластера.
Я использую его ежедневно — он значительно ускоряет отладку.
10. Gitea → Самостоятельно размещаемая альтернатива GitHub
Ссылка: https://about.gitea.com/
Для небольших команд и внутренних репозиториев GitHub может быть излишним.
- Git-хостинг
- Issues (задачи)
- Запросы на слияние
- интеграции CI
- Использование серверов с минимальными затратами ресурсов
Я настроил её для внутреннего корпоративного проекта, и разработчики оценили, насколько быстро и удобно всё работает.
Заключительные мысли
DevOps не обязательно должен быть дорогим.
Для большинства инструментов, которые профессионалы используют ежедневно, уже существуют мощные версии с открытым исходным кодом.
Использование инструментов с открытым исходным кодом заставляет вас действительно понимать, как работает ваша инфраструктура.
Если вы прокачиваете навыки DevOps или модернизируете стек, начните с этих инструментов.
Они сэкономят вам деньги — и сделают вас лучшим инженером.
На этом все! Спасибо за внимание! Если статья была интересна, подпишитесь на телеграм-канал usr_bin, где будет еще больше полезной информации.