DevOps для начинающих: подборка материалов от команды Selectel
Попросили коллег поделиться рекомендациями и ресурсами для изучения DevOps.
Мир DevOps состоит из непрерывного обучения и совершенствования навыков. Новичкам часто приходится тратить много времени на поиск качественных и полезных материалов. Чтобы помочь, попросили наших коллег-экспертов поделиться интересными книгами, плейлистами, каналами и курсами для погружения в DevOps и улучшения практических навыков. В конце текста — полезные советы для начинающих специалистов.
Книги
Запускаем Ansible
Ansible — популярный и удобный инструмент управления конфигурациями. Второе издание книги очень помогло при его освоении, показало много продвинутых случаев использования. Недавно вышло третье со множеством полезных обновлений. К примеру, внутри есть новые главы о контейнерах, Molecule, поддержке облачной инфраструктуры и CI/CD.
Авторы не позиционируют книгу как исчерпывающее руководство по инструменту. Однако она содержит много пояснений и дополнений к темам, которые не в полном объеме описаны в официальной документации. Еще одно преимущество — большое количество практических рекомендаций и удобная структура. Книга будет полезна специалистам любого уровня.
Pro Git
Наиболее полезное руководство по Git среди тех, которые я изучал. В нем специалист любого уровня найдет для себя что-то новое. Материал написан доступным языком, содержит множество примеров и иллюстраций.
Автор — Скотт Чакон, активный участник разработки Git и GitHub. В книге он дает читателю полную базовую информацию о Git, начиная с его установки, первоначальной настройки и основных функций. Однако в ней содержится много сценариев работы и приемов, которые будут полезны продвинутым специалистам. В книге описывается ветвление, работа с удаленным репозиторием, распределенные процессы, миграция на Git из других систем управления версиями.
Проект «Феникс»
Однажды я захотел разобраться в DevOps не только с технической стороны, но и с точки зрения бизнеса и руководства компании. Подходящих книг оказалось не так много, одна из них — «Проект “Феникс”». Она простым языком рассказывает о внедрении принципов DevOps в бизнес на примере реальной компании.
В книге не освещаются технические аспекты DevOps. Повествование идет от лица технического директора департамента, где он сталкивается с ошибками в организации. Внутри — как улучшить взаимодействие между отделами, наладить процессы с помощью «Канбан» и других систем, оптимизировать планирование и учет. Будет интересно руководителям, желающим улучшить процессы в своей компании, и всем, кто интересуется DevOps и хочет оценить пользу подхода в их работе.
Видео, плейлисты, каналы
Плейлист «Docker: глубокое погружение»
Многие начинающие специалисты знакомятся с инструментом через инструкции. Однако чаще всего идеальный первый шаг — разобраться в его работе. Благодаря циклу видео о Docker я получил комплексное понимание контейнеризации — на старте это важно.
Курс на YouTube-канале JavaScript.Ninja состоит из шести видео. Они направлены на изучение принципов работы Docker. В среднем уроки длятся 20 минут, поэтому вы сможете легко изучать их в свободное время. Среди тем — изоляция, пространства имен и файловые слои.
Канал TechWorldwithNana
Канал помог мне в освоении Kubernetes. Это сложный инструмент с большим количеством сущностей. Однако автор канала кратко объяснила его устройство, а также показала применение на практике.
На канале регулярно выходят инструкции, обзоры и небольшие курсы для актуальных DevOps-инструментов: Docker, Kubernetes, Terraform, Ansible, GitLab CI/CD, Argo CD. Видео включают в себя краткий рассказ о предназначении инструмента и раздел с его практическим применением. Технические обзоры на канале чередуются с видео на более общие темы о карьере DevOps, ИИ в работе, DevSecOps и т. д.
Канал Кирилла Семаева
Считаю, что один из ключевых навыков в DevOps — владение Linux. Именно в поиске знаний об администрировании я нашел этот YouTube-канал. Здесь много инструкций и теории в доступном формате.
На канале есть плейлисты о Jenkins, администрировании локальных сетей, подготоке к экзаменам для получения сертификации. К материалам курсов есть конспекты и «домашние задания» для закрепления изученных тем.
Курсы и упражнения
Docker для начинающих + практический опыт
Курс помог познакомиться с Docker. Ключевое преимущество для новичков — хороший баланс основы и практики. Благодаря ему я смог быстро начать использовать инструмент в проектах.
Курс разделен на девять модулей, всего — 44 урока, 76 тестов и 3,5 часа видео. С помощью упражнений можно практиковаться в Docker Compose, командах Docker, разработке образов с использованием Dockerfiles. Среди прочих тем — Docker Compose и создание стека приложений с его использованием, Docker Swarm и Docker Registry.
Курс «Первые шаги в Kubernetes»
В Академии Selectel есть бесплатный образовательный курс — «Первые шаги в Kubernetes». В нем помогаем вникнуть в основы Kubernetes: объясняем, с чего начать, как работать с контейнерами и настроить мониторинг. Всего 12 материалов, на знакомство с которыми уйдет около двух часов.
Курс будет интересен тем, кто только начинает работать с кластерами, что-то слышал о Kubernetes, но никогда с ним не работал и хочет разобраться в теме. Все статьи и инструкции можно изучать в своем темпе и любом порядке.
Сети для самых маленьких
Без сетей никуда — это касается и DevOps. Курс здорово помог разобраться в основах сетей, работе протоколов и принципах сетевого взаимодействия. Ключевое преимущество — простой язык повествования. Автор буквально раскладывает темы по полочкам, объясняя, к примеру, формирование пакета на кубиках.
Курс состоит из 16 модулей о сетях, их настройке и администрировании. Материалы расположены так, чтобы пользователь мог пошагово идти от основ к сложных тем. К примеру, BGP и MPLS.
Упражнения на GitHub
Закрепить знания на практике мне помог репозиторий с вопросами и упражнениями для DevOps. Он направлен на новичков, но советую ознакомиться с теорией и более общими материалами.
В репозитории — 11 небольших заданий для начинающих специалистов. Внутри — все файлы для выполнения и примеры решений.
Советы начинающим DevOps
Одна из ключевых трудностей для начинающих DevOps-инженеров — получить реальный опыт. Он требуется практически везде, но где его взять? На старте подойдут проекты с курсов DevOps или собственные pet-проекты. Пока будете пытаться с помощью Ansible развернуть приложение на машине с Ubuntu, вы извлечете для себя много уроков.
Это и будет опытом, который так необходим, а разворачиваете вы Minecraft-сервер для друзей или большой файловый сервер для клиента — уже детали.
Рекомендую поднять домашний сервер на базе NUC или аналогов. Разверните на нем Docker или одноузловой кластер k8s, а для умного дома используйте homeassistant. Это позволит на практике изучить некоторые подходы DevOps.