Задача CI/CD — минимизировать ручные процессы, создавать готовое к развертыванию ПО и устранять проблемы до их попадания в продакшн.
Этот подход стал ключевым для повышения надежности и автоматизации, но мы до сих пор сталкиваемся с проблемами нестабильности, отсутствием прозрачности и инструментов для предотвращения сбоев.
Исторически внимание было сосредоточено на мониторинге финальных этапов, например, уже работающего ПО, тогда как сбор данных с начальных фаз — таких как сборка, тестирование или развертывание — упускался.
Традиционно CI используется для мониторинга изменений, поддержания здоровья сборки и сигналов системы на ранних этапах. А алертинг работает на более поздних стадиях, реагируя на проблемы, которые не были пойманы CI.
Однако ограничение наблюдаемости финальными этапами создает серьезные проблемы:
Смещение фокуса наблюдаемости «влево» позволяет:
OpenTelemetry – один из самых активных проектов в рамках Cloud Native Computing Foundation. Он позволяет унифицировать типы сигналов (логи, метрики, трассировки) и интегрировать новые типы, такие как профилирование.
Ранее многие области наблюдаемости, такие как базы данных или облачные провайдеры, были закрытыми системами. OpenTelemetry открыл их с помощью четко определенного протокола, поддерживающего большинство языков программирования.
Данные CI/CD долгое время оставались в "черных ящиках". Разработчики сталкивались с трудностями при попытке получить доступ к этим данным в удобном формате. Сегодня концепция "владения своими данными" становится все более актуальной. Пользователи хотят работать с данными CI/CD в своей архитектуре без сложных обходных путей и проблем с совместимостью.
Это привело к появлению инициативы по внедрению новых семантических соглашений для наблюдаемости CI/CD в рамках OpenTelemetry. Недавно был создан отдельный Special Interest Group (SIG), чтобы сосредоточиться на этом направлении.
Что делает OpenTelemetry важным для CI/CD:
Контроль над своими данными позволяет выбирать, где их хранить и как ими управлять. OpenTelemetry берет на себя преобразование данных CI в нужный формат и их отправку в выбранное хранилище. Это открывает новые возможности:
Например, можно использовать OpenTelemetry Collector для извлечения данных из CI-систем вроде Drone, преобразования их и отправки в базу данных. Для Jenkins уже существует плагин, экспортирующий данные через протокол OTLP.
Интеграция данных CI/CD с системами наблюдаемости дает:
Сдвиг фокуса наблюдаемости «влево» позволяет решать проблемы до их эскалации, улучшать тесты и сокращать затраты на постразвертывание.
С учетом растущей популярности OpenTelemetry, наблюдаемость CI/CD станет одной из ключевых областей эволюции, наряду с мониторингом инфраструктуры и производительности приложений.
CI/CD – это основа современного продакшена, и мы должны применять к нему те же высокие стандарты, что и к нашим основным сервисам.
Узнайте об услуге devops support и закажите звонок у наших менеджеров. Поможем с любой задачей
Узнать больше