Users only care about 20% of your application 🔥 Горячее 💬 Длинная дискуссия
Большинство пользователей применяют лишь около 20% функций приложения, но у каждого — свой уникальный набор. Например, один копирует таблицы из Excel в Word, другой строит сводные таблицы, а третий вообще использует его для учёта расходов. Когда софт обрастает новыми возможностями, они часто мешают тем, кому важна конкретная узкая функциональность, — это создаёт пространство для нишевых продуктов.
Такие сервисы, как Kagi или Figma, успешно занимают эти лакуны, фокусируясь на идеальном решении задач определённой аудитории вместо погони за универсальностью. Стратегия Win — не пытаться угодить всем, а позволить пользователям через расширения и кастомизацию самим формировать свой идеальный 20%, как это делают VS Code или Slack. Ключ в гибкости, а не в нагромождении функций.
Комментарии (173)
- Пользователи обычно используют лишь небольшую часть функционала приложения (около 20%), но у разных пользователей это разные 20%, что требует поддержки всего функционала.
- В корпоративном сегменте отсутствие даже редко используемых, но критичных для конкретного клиента функций (гигиенических фич) может привести к срыву сделки.
- Сложность удаления неиспользуемых функций обусловлена тем, что каждая функция может быть критически важна для узкой группы пользователей, и их удаление приведет к потере этих пользователей.
- Для борьбы с раздуванием функционала предлагаются различные стратегии: фокусировка на конкретной аудитории, модульность, соблюдение философии Unix (один инструмент — одна задача), сбор метрик использования.
- Разработчикам сложно предсказать, как именно будет использоваться продукт, поэтому важно сохранять гибкость и возможность кастомизации, особенно для технически подкованных пользователей.
OpenTelemetry collector: What it is, when you need it, and when you don't
OpenTelemetry Collector: что это, когда нужен и когда нет
Практическое руководство по OpenTelemetry Collector: что делает, как работает, архитектурные паттерны и как решить, нужен ли он вам для производительности, контроля, безопасности и экономии.
Нужен ли вам OpenTelemetry Collector? Для небольших проектов — возможно нет. Для production-среды с множеством сервисов, где важны стоимость, производительность и безопасность — почти наверняка да.
Краткое определение
OpenTelemetry Collector — это нейтральный к вендорам, расширяемый конвейер телеметрии, который принимает, обрабатывает и экспортирует данные (трейсы, метрики, логи) из ваших приложений в одно или несколько хранилищ.
Он позволяет:
- Очищать данные (удалять чувствительные поля, добавлять контекст)
- Пакетировать отправки и повторять при сбоях
- Применять умное семплирование (сохранять ошибки и редкие медленные трейсы)
- Сглаживать различия между версиями SDK
- Маршрутизировать данные в разные хранилища
- Служить защитным барьером между приложениями и интернетом
- Снижать затраты, отсеивая малополезную телеметрию
Архитектура
Без Collector (прямой экспорт)
Каждый сервис отправляет телеметрию напрямую в бэкенд:
Плюсы:
- Проще (меньше компонентов)
- Меньше операционных затрат
- Подходит для маленьких приложений / POC
Минусы:
- Каждый сервис сам handles retries, auth, backpressure
- Сложно менять экспортеры
- Нет централизованного семплирования / очистки / маршрутизации
- Риск misconfigurations
- Выше стоимость исходящего трафика при отправке в несколько систем
С центральным Collector
Все приложения отправляют данные в центральный Collector, который затем экспортирует:
Плюсы:
- Централизованная конфигурация: семплирование, очистка, обогащение
- Один канал исходящего трафика с пакетированием и retry
- Развязывает жизненный цикл приложения от изменений вендоров
- Меньше нагрузки на приложения
- Безопасность: приложения не выходят в интернет напрямую
Комментарии (27)
- Рекомендуется использовать коллектор OpenTelemetry для упрощения архитектуры, локальной отладки и управления аутентификацией
- Предлагается декаплеить коллектор от потребителей трассировок через брокеры сообщений (Kafka/NATS) для надежности и масштабируемости
- Коллектор рассматривается как защитный шлюз (read-only) между приложениями и базой данных для безопасности
- Отмечается сложность освоения OpenTelemetry, но подчеркивается его ценность как стандарта для интероперабельности
- Указывается полезность OTEL даже для монолитов благодаря возможностям корреляции и вложенных спэнов
- Обсуждаются альтернативы (Vector vs OTEL) и необходимость улучшения документации и примеров
- Упоминается использование коллектора для валидации и тестирования с помощью AI-агентов