Что почитать Linux-инженеру: книги для новичков и профессионалов

Недавно мы публиковали подборку книг для Java-разработчиков. Сегодня предлагаем ещё один список, на этот раз для инженеров Linux. Знания и опыт у представителей этой специальности практически всегда очень разносторонние. Но книги помогают повышать квалификацию даже профессионалам с солидным багажом знаний, опыта и скилов, не говоря уже о новичках. Сегодня в подборке — пять хороших книг, на которые стоит обратить внимание.

5d5dc62a55fcfe318855850a96d2409a.png

«Компьютерные сети. Принципы, технологии, протоколы»

Авторы: Олифер В. Г., Олифер Н. А.

45e509971dd664911c7f272e6884f347.jpg

В 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)

5c401c87d75d12b9184069fe1ecb5aca.jpg

Эта книга есть в библиотеке у многих инженеров Linux, а тем, у кого её нет — очень рекомендуем добавить. Автор обстоятельно рассказывает о Red Hat Enterprise Linux. В книге даётся информация и о базовых вещах, и о более продвинутых нюансах. Начинается разговор с принципов работы в командной строке, создания пользователей и т. п. А затем уже раскрываются более сложные темы, включая управление пакетами, настройку сетей.

Издание разделяется на две части. Во второй речь идёт уже о более глубоких особенностях работы в среде Red Hat Enterprise Linux. Например, о настройке веб-серверов, системах управления базами данных, оптимизации производительности.

Внимательный читатель заметит, что книге уже семь лет. Но актуальности она не потеряла. Автор помогает выявить пробелы в собственных знаниях, получить новую информацию и улучшить практические навыки. В конце каждой главы есть лабораторные работы, помогающие проверить собственные знания и навыки. Всего в книге около 40 практических упражнений.

Mastering Ansible

Авторы: Джеймс Фриман, Джесси Китинг (James Freeman, Jesse Keating)

b96e959c1191831e4c99e365331e6277.jpg

Эта книга уже для более продвинутых специалистов, чем две предыдущие. Начинающий инженер может и не понять её, если у него не будет достаточного объёма знаний и опыта. Но, с другой стороны, ничто не мешает просмотреть её и понять, подходит или нет.

Рассказывается в книге о работе с распределёнными системами, настройках нескольких машин одновременно. Оптимизировать рабочий процесс помогает система Ansible, предназначенная для сетевых инженеров.

В книге показано, как написать сценарий того, что требуется сделать, а затем запустить сразу на нескольких хостах. Метод помогает работать с 10–50 машинами одновременно, автоматизируя большинство ресурсоёмких тасков.

Прочитавшие книгу говорят, что она реально помогает разобраться с Ansible и, соответственно, сократить затраты времени на выполнение рутинных процедур. Сейчас вышло уже четвёртое издание.

«Kubernetes в действии»

 Автор: Марко Лукша

ee40f59b9fab02b0626591013a89760b.jpg

Книга посвящена 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)

339dfbfd4c376c79538ea0c70c9cb0c5.jpg

Книга рассчитана уже на опытных специалистов. Новички могут её пролистать, вероятно, многие найдут что-то полезное для себя, но всё же предназначена она для инженеров с большим опытом.

В частности, авторы рассказывают о том, как работать с продакшн-системами, планированием и управлением, как сводить к минимуму вероятность появления сбоев. В книге также изложены принципы работы с отказоустойчивыми решениями в продуктивной среде с реальными приложениями.

Кстати, есть и раздел, в котором рассказывается примерно то же, что в книге  Mastering Ansible, но с большим количеством подробностей, с уклоном в отказоустойчивый подход, применяемый в Google. Основной принцип, который проповедуют авторы, — недопущение возникновения проблемы. Конечно, если она уже появилась, её нужно решать, но лучше всего не допускать её совсем. И это не капитанство — авторы действительно неплохо раскрывают тему.

На этом пока всё. Если у вас есть собственные рекомендации книг, которые обязательно нужны инженеру Linux, пишите о них в комментариях — обсудим.

© Habrahabr.ru