Вы сталкиваетесь с ограничениями управляемых сервисов. Многие управляемые сервисы хороши для того, чтобы начать экспериментировать с идеями, и могут показать большую ценность для обычного пользователя. Но они обмениваются простотой использования на гибкость и функциональность, поэтому, как только у нас появятся серьезные потребности и мы готовы потратить значительное количество усилий на развитие этих идей, первое, что мы должны сделать, - это выбрать гибкий полностью функциональное решение. По моему мнению, вы попали в черту, где вам нужно искать что-то еще - и вы заметите, что вам нужно изучить другой инструмент, потому что это не бесплатное программное обеспечение, и вы не можете запустить его самостоятельно.
Здесь мы говорим о Circle CI, но следующие ограничения являются общими для многих управляемых сервисов:
Управляемые сервисы накладывают жесткие ограничения на версии программного обеспечения, которые они нам позволяют использовать. Эти ограничения могут соответствовать тому, что нам нужно сегодня, но не нужно позже. Они могут быть уже не синхронизированы сегодня. В любом случае это часто является пробкой, потому что неспособность использовать одинаковые версии программного обеспечения в среде разработки и в управляемой среде является бесполезным источником ошибок и всевозможных трудностей.
Управляемые сервисы предоставляют ограниченный доступ к своим функциям. Вот проблема, с которой вы здесь сталкиваетесь: вы хотите запустить docker, но у вас нет доступа к демону, только к подмножеству его функций. Эти ограничения иногда плохо документированы и не освещаются рекламными материалами. Это просто означает, что работа, потраченная на понимание и интеграцию этих функций, бесполезна, пока мы не оставим управляемый сервис для другого лучшего решения.
Управляемые сервисы предоставляют ограниченный доступ к данным, которые мы храним там. Итак, на примере управляемых сервисов для регистрации и мониторинга, доступ к данным является медленным, неудобным и дорогим. Если мы запустим нашу инфраструктуру, мы сможем выполнить любой нестандартный анализ наших артефактов мониторинга, потому что данные легче получить.
Обратите внимание, что это не относится к управляемым сервисам. Их рука способна сочетать простоту использования с гибкостью и функциональностью. Но многие из этих сервисов обмениваются простотой использования на гибкость и функциональность: мы можем использовать их в качестве средства быстрого создания простой функциональности, но они не позволят нам выйти за пределы этого уровня. Нам нужно знать об этом компромиссе и рассмотреть.
Михаэль Ле Барбье Грюневальд
источник