DevOps-инженеры знают, как сложно найти действительно познавательную литературу. В этой профессии очень важны постоянное самосовершенствование и изучение новых технологий. Книги помогают систематизировать знания и могут подсказать приемы, которые сделают работу эффективнее. В новой подборке от экспертов МойОфис мы советуем семь стоящих изданий. Подробности — под катом.
Привет, Хабр! Меня зовут Артем Моралес, я DevOps-инженер в МойОфис. Сегодня я хочу посоветовать вам литературу, которая поможет изучить или освежить в памяти основы и необходимый специалисту набор инструментов, а также погрузиться в некоторые практики. Подборка cоставлена не только исходя из моих впечатлений, но и с учетом отзывов моих коллег.
Буду рад увидеть в комментариях ваши вопросы, предложения или замечания по поводу подборки. Возможно, вы назовете другие варианты ключевых книг по теме — рекомендации крайне приветствуются!
А.М. Робачевский, С.А. Немнюгин, О.Л. Стесик. Операционная система UNIX, 2-е издание
Книга по UNIX-подобным операционным системам, не связанная напрямую с DevOps, но при этом не менее полезная инженерам. Простой стиль написания и понятные примеры помогают разобраться, как устроены разные UNIX-системы. Приятно осознавать, что это книга российских авторов, думаю, она могла бы конкурировать со многими иностранными изданиями по этой теме. В ней раскрываются теоретические аспекты работы ОС, рассматриваются архитектура ядра, программный интерфейс, пользовательская среда.
Достоинства:
прекрасно сбалансированные теория и практика
нет воды, сосредоточенность на сути
Недостатки:
в начале кажется нудновато
трудно найти в бумажном виде.
Viktor Farcic. The DevOps 2.0 Toolkit: Automating the Continuous Deployment Pipeline with Containerized Microservices
Автор показывает набор технологий и способы их применения на практике. В книге охватывается процесс разработки и развертывания микросервисов с использованием различных инструментов. Тут вы найдете подробную информацию, как работать с Docker, Kubernetes, Ansible и др.
Достоинства:
достаточно примеров и практических заданий
Недостатки:
местами слишком многословные предложения, сложные для восприятия.
David Farley, Jez Humble. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
Книга с полезными идеями по улучшению процесса сборки и развертывания ПО. Охватывает все области жизненного цикла выпуска программного обеспечения с подробными описаниями и лучшими практиками, а также бизнес-обоснованиями для каждой рекомендации. Авторы также ссылаются на конкретные инструменты и методы, полезные для создания полного конвейера.
Достоинства:
главы книги независимы, структура больше похожа на справочник
Недостатки:
книга не новая, поэтому не охватывает современные инструменты
много повторений, даже внутри одной главы.
Лиз Райс. Безопасность контейнеров. Фундаментальный подход к защите контейнеризированных приложений
Книга от эксперта в области безопасности контейнеров. В начале автор глубоко погружается в устройство контейнеров и только потом, исходя из фундаментальных знаний, рассматривает конкретные «рецепты» по безопасности.
Достоинства:
подробно написана, с хорошими примерами, которые помогут вам глубже погрузиться в тему
Недостатки:
местами не очень корректный перевод.
Bilgin Ibryam, Roland Huß. Kubernetes Patterns
Книга полезна для тех, кто имеет базовые навыки работы с контейнерами и Kubernetes. Используя диаграммы, автор рассказывает, как может быть решена конкретная задача с использованием примитивов оркестратора, не особо вдаваясь в то, как они работают. Содержит примеры для всех шаблонов, которые можно непосредственно опробовать в кластере.
Достоинства:
книга отлично структурирована, позволяет легко найти необходимый шаблон
Недостатки:
требует редактирования примеров под актуальную версию Kubernetes
скорее всего будет мало полезна для опытных пользователей.
Brendan Burns. Designing Distributed Systems – Patterns and Paradigms for Scalable, Reliable Services
Эта книга описывает неустаревающие паттерны проектирования распределенных систем. Начиная с ввода понятия «распределенные системы», автор последовательно рассматривает набор шаблонов, применяемых при разработке микросервисной архитектуры. Издание содержит практические примеры, для реализации которых используется Kubernetes и его примитивы.
Достоинства:
небольшой объем (около 200 страниц)
подойдет новичкам
Недостатки:
слишком много внимания Docker и k8s
ориентированность на web-приложения.
Gaurav Agarwal. Modern DevOps Practices: Implement and secure DevOps in the public cloud with cutting-edge tools, tips, tricks, and techniques
Книга с подробным объяснением и практическими примерами. В ней рассматриваются основные инструменты, о которых вы, возможно, слышали или которые уже используете — от виртуальных машин и контейнеров до инструментов для IaC (инфраструктура как код) и CI/CD процессов.
Достоинства:
подходит новичкам
Недостатки:
нет перевода на русский язык.
UPD: Примеры кода из книги, с исправленными опечатками. Спасибо @Paul_Arakelyan за ссылку на репозиторий.
Надеюсь, эта подборка была для вас полезной :)
***
В следующих материалах блога мы продолжим делиться с Хабром рекомендациями книг и других полезных материалов для разработчиков, а также публиковать подробные статьи с экспертизой наших специалистов. Подписывайтесь на блог МойОфис и следите за нашими новостями!