Как появился и вырос Ansible
Основатель Ansible Майкл ДеХаан рассказывает, как его опыт привел его к разработке программного обеспечения для автоматизации ИТ.
Недавно основатель Flagsmith Бен Ромеч поговорил с Майклом ДеХааном, основателем программного обеспечения для автоматизации ИТ с открытым исходным кодом Ansible (теперь часть IBM/Red Hat), в подкасте The Craft of Open Source о том, как он разработал Ansible и чем он занимается с тех пор.
«Если людям не удастся опробовать (ваше приложение/инструмент) примерно за 30 минут, они будут двигаться дальше. Вам нужно добиться успеха в обеденный перерыв. Я потратил много времени на размышления о документации. "
—Майкл ДеХаан
Его замечания были увлекательными и поучительными, особенно для всех, кто интересуется программным обеспечением с открытым исходным кодом в качестве разработчика, создателя или члена сообщества. Прочтите краткое содержание разговора.
Как Майкл начинал с открытого исходного кода
Когда Майкл присоединился к команде новых технологий Red Hat в 2005 году, это было началом его пути к проектам с открытым исходным кодом. Команда предоставила ему карт-бланш на работу над любыми проектами, которые он хотел, при условии, что они помогали клиентам.
В то время Xen и KVM стали доступны, и команда хотела создать хорошее решение для автоматизации инфраструктуры PXE без ОС. Майкл создал свой первый проект с открытым исходным кодом Cobbler для автоматизации этих установок, и он стал довольно широко использоваться.
Func был следующим проектом Майкла с открытым исходным кодом. Это произошло благодаря заполнению пробелов между программным обеспечением, которое позволяло обеспечивать аппаратную поддержку, и инструментами управления конфигурацией. Func стал довольно широко распространен, и Fedora использовала его в некоторых частях своей инфраструктуры. Некоторые концепции и идеи Func позже повлияли на Ansible.
Рождение Ансибля
Ansible появился после того, как Майкл некоторое время работал в Puppet. После этого он работал в другой компании, которая пыталась создать интеграцию, но эта работа ему не подходила, и он хотел вернуться к работе над проектом в сообществе открытого исходного кода.
Разочарованный тем, что настройка заработала из-за проблем с DNS и NTP, потребовалось несколько дней (или больше), Майкл решил создать решение с открытым исходным кодом для автоматизации установки. Идея заключалась в том, чтобы создать что-то на основе SSH и push-уведомлений, без нагрузки агентов управления.
Ansible стал результатом этой цели дизайна. Он предоставил простое и быстрое решение вместо того, чтобы тратить часы или дни на использование таких инструментов, как Chef и Puppet. В то время компании нанимали штатные группы людей для управления облачными установками и конфигурациями. Ansible предоставил решение, которое один человек мог использовать менее чем за один день.
Ansible: правильный инструмент в нужное время
По словам Майкла, отчасти успех Ansible был обусловлен своевременностью. Возникла потребность в большей интеграции с облаком, а также в быстром и удобном способе загрузки контента и установки приложений в облачных системах.
В современном мире штатному разработчику было бы сложно найти время для создания чего-то вроде Ansible, поскольку все дела расписаны в гораздо более сжатые сроки. Он говорит, что люди ожидают законченного продукта, а не незавершенной работы с поддерживающим сообществом пользователей, у которого есть время экспериментировать и играть с новым языком программирования. Времена изменились.
Кроме того, Ansible был выпущен в 2012 году, когда спрос на автоматизацию рос быстрее, чем сейчас. В то время как некоторые компании овладели искусством автоматизации и уделяют больше внимания Kubernetes и другим вещам, другие продолжают его открывать. Сейчас большинство компаний занимаются программированием самостоятельно, а команды разработчиков создают полностью отточенные решения. Сегодня люди используют React и Kubernetes, которые строятся на зависимостях, а не начинают с нуля проект с открытым исходным кодом.
В Ansible большая часть работы с открытым исходным кодом была связана с библиотеками и пакетами. Майкл вспоминает, что они учились по ходу дела, поначалу не зная, как запустить проект системного управления так, чтобы он получал множество отзывов от людей и мог развиваться. Puppet и Chef предоставили шаблон того, как этого добиться, в основном методом проб и ошибок. Майкл организовал большое количество бесед по каналам IRC, что позволило напрямую общаться с различными вариантами использования.
Документация Ansible сыграла ключевую роль в выводе разработчиков на новый уровень. Оно было простым, по существу, использовало короткие и убедительные предложения и включало бесплатные пробные предложения. Документация разъясняла пользователям, что Ansible можно запускать в их собственной инфраструктуре без проблем с безопасностью.
Маркетинг и продвижение
Ажиотаж вокруг Ansible возник в основном благодаря публикациям в блогах, статьям, руководствам и мнениям, которыми делились в социальных сетях. Время от времени оно прорывалось на страницы Hacker News или ветка Reddit становилась популярной.
Майкл сосредоточился на создании контента, которым люди могли бы поделиться. Он также позаботился о том, чтобы прочитать каждый комментарий и твит, чтобы получить как можно больше отзывов и направить проект в правильном направлении.
По мере того, как темпы роста росли, Майкл нанял несколько сотрудников, чтобы помочь ему расширить масштабы, но он сохранил творческий контроль и общее управление проектом. Когда Майкл покинул команду Ansible в 2015 году, там было около 400 модулей, что затрудняло управление.
Жизнь после Анзибла
Сейчас Майкл занимается в основном разработкой программного обеспечения для Django и Python, а также параллельно занимается некоторыми приложениями и проектами, в том числе музыкальным секвенсором WARP.
Чтобы узнать больше о взглядах Ansible и Майкла на современную среду с открытым исходным кодом, выгорание, GitHub, Google Reader и многое другое, посмотрите полную версию подкаста.