Что почитать Linux-инженеру: книги для новичков и профессионалов
Недавно мы публиковали подборку книг для Java-разработчиков. Сегодня предлагаем ещё один список, на этот раз для инженеров Linux. Знания и опыт у представителей этой специальности практически всегда очень разносторонние. Но книги помогают повышать квалификацию даже профессионалам с солидным багажом знаний, опыта и скилов, не говоря уже о новичках. Сегодня в подборке — пять хороших книг, на которые стоит обратить внимание.
«Компьютерные сети. Принципы, технологии, протоколы»
Авторы: Олифер В. Г., Олифер Н. А.
В 2022 году исполнилось 20 лет с момента выхода в свет первого издания этой книги. Сейчас это уже 6-е издание, около трети материала в нём — либо новая информация, либо значительно переработанные темы из предыдущих изданий. Пример — раздел «Беспроводные сети» плюс полностью переработанная часть, которая посвящена технологиям первичных сетей SDH, OTN и DWDM.
О книге можно сказать, что она нужна любому инженеру — как опытному, так и новичку. Изложение информации — от простого к сложному. Сначала авторы рассказывают об общих принципах построения сетей, о модели OSI и основных протоколах. Затем идёт более глубокое погружение в такие темы, как маршрутизация и анализ локальных сетей.
Книга предназначена в основном для начинающих специалистов, которым нужна информация о принципах построения компьютерных сетей, а также об особенностях традиционных и перспективных технологий локальных и глобальных сетей. Авторы рассказывают также о способах создания крупных составных сетей и управлении ими.
Но книга будет полезна и профессионалам, которым нужно освежить какие-то моменты в памяти, а что-то дополнительно изучить. К слову, издание рекомендовано Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению «Информатика и вычислительная техника» и по специальностям «Вычислительные машины, комплексы, системы и сети», «Автоматизированные машины, комплексы, системы и сети», «Программное обеспечение вычислительной техники и автоматизированных систем».
Red Hat RHCSA/RHCE 7 Cert Guide: Red Hat Enterprise Linux 7 (EX200 and EX300)
Автор: Сандер Ван Вугт (Sander Van Vugt)
Эта книга есть в библиотеке у многих инженеров Linux, а тем, у кого её нет — очень рекомендуем добавить. Автор обстоятельно рассказывает о Red Hat Enterprise Linux. В книге даётся информация и о базовых вещах, и о более продвинутых нюансах. Начинается разговор с принципов работы в командной строке, создания пользователей и т. п. А затем уже раскрываются более сложные темы, включая управление пакетами, настройку сетей.
Издание разделяется на две части. Во второй речь идёт уже о более глубоких особенностях работы в среде Red Hat Enterprise Linux. Например, о настройке веб-серверов, системах управления базами данных, оптимизации производительности.
Внимательный читатель заметит, что книге уже семь лет. Но актуальности она не потеряла. Автор помогает выявить пробелы в собственных знаниях, получить новую информацию и улучшить практические навыки. В конце каждой главы есть лабораторные работы, помогающие проверить собственные знания и навыки. Всего в книге около 40 практических упражнений.
Mastering Ansible
Авторы: Джеймс Фриман, Джесси Китинг (James Freeman, Jesse Keating)
Эта книга уже для более продвинутых специалистов, чем две предыдущие. Начинающий инженер может и не понять её, если у него не будет достаточного объёма знаний и опыта. Но, с другой стороны, ничто не мешает просмотреть её и понять, подходит или нет.
Рассказывается в книге о работе с распределёнными системами, настройках нескольких машин одновременно. Оптимизировать рабочий процесс помогает система Ansible, предназначенная для сетевых инженеров.
В книге показано, как написать сценарий того, что требуется сделать, а затем запустить сразу на нескольких хостах. Метод помогает работать с 10–50 машинами одновременно, автоматизируя большинство ресурсоёмких тасков.
Прочитавшие книгу говорят, что она реально помогает разобраться с Ansible и, соответственно, сократить затраты времени на выполнение рутинных процедур. Сейчас вышло уже четвёртое издание.
«Kubernetes в действии»
Автор: Марко Лукша
Книга посвящена Kubernetes — открытому программному обеспечению Google для автоматизации развёртывания, масштабирования и управления приложениями. Автор учит использовать Kubernetes для развёртывания распределённых контейнеризированныхприложений и делает это неплохо.
Всё начинается с обзора Docker и Kubernetes с постепенным углублением в технологии. В частности, читателю предложат разработать приложения, постепенно добавляя новые возможности и углубляя знания архитектуры и принципа работы Kubernetes.
В ходе чтения стоит обращаться к документации в качестве дополнительного источника информации. В самой книге есть большое количество практических примеров, показано, как Kubernetes устроен внутри, как правильно устанавливать и настраивать сущности. В целом, отличное руководство, которое помогает быстро освоить Kubernetes.
Site Reliability Engineering. How Google Runs Production Systems
Авторы: Бетси Бейер, Крис Джонс, Дженнифер Петофф и Найл Ричард Мёрфи (Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy)
Книга рассчитана уже на опытных специалистов. Новички могут её пролистать, вероятно, многие найдут что-то полезное для себя, но всё же предназначена она для инженеров с большим опытом.
В частности, авторы рассказывают о том, как работать с продакшн-системами, планированием и управлением, как сводить к минимуму вероятность появления сбоев. В книге также изложены принципы работы с отказоустойчивыми решениями в продуктивной среде с реальными приложениями.
Кстати, есть и раздел, в котором рассказывается примерно то же, что в книге Mastering Ansible, но с большим количеством подробностей, с уклоном в отказоустойчивый подход, применяемый в Google. Основной принцип, который проповедуют авторы, — недопущение возникновения проблемы. Конечно, если она уже появилась, её нужно решать, но лучше всего не допускать её совсем. И это не капитанство — авторы действительно неплохо раскрывают тему.
На этом пока всё. Если у вас есть собственные рекомендации книг, которые обязательно нужны инженеру Linux, пишите о них в комментариях — обсудим.