Системный Инженер Linux [Школа DevOps]
Для кого этот курс?
Хорошие навыки работы с ОС Linux необходимы для многих ИТ профессий.
Знать Linux необходимо прежде всего разработчикам, администраторам, DevOps инженерам, тестировщикам, сетевым инженерам и всем тем, кто только готовится стать ИТ специалистом.
Данный курс, благодаря специально разработанной методике обучения, позволит быстро освоить необходимые навыки работы с ОС Linux, изучить на практике современные инструменты и системы, применяемые в Production, а также, на базе опыта крупнейших ИТ компаний, овладеть знаниями по работе с высоконагруженными системами.
После успешного освоения курса Системный Инженер Linux Вы научитесь:
+ Работать с ОС Linux
+ Администрировать Linux системы
+ Автоматизировать задачи с помощью Bash сценариев
+ Администрировать популярные приложения, БД, почтовые, web, файловые сервера
+ Строить инфраструктуру на базе открытых систем
+ Обеспечивать защиту окружений
+ Разбираться в архитектуре высоконагруженных приложений
+ Использовать весь необходимый инструментарий системного инженера
Продажник:
Для кого этот курс?
Хорошие навыки работы с ОС Linux необходимы для многих ИТ профессий.
Знать Linux необходимо прежде всего разработчикам, администраторам, DevOps инженерам, тестировщикам, сетевым инженерам и всем тем, кто только готовится стать ИТ специалистом.
Данный курс, благодаря специально разработанной методике обучения, позволит быстро освоить необходимые навыки работы с ОС Linux, изучить на практике современные инструменты и системы, применяемые в Production, а также, на базе опыта крупнейших ИТ компаний, овладеть знаниями по работе с высоконагруженными системами.
После успешного освоения курса Системный Инженер Linux Вы научитесь:
+ Работать с ОС Linux
+ Администрировать Linux системы
+ Автоматизировать задачи с помощью Bash сценариев
+ Администрировать популярные приложения, БД, почтовые, web, файловые сервера
+ Строить инфраструктуру на базе открытых систем
+ Обеспечивать защиту окружений
+ Разбираться в архитектуре высоконагруженных приложений
+ Использовать весь необходимый инструментарий системного инженера
Модуль 1: Linux
Занятие 1 - Вводное
- Знакомство с ОС Linux. История, философия и основные концепции
- Общая архитектура серверных систем
- Обзор Linux дистрибутивов
- Ядро Linux
- Процесс загрузки. GRUB
- Способы установки ОС
ДЗ: Подготовка рабочего окружения
Занятие 2
- Процесс установки ОС Linux
- Удаленное подключение по протоколу SSH
- Современные менеджеры подключений
- Структура Файловых систем UNIX
- Установка программ
- Пакетные менеджеры, репозитории
- Работа в консоли
ДЗ: Практика работы в консоли
Занятие 3
- Пользователи и группы
- Суперпользователь root, системные пользователи
- Команды sudo, su
- Файл sudoers, visudo
- Управление доступом к файловой системе
- Права доступа, биты suid, sgid, sticky
- Типы, атрибуты файлов, ссылки, inode
- списки ACL
ДЗ: Работа с пользователями и группами
Занятие 4
- Системы инициализации
- Управление процессами Linux
- Работа со службами systemd
- Управляющая утилита systemctl
- Мониторинг состояния служб, файлы конфигурации
- Переменные среды: глобальные, локальные
- Консольные утилиты, текстовые редакторы: vim, nano, mcedit
ДЗ: Настройка сервисов Systemd.
Занятие 5
- Управление файловыми системами
- Обзор и особенности основных ФС Linux: ext4, btrfs, zfs
- Монтирование ФС, команда mount
- Создание ФС, создание разделов
- Устранение нарушений в работе, проверка ФС
- Диспетчеры логических томов
- Использование Linux LVM
- RAID. Утилита mdadm
ДЗ: Практика работы с дисковыми разделами.
Занятие 6
- Планировщик задач CRON
- Синтаксис crontab
- Утилита at
- Файлы журналов. Логирование, ротация
- Работа с утилитами Journalctl, Tail, Multitail
- Менеджеры терминалов tmux, screen
ДЗ: Практика работы с logrotate
Занятие 7
- Bash скриптинг: основы создания сценариев
- Создание микросценариев
- Использование переменных в сценариях
- Перенаправление ввода и вывода, каналы, пайпы
- Использование скобок, кавычек
- Регулярные выражения
- Потоковые редакторы SED и AWK
ДЗ: автоматизация задачи с помощью Bash
Занятие 8
- Bash программирование
- Использование структурированных команд
- Работа с условиями: if-then-else
- Команда Test: сравнение чисел, строк, файлов
- Циклы: For, While
- Управление циклами
ДЗ: написание программы бэкапа на Bash
Модуль 2: Сетевое взаимодействие
Занятие 9
- Понятия компьютерной сети и сетевой топологии
- Эталонная модель OSI
- Стек протоколов TCP/IP
- IP-адрес. Сетевая адресация
- Классы адресов IPv4. NAT
- Службы DNS. Bind server
- DHCP. Принцип работы.
- Настройка сетевых параметров Linux
- Инструменты мониторинга сети
ДЗ: работа с сетевыми службами
Занятие 10
- Понятие маршрутизации и коммутации
- Основные протоколы маршрутизации
- RIP, OSPF, BGP
- Обнаружение сетевых проблем
- Утилиты nmap, tcpdump
- Сетевая безопасность. VPN туннели
- Настройка VPN на примере WireGuard
ДЗ: практика настройки VPN
Занятие 11
- Файловый сервер
- Сетевые файловые системы
- Протокол NFS
- Создание файловой шары
- SAMBA и протокол SMB
- Знакомство с GlusterFS
ДЗ: Настройка сетевой ФС
Модуль 3: Инструменты
Занятие 12
- Обзор рынка виртуализации
- Типы и виды гипервизоров
- Понятие отказоустойчивого кластера
- Linux kvm, virt-manager
- Резервное копирование
- Схемы РК: Дед-Отец-Сын, Ханойская башня
- Утилиты rsync, borg
- Обзор инструмента Veeam backup & Replication 10
ДЗ: Практика работы с инструментами для РК
Занятие 13
- Основы работы с SCM
- Git: знакомство
- Репозитории, коммиты, ветки
- Обзор систем автоматизации
- Знакомство с Ansible
- Ansible playbook, ad-hoc command
ДЗ: Работа с Git репозиторием
Занятие 14
- Понятие контейнеризации
- Знакомство с Docker
- Запуск приложений в контейнерах, DockerHub
- Сценарии использования
ДЗ: Запуск приложений в контейнерах
Модуль 4: Приложения
Занятие 15
- Web сервер
- Основы ПО для Web
- HTTP: протокол передачи гипертекста
- HTTP на основе TLS
- Web сервера Apache, Nginx. Принцип работы
- Коды ответов web-сервера
- Кэширующий прокси-сервер Squid
ДЗ: Работа с ПО для web
Занятие 16
- Web сервер Nginx
- Установка и настройка
- Файлы конфигурации сервера
- Использование модулей
- Подключение SSL сертификатов
- Управление кэшированием
- Использование в связке с php-fpm
- Мониторинг
ДЗ: Практика работы с Nginx
Занятие 17
- Почтовый сервер
- Архитектура почтовых систем
- Структура почтового сообщения
- Протокол SMTP
- Почтовый сервер Postfix: основные компоненты
- Настройка почтового сервера
- Безопасность рассылки: DKIM, SPF, DMARC
- Управление очередями
- Система Iredmail
ДЗ: Практика работы с Postfix
Занятие 18
- Сервер Баз Данных
- Знакомство с Базами данных
- Основы языка запросов SQL
- СУБД Postgresql 13
- Администрирование Postgresql
- Кластер. Настройка репликации
- Мониторинг работы, анализ производительности
- Анализ логов
ДЗ: Работа с репликацией Postgresql
Занятие 19
- Знакомство с Elasticsearch 7
- Кейсы применения
- Индексы, ключи, запросы
- Администрирование и оптимизация.
- Утилита обслуживания индексов Curator
- Использование в кластере, обслуживание
- Знакомство с контейнерами сервлетов
- Apache Tomcat : Администрирование
ДЗ: Работа с кластером Elasticsearch
Занятие 20
- Знакомство с MongoDB
- Сферы применения
- MongoDB: кластеризация и администрирование
- Колоночные СУБД: Yandex ClickHouse
- Особенности работы с NoSQL БД
ДЗ: Практика работы с ModgoDB
Модуль 5: Практики
Занятие 21
- Безопасность: Best practise
- Аппаратные и программные Фаерволы
- Знакомство с iptables
- Iptables: Правила, цепочки, таблицы
- Инструментальные средства защиты
- Мониторинг инцидентов безопасности
- Web application firewall
- Структура DdoS атак
- Сервисы Qrator, CloudFlare
Занятие 22
- Понятие HighLoad
- Архитектура высоконагруженных системам
- Балансировка нагрузки: уровни, основные алгоритмы
- Nginx в качестве балансировщика нагрузки
- Знакомство с Haproxy
- Тюнинг параметров ядра Linux под высокие нагрузки
- Подготовка Web-сервера к высоким нагрузкам
- Подготовка БД к высоким нагрузкам
- Кэширование объектов
- Memcached, Redis
Занятие 23
- Мониторинг ОС Linux
- Оценка эффективности аппаратного обеспечения
- Замеры и сравнения производительности компонентов
- Основные метрики ОС
- Метрики приложений
- Консольные утилиты мониторинга
- Основы работы с Strace
- Облачные системы мониторинга: NewRelic
- Zabbix 5: оперативный мониторинг
- Архитектура Zabbix сервера
- Zabbix itemы, триггеры
- Шаблоны, графики, оповещения
+ Бонусные видео материалы
- Администрирование Atlassian стека: Jira server, Confluence server
- Администрирование GitLab
- Обзор современных систем мониторинга
Занятие 1 - Вводное
- Знакомство с ОС Linux. История, философия и основные концепции
- Общая архитектура серверных систем
- Обзор Linux дистрибутивов
- Ядро Linux
- Процесс загрузки. GRUB
- Способы установки ОС
ДЗ: Подготовка рабочего окружения
Занятие 2
- Процесс установки ОС Linux
- Удаленное подключение по протоколу SSH
- Современные менеджеры подключений
- Структура Файловых систем UNIX
- Установка программ
- Пакетные менеджеры, репозитории
- Работа в консоли
ДЗ: Практика работы в консоли
Занятие 3
- Пользователи и группы
- Суперпользователь root, системные пользователи
- Команды sudo, su
- Файл sudoers, visudo
- Управление доступом к файловой системе
- Права доступа, биты suid, sgid, sticky
- Типы, атрибуты файлов, ссылки, inode
- списки ACL
ДЗ: Работа с пользователями и группами
Занятие 4
- Системы инициализации
- Управление процессами Linux
- Работа со службами systemd
- Управляющая утилита systemctl
- Мониторинг состояния служб, файлы конфигурации
- Переменные среды: глобальные, локальные
- Консольные утилиты, текстовые редакторы: vim, nano, mcedit
ДЗ: Настройка сервисов Systemd.
Занятие 5
- Управление файловыми системами
- Обзор и особенности основных ФС Linux: ext4, btrfs, zfs
- Монтирование ФС, команда mount
- Создание ФС, создание разделов
- Устранение нарушений в работе, проверка ФС
- Диспетчеры логических томов
- Использование Linux LVM
- RAID. Утилита mdadm
ДЗ: Практика работы с дисковыми разделами.
Занятие 6
- Планировщик задач CRON
- Синтаксис crontab
- Утилита at
- Файлы журналов. Логирование, ротация
- Работа с утилитами Journalctl, Tail, Multitail
- Менеджеры терминалов tmux, screen
ДЗ: Практика работы с logrotate
Занятие 7
- Bash скриптинг: основы создания сценариев
- Создание микросценариев
- Использование переменных в сценариях
- Перенаправление ввода и вывода, каналы, пайпы
- Использование скобок, кавычек
- Регулярные выражения
- Потоковые редакторы SED и AWK
ДЗ: автоматизация задачи с помощью Bash
Занятие 8
- Bash программирование
- Использование структурированных команд
- Работа с условиями: if-then-else
- Команда Test: сравнение чисел, строк, файлов
- Циклы: For, While
- Управление циклами
ДЗ: написание программы бэкапа на Bash
Модуль 2: Сетевое взаимодействие
Занятие 9
- Понятия компьютерной сети и сетевой топологии
- Эталонная модель OSI
- Стек протоколов TCP/IP
- IP-адрес. Сетевая адресация
- Классы адресов IPv4. NAT
- Службы DNS. Bind server
- DHCP. Принцип работы.
- Настройка сетевых параметров Linux
- Инструменты мониторинга сети
ДЗ: работа с сетевыми службами
Занятие 10
- Понятие маршрутизации и коммутации
- Основные протоколы маршрутизации
- RIP, OSPF, BGP
- Обнаружение сетевых проблем
- Утилиты nmap, tcpdump
- Сетевая безопасность. VPN туннели
- Настройка VPN на примере WireGuard
ДЗ: практика настройки VPN
Занятие 11
- Файловый сервер
- Сетевые файловые системы
- Протокол NFS
- Создание файловой шары
- SAMBA и протокол SMB
- Знакомство с GlusterFS
ДЗ: Настройка сетевой ФС
Модуль 3: Инструменты
Занятие 12
- Обзор рынка виртуализации
- Типы и виды гипервизоров
- Понятие отказоустойчивого кластера
- Linux kvm, virt-manager
- Резервное копирование
- Схемы РК: Дед-Отец-Сын, Ханойская башня
- Утилиты rsync, borg
- Обзор инструмента Veeam backup & Replication 10
ДЗ: Практика работы с инструментами для РК
Занятие 13
- Основы работы с SCM
- Git: знакомство
- Репозитории, коммиты, ветки
- Обзор систем автоматизации
- Знакомство с Ansible
- Ansible playbook, ad-hoc command
ДЗ: Работа с Git репозиторием
Занятие 14
- Понятие контейнеризации
- Знакомство с Docker
- Запуск приложений в контейнерах, DockerHub
- Сценарии использования
ДЗ: Запуск приложений в контейнерах
Модуль 4: Приложения
Занятие 15
- Web сервер
- Основы ПО для Web
- HTTP: протокол передачи гипертекста
- HTTP на основе TLS
- Web сервера Apache, Nginx. Принцип работы
- Коды ответов web-сервера
- Кэширующий прокси-сервер Squid
ДЗ: Работа с ПО для web
Занятие 16
- Web сервер Nginx
- Установка и настройка
- Файлы конфигурации сервера
- Использование модулей
- Подключение SSL сертификатов
- Управление кэшированием
- Использование в связке с php-fpm
- Мониторинг
ДЗ: Практика работы с Nginx
Занятие 17
- Почтовый сервер
- Архитектура почтовых систем
- Структура почтового сообщения
- Протокол SMTP
- Почтовый сервер Postfix: основные компоненты
- Настройка почтового сервера
- Безопасность рассылки: DKIM, SPF, DMARC
- Управление очередями
- Система Iredmail
ДЗ: Практика работы с Postfix
Занятие 18
- Сервер Баз Данных
- Знакомство с Базами данных
- Основы языка запросов SQL
- СУБД Postgresql 13
- Администрирование Postgresql
- Кластер. Настройка репликации
- Мониторинг работы, анализ производительности
- Анализ логов
ДЗ: Работа с репликацией Postgresql
Занятие 19
- Знакомство с Elasticsearch 7
- Кейсы применения
- Индексы, ключи, запросы
- Администрирование и оптимизация.
- Утилита обслуживания индексов Curator
- Использование в кластере, обслуживание
- Знакомство с контейнерами сервлетов
- Apache Tomcat : Администрирование
ДЗ: Работа с кластером Elasticsearch
Занятие 20
- Знакомство с MongoDB
- Сферы применения
- MongoDB: кластеризация и администрирование
- Колоночные СУБД: Yandex ClickHouse
- Особенности работы с NoSQL БД
ДЗ: Практика работы с ModgoDB
Модуль 5: Практики
Занятие 21
- Безопасность: Best practise
- Аппаратные и программные Фаерволы
- Знакомство с iptables
- Iptables: Правила, цепочки, таблицы
- Инструментальные средства защиты
- Мониторинг инцидентов безопасности
- Web application firewall
- Структура DdoS атак
- Сервисы Qrator, CloudFlare
Занятие 22
- Понятие HighLoad
- Архитектура высоконагруженных системам
- Балансировка нагрузки: уровни, основные алгоритмы
- Nginx в качестве балансировщика нагрузки
- Знакомство с Haproxy
- Тюнинг параметров ядра Linux под высокие нагрузки
- Подготовка Web-сервера к высоким нагрузкам
- Подготовка БД к высоким нагрузкам
- Кэширование объектов
- Memcached, Redis
Занятие 23
- Мониторинг ОС Linux
- Оценка эффективности аппаратного обеспечения
- Замеры и сравнения производительности компонентов
- Основные метрики ОС
- Метрики приложений
- Консольные утилиты мониторинга
- Основы работы с Strace
- Облачные системы мониторинга: NewRelic
- Zabbix 5: оперативный мониторинг
- Архитектура Zabbix сервера
- Zabbix itemы, триггеры
- Шаблоны, графики, оповещения
+ Бонусные видео материалы
- Администрирование Atlassian стека: Jira server, Confluence server
- Администрирование GitLab
- Обзор современных систем мониторинга
https://devops-school.ru/linux_system_engineer.html