Mastering Ansible. Ansible for DevOps.
Dec. 9th, 2021 11:41 pmПовторение — мать учения как говорят. Вот и мне пришлось засесть заново за материал по Ansible, поскольку не писал на нём несколько лет. Чтобы не набивать шишки, как это было энное время назад, когда изучал сабж по статьям и просто подглядывая в чужой код, в этот раз взялся за дело основательнее.
В своё время в раздачах с Humble Bundle ухватил две книги: Mastering Ansible и Ansible for DevOps. Вот их и взялся читать, вместо бессистемного просмотра статей и манов, в попытках что-то наваять.
Итак, Mastering Ansible (2nd edition). Книга чисто теоретическая. Практических примеров там примерно ноль. Вернее, они вроде как есть, но их можно заполучить только если вы покупали книгу у издателя. Если же как и мне вам повезло получить сию работу на раздачах, то курите бамбук. Впрочем, невелика потеря, на самом деле. Судя по коду, примеры там максимально выхолощенные и крайне искусственные. В общем и целом, книга для тех, кто скорее хочет узнать что такое Ansible, что он умеет и с чем его едят. Но на мой взгляд, текст там можно было бы сократить раза в два, многовато «воды». Но нет худа без добра, несколько полезных для себя вещей всё же выудил. Стоит ли читать? На мой взгляд не очень. Книга сильно на любителя. Да и книгу я б назвал не Mastering Ansible, а Ansible Theory, блин. Mastering там даже не пахнет.
А вот Ansible For DevOps очень и очень порадовала. Автор обстоятельно подошёл к делу. Первым делом там даётся ссылка на репозиторий git, где можно совершенно невозбранно скачать все примеры кода. Ничего не надо переносить руками из книги в текстовый редактор, что крайне удобно. Ещё один просто-таки жирующий плюс, что все примеры очень практические. При желании их можно использовать в реальном окружении с небольшими доработками. Но автору и этого мало! Помимо основного репозитория, у него по книге есть ссылки на дополнительные. В частности, где он разместил простейшие приложения на Ruby или NodeJS, чтобы отработать деплой с помощью Ansible, интеграционные тесты и многое другое. Помимо этого, автор загрузил весьма много примеров в Ansible Galaxy. Почти все примеры тоже рабочие, довольно сложные и их тоже можно применять в реальной практике. Тамошние плейбуки покрывают не только написание ролей, но и реальный продакшен. А ещё всякий там Green/Blue deployment, zero downtime, раскатку софта, находящегося за балансировщиком нагрузки и вот это всё.
Покрытие тем в книге крайне обширное. От простых плейбуков и развёртывания классического окружения с двумя серверами приложений и БД, до кластера ELK или Kubernetes. Посмотрите репозиторий, полезного там довольно много. Разбирайся — не хочу.
Автор не поленился и даже подготовил на каждый случай Vagrantfile, поэтому самостоятельно с ноля разворачивать виртуальные машины не придётся. Мало того, им же были подготовлены образы Vagrant специально для книги. Лепота да и только! Моё уважение, в общем. Все бы так писали книги. Единственный прокол здесь, это глава про dynamic inventories. Для демонстрации подхода, был выбран DigitalOcean. Вот только роли, связанные с деплоем дроплетов в DigitalOcean, уже успели сильно устареть и там, фактически, всё надо писать с нуля. Этот кусок книги пока пришлось мне отложить на будущее, поскольку сейчас мне не актуально и есть другие приоритеты. Есть ещё примеры для AWS, но их я не проверял.
Поскольку место ограничено, а рассказать хочется много, некоторые моменты даны вскользь. Так-то тестирование, CI/CD и отладка. Но автор для затравки даёт нам множество ссылок на материалы для самостоятельного изучения. А также имеется авторский блог, где тоже можно найти массу полезного.
В отличие от первой книги Mastering Ansible, её реально можно рекомендовать всем, кто изучает Ansible. Те, кто его знают, причешут и структурируют знания. Новички — узнают крайне много нового и сразу же могут начать писать своё. Обилие примеров на самый разный вкус тому способствуют.
Я могу сказать, что не пожалейте денег на хороший труд. Автор это честно заслужил.
В своё время в раздачах с Humble Bundle ухватил две книги: Mastering Ansible и Ansible for DevOps. Вот их и взялся читать, вместо бессистемного просмотра статей и манов, в попытках что-то наваять.
Итак, Mastering Ansible (2nd edition). Книга чисто теоретическая. Практических примеров там примерно ноль. Вернее, они вроде как есть, но их можно заполучить только если вы покупали книгу у издателя. Если же как и мне вам повезло получить сию работу на раздачах, то курите бамбук. Впрочем, невелика потеря, на самом деле. Судя по коду, примеры там максимально выхолощенные и крайне искусственные. В общем и целом, книга для тех, кто скорее хочет узнать что такое Ansible, что он умеет и с чем его едят. Но на мой взгляд, текст там можно было бы сократить раза в два, многовато «воды». Но нет худа без добра, несколько полезных для себя вещей всё же выудил. Стоит ли читать? На мой взгляд не очень. Книга сильно на любителя. Да и книгу я б назвал не Mastering Ansible, а Ansible Theory, блин. Mastering там даже не пахнет.
А вот Ansible For DevOps очень и очень порадовала. Автор обстоятельно подошёл к делу. Первым делом там даётся ссылка на репозиторий git, где можно совершенно невозбранно скачать все примеры кода. Ничего не надо переносить руками из книги в текстовый редактор, что крайне удобно. Ещё один просто-таки жирующий плюс, что все примеры очень практические. При желании их можно использовать в реальном окружении с небольшими доработками. Но автору и этого мало! Помимо основного репозитория, у него по книге есть ссылки на дополнительные. В частности, где он разместил простейшие приложения на Ruby или NodeJS, чтобы отработать деплой с помощью Ansible, интеграционные тесты и многое другое. Помимо этого, автор загрузил весьма много примеров в Ansible Galaxy. Почти все примеры тоже рабочие, довольно сложные и их тоже можно применять в реальной практике. Тамошние плейбуки покрывают не только написание ролей, но и реальный продакшен. А ещё всякий там Green/Blue deployment, zero downtime, раскатку софта, находящегося за балансировщиком нагрузки и вот это всё.
Покрытие тем в книге крайне обширное. От простых плейбуков и развёртывания классического окружения с двумя серверами приложений и БД, до кластера ELK или Kubernetes. Посмотрите репозиторий, полезного там довольно много. Разбирайся — не хочу.
Автор не поленился и даже подготовил на каждый случай Vagrantfile, поэтому самостоятельно с ноля разворачивать виртуальные машины не придётся. Мало того, им же были подготовлены образы Vagrant специально для книги. Лепота да и только! Моё уважение, в общем. Все бы так писали книги. Единственный прокол здесь, это глава про dynamic inventories. Для демонстрации подхода, был выбран DigitalOcean. Вот только роли, связанные с деплоем дроплетов в DigitalOcean, уже успели сильно устареть и там, фактически, всё надо писать с нуля. Этот кусок книги пока пришлось мне отложить на будущее, поскольку сейчас мне не актуально и есть другие приоритеты. Есть ещё примеры для AWS, но их я не проверял.
Поскольку место ограничено, а рассказать хочется много, некоторые моменты даны вскользь. Так-то тестирование, CI/CD и отладка. Но автор для затравки даёт нам множество ссылок на материалы для самостоятельного изучения. А также имеется авторский блог, где тоже можно найти массу полезного.
В отличие от первой книги Mastering Ansible, её реально можно рекомендовать всем, кто изучает Ansible. Те, кто его знают, причешут и структурируют знания. Новички — узнают крайне много нового и сразу же могут начать писать своё. Обилие примеров на самый разный вкус тому способствуют.
Я могу сказать, что не пожалейте денег на хороший труд. Автор это честно заслужил.