Написать пост

5 книг для Linux-инженера: от азов до управления системами

Логотип компании КРОК

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

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

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

1. Sander Van Vugt — «Red Hat RHCSA/RHCE 7 Cert Guide: Red Hat Enterprise Linux 7 (EX200 and EX300)»

О чём: книга, с которой нужно начинать — must have для любого Linux-инженера. Здесь почти 100% того, что нужно знать про операционную систему.

Компания Red Hat разработала популярный дистрибутив Linux — Red Hat Enterprise Linux. Книга — это подготовка к экзаменам по нему. Она делится на две части, первая посвящена системному администрированию Linux, начинается с базовых тем: как работать в командной строке, создавать пользователей. Дальше — администрирование Linux: структура директорий, файловой системы, управление пакетами и настройка сетей. Вторая часть книги — более глубокая, написана с точки зрения инженера Linux. В ней рассказывается об оптимизации производительности, настройке веб-серверов, систем управления базами данных и т.д.

Хотя книге уже 7 лет, а RHEL достигла девятой версии, всё, что написано, до сих пор актуально. Структура хороша, а материал идёт от простого к сложному. Начало каждой главы — это теория и примеры, конец — лабораторная работа.

На кого рассчитана: книга подойдёт незнакомым с Linux, если читать её последовательно, всё будет просто и понятно.

Как читается: из недостатков — книга на английском языке. Если знания невысокие, онлайн-переводчики помогут, но будет тяжело. По нашей теме мало информации на русском, нужно быть к этому готовым.

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

О чём: ещё одна базовая книга, необходимая любому инженеру. Её структура аналогична предыдущей: от простого к сложному. Сначала вы узнаете общие принципы построения сетей, что такое модель OSI и какие основные протоколы существуют, потом перейдёте к более глубоким темам, например, маршрутизации и анализу локальных сетей. Книга знакомит со всем необходимым, подробно это раскрывает.

На кого рассчитана: на людей, совсем незнакомых с сетями.

Как читается: совершенно понятный язык. Как только появляются сложные термины, их сразу и хорошо объясняют.

3. James Freeman, Jesse Keating — «Mastering Ansible»

О чём: так как мы работаем с распределёнными системами, нужно настраивать множество машин. Подключаться к каждому серверу и выполнять однотипные настройки — это рутина, которую система Ansible позволяет избежать.

Ansible работает так: сначала инженер пишет сценарий того, что необходимо сделать, потом запускает его сразу на нескольких хостах. Так можно подключиться к 10-50 виртуальным машинам и выполнить сценарий на всех. То, что в первой книге делали вручную, в этой автоматизируем.

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

4. Марко Лукша — «Kubernetes в действии»

О чём: Kubernetes — это система регистрации контейнеров, которая сейчас очень популярна. У нас она есть почти что в каждом проекте.

В книге описано множество практических примеров, рассказано, для чего Kubernetes создан, как он устроен внутри, какие у него есть сущности, как их правильно устанавливать и настраивать. Здесь есть всё нужное, чтобы начать работать с системой эффективно.

Однако нет ни одной книги, которая бы на 100% объясняла все нюансы работы. Поэтому параллельно стоит обращаться к документации, многие вещи по Kubernetes там хорошо описаны.

На кого рассчитана: стоит читать, когда есть реальный опыт, а первые две книги из нашего списка усвоены.

Как читается: написана просто, но сам инструмент — один из труднейших, требуется время, чтобы с ним познакомиться. Внутри Kubernetes очень много сущностей, поэтому в книгу нужно погружаться. Зато она есть на русском, что значительно упростит процесс.

5. Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy — «Site Reliability Engineering. How Google Runs Production Systems»

О чём: здесь рассказывается о том, что такое SRE — site reliability engineering, то есть инжиниринг отказоустойчивости сайта и о подходе Google к управлению распределёнными системами.

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

В книге описывается, как правильно подходить к автоматизации — то, что изучалось в «Mastering Ansible». Также рассказывается про основные показатели и метрики серверов и приложений, за которыми нужно следить. Здесь манифестируется отказоустойчивый подход, применяемый в Google. Говорится, что в идеале нужно сделать, чтобы проблемы не возникло, а не решать, когда она уже случилась. А если всё же избежать аварии не удастся, то будет полезно узнать про правильный подход к реагированию и управлению инцидентами.

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

Как читается: язык простой, подойдёт и будет понятен тем, кто уже освоил первые четыре книги.

При изучении важно не торопиться, двигаться последовательно, и главное — не забывать о практике. Это лучший учитель, который позволит закрепить теорию, удержать её в памяти как можно дольше. Удачи в учёбе!

Linux
Операционные системы
8590