
Книга посвящена современными практиками и технологиями системного администрирования. Приведены основные сведения о системах, архитектурах, вычислительных средах, хра-нилищах, сетях. Рассмотрены методы и наборы инструментов сисадмина, вопросы контроля версий, тестирования, документирования и представления информации. Описана сборка сис-темы, разработка сценариев, управление инфраструктурой и обеспечение ее безопасности.
Рассмотрен мониторинг системы, программного обеспечения и работы сисадмина. Особое внимание уделено масштабированию системы, управлению мощностями, созданию надежной дежурной службы, управлению инцидентами и планированию системы предупреждений.
Для системных администраторов, инженеров службы поддержки и других ИТ-специалистов
Современные практики и технологии системного администрирования
С этой книгой Вы изучите:
- Основные принципы работы систем и взаимодействия друг с другом отдельных компонентов
- Практические методы повышения надежности и устойчивости систем и снижения нагрузки на системного администратора при использовании новых технологий
- Приемы сборки систем, автоматизации работы и управления системной инфраструктурой, снижения затрат на денежные и людские ресурсы при техническом обслуживании
- Стратегии мониторинга, современные инструменты мониторинга и фреймворки, управление данными наблюдений
- Масштабирование системы и повышение ее устойчивости, планирование системы предупреждений и реагирования на инциденты
Как поддерживать надежную и устойчивую работу систем по мере развития технологий, появления новых инструментов и сервисов?
В этом практическом руководстве Дженнифер Дэвис показывает современную инфраструктуру, вычислительные среды, методы и технологии, давая путеводную нить системным администраторам и разработчикам, отвечающим за надежное функционирование вычислительных систем.
Книга посвящена современными практиками и технологиями системного администрирования. Приведены основные сведения о системах, архитектурах, вычислительных средах, хранилищах, сетях. Рассмотрены методы и наборы инструментов сисадмина, вопросы контроля версий, тестирования, документирования и представления информации. Описана сборка системы, разработка сценариев, управление инфраструктурой и обеспечение ее безопасности.
Рассмотрен мониторинг системы, программного обеспечения и работы сисадмина. Особое внимание уделено масштабированию системы, управлению мощностями и созданию надежной дежурной службы.
Дженнифер — ваша путеводная звезда в сфере технологий, она добавляет позитива и экс-пансивности традиционной работе. В этой книге она подробно раскрывает вопросы профес-сионального системного администрирования, от основ сетевых технологий до социотехниче-ских факторов, таких как пропускная способность и управление инцидентами. Независимо от того, начинаете ли вы свой путь или уже работаете десятилетия в данной сфере, здесь есть чему поучиться».
Эми Тобей, главный инженер компании Equinix
–
Книгу “Современное системное администрирование: управление надежными и устойчивыми системами” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Вступительное слово………………………………………………………………………………. 13
Предисловие…………………………………………………………………………………………… 15
Для кого предназначена эта книга…………………………………………………………………………………………… 16
О том, чего в этой книге нет………………………………………………………………………………………………………. 16
Круг вопросов, который охватывает книга…………………………………………………………………………….. 17
Последнее, о чем хочется сказать…………………………………………………………………………………………….. 17
И еще одно предупреждение…………………………………………………………………………………………………….. 18
Условные обозначения, используемые в этой книге………………………………………………………………. 18
Благодарности…………………………………………………………………………………………………………………………… 19
Введение в современное системное администрирование………………………… 21
Составьте карту маршрута………………………………………………………………………………………………………. 21
Поменяйте свое мышление………………………………………………………………………………………………………… 23
В чем заключается суть работы?………………………………………………………………………………….. 24
Виды системного администрирования…………………………………………………………………………. 25
Внедрение постоянного развития…………………………………………………………………………………………….. 25
Внедрение практических подходов…………………………………………………………………………………………. 25
Внедрение совместной работы…………………………………………………………………………………………………. 26
Курс на устойчивость……………………………………………………………………………………………………………….. 26
Заключение………………………………………………………………………………………………………………………………… 27
Часть I. Рассуждения о системах…………………………………………… 29
Глава 1. Закономерности и взаимосвязи………………………………………………… 31
Как соединять ингредиенты……………………………………………………………………………………………………… 32
Многоуровневая архитектура………………………………………………………………………………………. 32
Микросервисная архитектура………………………………………………………………………………………. 33
Управляемая событиями архитектура…………………………………………………………………………. 33
Как взаимодействуют компоненты………………………………………………………………………………………….. 34
Прикладной уровень………………………………………………………………………………………………………. 36
Транспортный уровень………………………………………………………………………………………………….. 36
Сетевой уровень……………………………………………………………………………………………………………… 37
Канальный уровень………………………………………………………………………………………………………… 38
Физический уровень……………………………………………………………………………………………………….. 39
Заключение………………………………………………………………………………………………………………………………… 39
Глава 2. Вычислительные среды……………………………………………………………. 40
Распространенные рабочие нагрузки……………………………………………………………………………………… 40
Выбор места размещения рабочих нагрузок………………………………………………………………………….. 41
Локальные вычислительные среды………………………………………………………………………………. 42
Облачные вычисления……………………………………………………………………………………………………. 43
Технологии облачных вычислений………………………………………………………………………………………….. 43
Бессерверные вычисления……………………………………………………………………………………………… 43
Unikernels…………………………………………………………………………………………………………………. 44
Функции…………………………………………………………………………………………………………………… 44
Службы приложений……………………………………………………………………………………………… 45
Контейнеры…………………………………………………………………………………………………………………….. 45
Виртуальные машины……………………………………………………………………………………………………. 46
Рекомендации по выбору вычислительных ресурсов…………………………………………………………….. 47
Заключение………………………………………………………………………………………………………………………………… 50
Глава 3. Хранилище………………………………………………………………………………. 51
Почему стоит заботиться о хранилище?…………………………………………………………………………………. 51
Основные характеристики………………………………………………………………………………………………………… 53
Разновидности систем хранения данных………………………………………………………………………………… 55
Блочная система хранения данных………………………………………………………………………………. 55
Файловая система хранения данных……………………………………………………………………………. 55
Объектная система хранения данных…………………………………………………………………………… 56
Хранилище баз данных………………………………………………………………………………………………….. 57
Соображения по выбору стратегии хранения данных…………………………………………………………… 59
Заранее обдумайте требования к емкости и задержке……………………………………………….. 61
Выбирайте разумную длительность хранения данных……………………………………………… 62
Уважайте озабоченность клиентов по поводу конфиденциальности……………………….. 63
Защитите свои данные…………………………………………………………………………………………………… 63
Будьте готовы к необходимости восстановления после сбоев…………………………………… 64
Заключение………………………………………………………………………………………………………………………………… 65
Глава 4. Сеть………………………………………………………………………………………….. 66
Посмотрим на сети внимательнее…………………………………………………………………………………………….. 66
Основные характеристики сетей………………………………………………………………………………………………. 67
Создание сети…………………………………………………………………………………………………………………………….. 68
Виртуализация…………………………………………………………………………………………………………………………… 69
Программно-определяемые сети………………………………………………………………………………………………. 70
Сети доставки контента…………………………………………………………………………………………………………….. 71
Рекомендации по вашей сетевой стратегии…………………………………………………………………………….. 73
Заключение………………………………………………………………………………………………………………………………… 74
Часть II. Методы……………………………………………………………………………… 75
Глава 5. Набор инструментов сисадмина……………………………………………….. 77
Что представляет собой ваш цифровой инструментарий?…………………………………………………….. 77
Компоненты инструментария…………………………………………………………………………………………………… 78
Выбор редактора……………………………………………………………………………………………………………. 79
Встроенный статический анализ кода…………………………………………………………………. 79
Автозавершение кода…………………………………………………………………………………………….. 80
Установление и утверждение правил, которые должны соблюдаться командой 80
Рабочий процесс, интегрированный с Git…………………………………………………………….. 80
Выбор языков программирования………………………………………………………………………………… 80
Фреймворки и библиотеки……………………………………………………………………………………………… 83
Другие полезные утилиты……………………………………………………………………………………………… 83
Заключение………………………………………………………………………………………………………………………………… 86
Глава 6. Контроль версий………………………………………………………………………. 87
Что такое контроль версий?……………………………………………………………………………………………………… 87
Преимущества контроля версий……………………………………………………………………………………………….. 89
Организация инфраструктурных проектов……………………………………………………………………………… 90
Заключение………………………………………………………………………………………………………………………………… 91
Глава 7. Тестирование……………………………………………………………………………. 93
Вы уже тестируете…………………………………………………………………………………………………………………….. 93
Общие виды тестирования………………………………………………………………………………………………………… 94
Линтинг……………………………………………………………………………………………………………………………. 94
Модульные тесты…………………………………………………………………………………………………………… 96
Интеграционные тесты…………………………………………………………………………………………………… 97
Сквозные тесты……………………………………………………………………………………………………………….. 97
Четкая стратегия тестирования………………………………………………………………………………………………… 98
Совершенствуем тесты, извлекая уроки из их падения………………………………………………………… 101
Дальнейшие шаги…………………………………………………………………………………………………………………….. 102
Заключение………………………………………………………………………………………………………………………………. 103
Глава 8. Безопасность инфраструктуры……………………………………………….. 104
Что такое безопасность инфраструктуры?……………………………………………………………………………. 104
Распределяйте обязанности по обеспечению безопасности……………………………………………….. 105
Оценивайте безопасность с точки зрения злоумышленника……………………………………………….. 106
Проектирование с учетом обеспечения безопасности…………………………………………………………. 109
Классификация обнаруженных проблем………………………………………………………………………………. 110
Заключение………………………………………………………………………………………………………………………………. 112
Глава 9. Документация………………………………………………………………………… 113
Узнайте свою аудиторию……………………………………………………………………………………………………….. 113
Варианты представления документации………………………………………………………………………………. 115
Методы организации информации………………………………………………………………………………………… 116
Организация тем…………………………………………………………………………………………………………… 116
Организация информации на сайте…………………………………………………………………………….. 117
Рекомендации по созданию качественной документации…………………………………………………… 118
Заключение………………………………………………………………………………………………………………………………. 119
Глава 10. Презентации…………………………………………………………………………. 120
Узнайте свою аудиторию……………………………………………………………………………………………………….. 120
Выберите канал общения……………………………………………………………………………………………………….. 122
Выберите подходящий тип истории………………………………………………………………………………………. 124
Сторителлинг на практике……………………………………………………………………………………………………… 125
Случай № 1. Одна диаграмма вместо тысячи слов…………………………………………………… 125
Случай № 2. Одна и та же история для разной аудитории………………………………………. 126
Информационная панель для команды………………………………………………………………. 128
Информационная панель менеджера…………………………………………………………………. 129
Информационная панель клиента………………………………………………………………………. 130
Основные выводы…………………………………………………………………………………………………………. 131
Варианты графического представления информации…………………………………………………………. 131
Визуальные подсказки…………………………………………………………………………………………………. 131
Типы диаграмм……………………………………………………………………………………………………………… 132
Таблицы данных………………………………………………………………………………………………….. 132
Столбчатые диаграммы………………………………………………………………………………………. 134
Линейные диаграммы (графики)…………………………………………………………………………. 134
Диаграмма с областями………………………………………………………………………………………. 135
Тепловые карты……………………………………………………………………………………………………. 135
Flame-графики………………………………………………………………………………………………………. 135
Древовидные карты……………………………………………………………………………………………… 135
Рекомендуемые методы визуализации…………………………………………………………………………………… 136
Заключение………………………………………………………………………………………………………………………………. 137
Часть III. Сборка системы…………………………………………………………. 139
Глава 11. Разработка сценариев инфраструктуры………………………………… 141
Зачем создавать сценарии инфраструктуры?………………………………………………………………………. 141
Три подхода к моделированию инфраструктуры………………………………………………………………… 143
Код для создания образов машин……………………………………………………………………………….. 145
Код для предоставления инфраструктуры………………………………………………………………… 146
Код для настройки инфраструктуры………………………………………………………………………….. 148
Начало работы………………………………………………………………………………………………………………………… 149
Заключение………………………………………………………………………………………………………………………………. 150
Глава 12. Управление инфраструктурой………………………………………………. 151
Инфраструктура как код…………………………………………………………………………………………………………. 151
Инфраструктура как данные………………………………………………………………………………………………….. 156
Приступаем к управлению инфраструктурой………………………………………………………………………. 157
Линтинг………………………………………………………………………………………………………………………….. 160
Написание модульных тестов…………………………………………………………………………………….. 160
Написание интеграционных тестов……………………………………………………………………………. 161
Написание сквозных тестов………………………………………………………………………………………… 161
Заключение………………………………………………………………………………………………………………………………. 162
Глава 13. Обеспечение безопасности инфраструктуры…………………………. 163
Оценка векторов атак………………………………………………………………………………………………………………. 163
Управление идентификацией и доступом……………………………………………………………………………… 165
Как следует управлять доступом к системе?…………………………………………………………….. 165
Кто должен иметь доступ к вашей системе?………………………………………………………………. 167
Управление секретными данными…………………………………………………………………………………………. 168
Менеджеры паролей и программное обеспечение для управления секретными данными 169
Защита секретов и наблюдение за их использованием…………………………………………….. 170
Обеспечение безопасности вычислительной среды…………………………………………………………….. 171
Обеспечение безопасности вашей сети…………………………………………………………………………………. 173
Рекомендации по безопасности для управления инфраструктурой…………………………………… 175
Заключение………………………………………………………………………………………………………………………………. 176
Часть IV. Наблюдение за системой………………………………………. 179
Глава 14. Теоретические аспекты мониторинга…………………………………… 181
Зачем нужен мониторинг?………………………………………………………………………………………………………. 181
Чем отличаются мониторинг и наблюдаемость?………………………………………………………………….. 183
Основные элементы мониторинга………………………………………………………………………………………….. 184
События…………………………………………………………………………………………………………………………. 184
Мониторы……………………………………………………………………………………………………………………… 184
Данные: метрики, журналы и трассировка………………………………………………………………… 185
Мониторинг первого уровня…………………………………………………………………………………………………… 185
Обнаружение события…………………………………………………………………………………………………. 186
Сбор данных…………………………………………………………………………………………………………………. 186
Сокращение объема данных……………………………………………………………………………………….. 186
Анализ данных……………………………………………………………………………………………………………… 187
Представление данных………………………………………………………………………………………………… 188
Мониторинг второго уровня…………………………………………………………………………………………………… 188
Заключение………………………………………………………………………………………………………………………………. 189
Глава 15. Мониторинг вычислительной инфраструктуры
и программного обеспечения на практике……………………………………………. 190
Определите желаемые результаты………………………………………………………………………………………… 190
За какими параметрами следует наблюдать?………………………………………………………………………. 192
Делайте то, что можете сейчас……………………………………………………………………………………. 192
Мониторы, которые имеют значение…………………………………………………………………………. 193
План проекта по мониторингу……………………………………………………………………………………………….. 194
Какие оповещения следует рассылать?………………………………………………………………………………… 197
Изучение платформ мониторинга………………………………………………………………………………………….. 198
Выбор инструмента или платформы для мониторинга……………………………………………………….. 200
Заключение………………………………………………………………………………………………………………………………. 202
Глава 16. Управление данными мониторинга………………………………………. 203
Что такое данные мониторинга?……………………………………………………………………………………………. 203
Метрики…………………………………………………………………………………………………………………………. 204
Журналы……………………………………………………………………………………………………………………….. 204
Структурированные журналы…………………………………………………………………………………….. 205
Трассировка………………………………………………………………………………………………………………….. 206
Распределенная трассировка………………………………………………………………………………………. 206
Выберите типы данных…………………………………………………………………………………………………………… 207
Сохранение данных журналов………………………………………………………………………………………………. 208
Анализ данных журналов……………………………………………………………………………………………………….. 208
Мониторинг данных в масштабе……………………………………………………………………………………………. 209
Заключение………………………………………………………………………………………………………………………………. 210
Глава 17. Мониторинг вашей работы…………………………………………………… 211
Зачем вести мониторинг своей работы?………………………………………………………………………………… 211
Управляйте своей работой по методу канбан………………………………………………………………………. 213
Выбор платформы…………………………………………………………………………………………………………………… 216
Поиск интересующей информации………………………………………………………………………………………… 217
Заключение………………………………………………………………………………………………………………………………. 219
Часть V. Масштабирование системы…………………………………… 221
Глава 18. Управление мощностями………………………………………………………. 223
Что такое мощности?………………………………………………………………………………………………………………. 223
Модель управления мощностями…………………………………………………………………………………………… 224
Закупка ресурсов………………………………………………………………………………………………………….. 225
Обоснование…………………………………………………………………………………………………………………. 226
Управление……………………………………………………………………………………………………………………. 227
Мониторинг…………………………………………………………………………………………………………………… 232
Схема планирования мощностей…………………………………………………………………………………………… 232
Требуется ли планирование мощностей при использовании облачных вычислений?…….. 234
Заключение………………………………………………………………………………………………………………………………. 235
Глава 19. Создание надежной дежурной службы………………………………….. 236
Что представляют собой дежурства………………………………………………………………………………………. 236
Человеческие факторы процессов при дежурстве………………………………………………………………… 237
Проверьте свою политику дежурств…………………………………………………………………………… 238
Подготовка к дежурству………………………………………………………………………………………………. 239
За неделю до дежурства………………………………………………………………………………………………. 241
Ночь накануне дежурства…………………………………………………………………………………………… 242
Ваша дежурная смена………………………………………………………………………………………………….. 243
Сдача смены…………………………………………………………………………………………………………………. 244
День после дежурства………………………………………………………………………………………………….. 245
Мониторинг процесса дежурства………………………………………………………………………………………….. 247
Заключение………………………………………………………………………………………………………………………………. 250
Глава 20. Управление инцидентами…………………………………………………….. 251
Что такое инцидент?………………………………………………………………………………………………………………… 251
Что такое управление инцидентами?…………………………………………………………………………………….. 252
Подготовка к инцидентам и план действий…………………………………………………………………………… 254
Настройка и документирование коммуникационных каналов………………………………… 254
Обучение эффективному общению……………………………………………………………………………… 254
Создание шаблонов……………………………………………………………………………………………………… 255
Ведение документации………………………………………………………………………………………………… 256
Документирование рисков…………………………………………………………………………………………… 256
Моделирование аварийных ситуаций……………………………………………………………………….. 256
Изучение имеющихся инструментов…………………………………………………………………………… 256
Четкое определение должностей и обязанностей……………………………………………………… 257
Представление о степени серьезности и протоколах эскалации…………………………….. 258
Реагирование на инциденты…………………………………………………………………………………………………… 259
Извлечение уроков из инцидента……………………………………………………………………………………………. 260
Как глубоко следует расследовать инцидент?………………………………………………………….. 260
Помощь в обнаружении……………………………………………………………………………………………….. 262
Эффективное документирование инцидентов……………………………………………………………. 262
Распространение информации……………………………………………………………………………………. 263
Дальнейшие шаги…………………………………………………………………………………………………………………….. 264
Заключение………………………………………………………………………………………………………………………………. 264
Глава 21. Руководство устойчивыми командами…………………………………. 266
Коллективное руководство…………………………………………………………………………………………………….. 266
Внедрение командного подхода…………………………………………………………………………………………….. 267
Создание устойчивых команд дежурных специалистов………………………………………….. 268
Обновление процесса дежурства………………………………………………………………………………… 269
Мониторинг работы команды………………………………………………………………………………………………… 271
Зачем нужен мониторинг команды?…………………………………………………………………………… 271
За какими параметрами следует наблюдать?…………………………………………………………… 272
Каковы задачи команды?……………………………………………………………………………………. 274
Как команда определяет для себя задачу?………………………………………………………… 274
Как команда определяет для себя проект?………………………………………………………… 275
Что представляет собой каталог услуг, которые предлагает ваша команда?.. 275
Изучите работу…………………………………………………………………………………………………….. 275
Измерение влияния на команду…………………………………………………………………………………… 276
Поддержка инфраструктуры команды с помощью документации……………………………………… 277
Поддерживайте культуру обучения………………………………………………………………………………………. 278
Адаптация к вызовам………………………………………………………………………………………………………………. 279
Заключение………………………………………………………………………………………………………………………………. 281
Заключение………………………………………………………………………………………….. 283
Приложение А. Протоколы на практике………………………………………………. 285
Протокол HTTP………………………………………………………………………………………………………………………… 285
QUIC………………………………………………………………………………………………………………………………. 288
Система доменных имен………………………………………………………………………………………………. 289
Приложение Б. Определение причин сбоя тестов…………………………………. 293
Сбой теста, вариант № 1: проблемы, связанные с инфраструктурой…………………………………. 293
Сбой теста, вариант № 2: ошибочная логика теста……………………………………………………………… 294
Сбой теста, вариант № 3: изменение предположений………………………………………………………….. 295
Сбой теста, вариант № 4: ненадежные тесты……………………………………………………………………….. 295
Сбой теста, вариант № 5: дефекты кода………………………………………………………………………………… 297
Предметный указатель…………………………………………………………………………. 299
Об авторе……………………………………………………………………………………………… 303
Об обложке…………………………………………………………………………………………… 304

Дженнифер Дэвис — опытный инженер по эксплуатации, докладчик на международных конференциях и автор ряда книг по DevOps. Она работала с различными компаниями, от стартапов до крупных предприятий, повышая надежность систем и обеспечивая их устойчивую работу.
