Серверы и DevOps
Своя машина в интернете: как её арендовать, настроить, положить на неё сайт и сделать так, чтобы обновления выкатывались сами, а падение было видно раньше, чем о нём напишет клиент.
Что такое арендованный сервер 2 дня
Кусок чужого компьютера в аренду: процессор, память, диск и адрес в интернете. Стоит от нескольких долларов в месяц. Отличие от хостинга-конструктора простое — здесь всё ваше и всё на вас.
Что уметь в конце
- Выбрать размер сервера под задачу и не переплатить
- Подключиться к нему из терминала
Командная строка Linux 3 недели
Файлы и папки, права, поиск, просмотр журналов, установка программ, редактирование прямо на сервере. Мыши здесь нет — и это быстрее, когда привык.
Что уметь в конце
- Пройти путь: подключиться, поставить программу, запустить, посмотреть журнал
- Найти, что занимает место на диске
Пользователи и права 1 неделя
Почему нельзя работать из-под главного администратора, как завести отдельного пользователя для сайта и почему «дать всем полный доступ» — не решение, а будущая беда.
Сеть и файрвол 1 неделя
Порты, открытые наружу, — это двери в ваш сервер. Правило: закрыто всё, кроме того, что нужно. Плюс умение проверить, кто и куда стучится.
Что уметь в конце
- Оставить открытыми только нужные порты
- Посмотреть, какие программы слушают сеть
Вход по ключу 2 дня
Пароль подбирают роботы круглосуточно, ключ — нет. Настраивается за десять минут, после чего вход по паролю выключается совсем.
nginx 2 недели
Программа, которая принимает запросы: отдаёт готовые файлы сама, а всё остальное передаёт вашему приложению. Здесь же сжатие, кеш и переадресация.
Что уметь в конце
- Поднять сайт на своём домене и передать часть адресов приложению
- Прочитать журнал обращений и найти в нём ошибку
Где учить
Домены и DNS 3 дня
Записи, которые связывают имя сайта с адресом сервера, а почту — с почтовой службой. Отдельно стоит понять, почему изменения «доезжают» не мгновенно.
Что уметь в конце
- Направить домен и его поддомены на свой сервер
- Проверить, какие записи видит мир прямо сейчас
Сертификаты и https 2 дня
Бесплатный сертификат выпускается и продлевается автоматически. Без него браузер показывает предупреждение, а поисковики понижают сайт.
Где учить
Приложение как служба 1 неделя
Программа, запущенная руками, умрёт вместе с вашим сеансом. Служба поднимается при старте сервера и перезапускается сама после сбоя.
Журналы системы 3 дня
Куда пишутся сообщения служб, как их читать и как не дать им съесть диск. Первое место, куда смотрят, когда «всё сломалось».
Docker 3 недели
Приложение упаковывается вместе со своим окружением и запускается одинаково на ноутбуке и на сервере. Лечит болезнь «у меня работает».
Что уметь в конце
- Собрать образ своего приложения и запустить его на сервере
- Понимать, где живут данные контейнера и почему они исчезают
Где учить
Несколько контейнеров вместе 1 неделя
Приложение, база, кеш и обратный прокси описываются одним файлом и поднимаются одной командой. Для большинства проектов этого достаточно навсегда.
Хранилище образов 2 дня
Куда складывать собранные образы, чтобы сервер их забирал: публичный реестр или свой. Здесь же версии и правило «никогда не выкатывать latest».
Kubernetes необязательно
Оркестратор для десятков сервисов и нескольких машин. Малому проекту он приносит больше сложности, чем пользы, — беритесь, когда задача сама потребует.
Где учить
Автоматическая сборка и выкладка 2 недели
Правка попала в основную ветку — тесты прошли, образ собрался, сервер обновился. Ручная выкладка по вечерам заканчивается ровно здесь.
Где учить
Секреты и переменные окружения 3 дня
Пароли и токены не живут в коде — никогда. Их место в переменных окружения или хранилище секретов, а в репозитории лежит только образец с пустыми полями.
Резервные копии 1 неделя
Копия, которую ни разу не восстанавливали, копией не считается. Расписание, хранение вне того же сервера и обязательная проверка восстановлением.
Что уметь в конце
- Настроить ежедневную копию базы и файлов
- Восстановить систему на чистой машине по своей инструкции
Инфраструктура как код необязательно
Серверы и сети описываются файлами и создаются командой. Нужно, когда машин становится много или их приходится пересоздавать регулярно.
Где учить
Мониторинг и оповещения 2 недели
Показатели сервера и приложения, графики, пороги и сообщение в мессенджер, когда что-то пошло не так. Цель — узнавать о сбое раньше клиента.
Где учить
Безопасность сервера 1 неделя
Обновления безопасности, блокировка перебора паролей, отдельные права для служб, ограничение исходящих соединений. Сервер в интернете сканируют круглосуточно — это не пугалка, а факт из журналов.
Когда одной машины мало 1 неделя
Вертикальный рост, несколько копий приложения за балансировщиком, отделение базы, раздача файлов через сеть доставки. Важнее всего понять, что именно упирается, — иначе платите за лишние мощности.
Сверка с зарубежной картой необязательно
Полная карта профессии с инструментами на любой вкус — у коллег из roadmap.sh. Наша короче: здесь то, без чего не запустить и не удержать реальный проект.
Куда смотреть
- roadmap.sh — DevOps (на английском)