Как выбрать следующий инструмент с открытым исходным кодом. 5 вещей, которые следует учитывать.

С появлением современного стека данных изображения, подобные этому (ниже), стали обычным явлением. Я бы порекомендовал просмотреть исходное изображение в высоком разрешении и статью (ссылка в подписи).

Очевидно, что это перегруженное пространство. Проблема профессионала в этой области состоит в том, чтобы знать, на чем сосредоточить свое внимание. Когда каждый инструмент требует развертывания на k8s, как вы решаете, с чего начать?

1.Время до POC

С таким количеством инструментов действительно важно, как быстро вы сможете прийти к обоснованному решению относительно того, принесет ли инструмент пользу вашей команде. Здесь важно время до POC, в этом POC вы, вероятно, либо поймете, что это не для вас, либо достигнете точки, когда захотите убедить своего менеджера пойти дальше. Это MVP демо.

Для устанавливаемого пакета pip или службы создания докеров процесс установки может быть практически мгновенным. Настройка диаграммы управления k8s может занять значительно больше времени, поскольку вы действительно будете использовать ее в своей команде.

2. Время окупиться

Как только вы выберете инструмент, сколько времени пройдет, пока вы не начнете двигаться быстрее, чем все, что вы использовали раньше? Это сочетание кривой обучения и уровня эффективности, который она добавляет. Для простого инструмента, такого как DBT, это время очень короткое, для более сложного инструмента, такого как kubeflow, оно может исчисляться месяцами. Это сильно зависит от того, насколько сильное изменение в рабочих процессах оно вызовет.

3. Размер значения

Когда вы преодолеете кривую обучения, какую пользу вы получите? Будете ли вы постоянно двигаться быстрее в нескольких проектах. Сможете ли вы в результате поставлять продукцию более высокого качества?

4. Качество и динамика команды разработчиков

Это фактор, который я бы не принял во внимание год назад, но сейчас я отношусь к нему очень серьезно. Некоторые пакеты и инструменты с открытым исходным кодом растворяются и исчезают так же быстро, как и появляются. Скорость ответа на отзывы и запросы на вытягивание также сильно различается. Если вы видите активный слабый канал, это хороший знак. Коммерческая поддержка, даже лучше. QDrant был для меня превосходным, отзывчивым и профессиональным с самого начала.

5. Чему это вас научит?

Немного эгоистично, но если вы планируете оставаться на должности более 2 лет, ваш личный рост также важен для вашего работодателя. Активное участие в быстроразвивающемся пакете или инструменте может помочь вам расти как инженеру машинного обучения или инженеру-программисту. Запрашивать функции и читать код, необходимый для создания решений (или добавлять их и получать отзывы) — отличный способ учиться.

Точно так же некоторые фреймворки весьма самоуверенны. Мое решение принять Dagster научило меня многому о принципах Data Engineering в целом, потому что оно разработано таким образом, чтобы направлять вас к устойчивому решению.

Другие имеют совершенно отличную документацию. FastAPI действительно находится в отдельной категории в этом отношении.

Дайте мне знать, если вы найдете это интересным. Пожалуйста, подпишитесь, если вы хотите прочитать больше подобного контента.