Прошло почти ровно четыре года с тех пор, как основатель Docker Соломон Хайкс покинул компанию, которая положила начало контейнерной революции. С тех пор Docker пережил свою череду взлетов и падений, включая продажу своего корпоративного бизнеса Mirantis в 2019 году, но Хайкс, который долгое время был публичным лицом Docker, в основном оставался на периферии, за исключением его участия в нескольких раунды финансирования. Однако уже некоторое время он работает над своим следующим стартапом, Dagger, который сегодня запустил публичную бета-версию и объявил о раунде финансирования Серии A на 20 миллионов долларов. Ранее Dagger собрал предварительный раунд на 3 миллиона долларов и посевной раунд на 7 миллионов долларов под руководством New Wave.
Dagger (не путайте с инъекцией зависимостей Dagger), соучредителем которого являются Хайкс и его коллеги по Docker Сэм Альба и Андреа Лузарди, стремится создать то, что команда называет «операционной системой DevOps». Хайкс отметил, что запуск этого нового стартапа начался с команды, а не с идеи продукта. Соучредители искали проблемы, которые они могли бы решить для сообщества разработчиков, и им быстро стало ясно, что DevOps процессы остаются узким местом.
«Мы решили начать с нуля и не предполагать, что мы что-то знаем», — сказал Хайкс о процессе, который команда использовала для разработки своих идей. «Мы начали этот долгий процесс открытия, чтобы просто быть чистым листом и выслушивать проблемы людей. И они очень быстро потянули нас в сторону конвейеров CI/CD и автоматизации. Вы знаете, у вас есть разработка (dev) — и разработчики счастливы и продуктивны. У вас есть операции (ops) — все масштабируется, есть все эти классные облачные штуки. И есть DevOps, клей посередине, который все соединяет, но который всегда очень сложен. Люди находят способ решать задачи, но им просто не нравится такой опыт, и они тратят на это время и ресурсы. Поэтому мы сосредоточились на этом».
Команда утверждает, что существует множество очень мощных инструментов DevOps, но они, как правило, очень специализированы — и по мере того, как приложения расширяются, расширяется и стек DevOps. «Нет недостатка в специализированных инструментах, но разработчикам приходится склеивать их все вместе, а клей является узким местом. Поэтому мы сосредоточены на замене клея чем-то лучшим», — сказал Хайкс.
В частности, это означает, что Dagger позволяет инженерам DevOps писать свои конвейеры в виде декларативных CUE-моделей (configure, unify, execute). Благодаря этому инженеры могут описывать свои конвейеры и соединять различные части друг с другом в коде. Dagger называет эти отдельные фигуры «действиями», и они тоже описываются декларативно.
«Главное отличие состоит в том, что это, по сути, реальный опыт разработки программного обеспечения», — объяснил Хайкс. «Поэтому, если есть действие, которое вам нравится, которое написал кто-то другой, вы можете его импортировать. Если вы хотите взглянуть на исходный код этого действия, вы можете посмотреть его, он на том же языке, который вы уже знаете. И это действие, вероятно, на всем протяжении построено путем объединения более мелких и более специализированных действий. Так что это больше похоже на обычное программное обеспечение».
Чтобы дополнить опыт разработчиков, команда Dagger также создает то, что она называет Dagger Universe, тщательно подобранную библиотеку пакетов, которую разработчики могут импортировать в свои конфигурации Dagger.
Этот общий подход также означает, что потенциальные пользователи могут сохранить свою существующую CI-инфраструктуру. Dagger не предназначен для замены таких продуктов, как Circle CI или GitLab — это, по сути, надстройка над ними.
«Для команд DevOps слишком сложно управлять своей инфраструктурой и развертывать программное обеспечение в разных облаках, но Dagger элегантно взломал этот подход, чтобы упростить управление цепочками поставок программного обеспечения», — сказал один из инвесторов. «Сделав конвейеры доставки приложений переносимыми, команда Dagger изменила подход к созданию и развертыванию программного обеспечения».