Roadmap для
DevOps
Здравствуйте, мои дорогие! Меня зовут Сергей
Немчинский, я руководитель и владелец учебной компании
FoxmindEd. Спикер многих конференций по управлению
проектами, блогер. Программист с 20-летним опытом.
Почти 15 из них — в Java. Я был Project Manager в Ciklum,
Team Leader в Luxoft, NetCracker и IntroPro.
Сейчас я занимаюсь тем, что больше всего люблю —
обучением программистов. Миссия FoxmindEd, моя миссия
— чтобы вы получили профессию.
Присоединяйтесь к FoxmindEd, учитесь, развивайтесь и
становитесь профессионалом вместе с нами!
[Link]
DevOps Roadmap
Вступление
Мы создали эту дорожную карту для того, чтобы помочь вам разобраться в основных hard skills,
которые необходимы профессиональному DevOps.
Независимо от вашего уровня, эта карта предоставит вам четкий и систематизированный план
обучения.
Для кого
Новички, которые хотят выучиться и стать DevOps.
Профессионалы, которые ищут возможности восполнить пробелы в знаниях.
Полезные ссылки
Youtube канал - [Link]
Полный курс DevOps менторинга - DevOps
FoxmindEd в Telegram - [Link]
FoxmindEd в linkedIn - [Link]
DevOps Roadmap
Основы Linux
Linux - это операционная система с открытым кодом, широко используемая на серверах и для
разработки.
Как DevOps, вы будете настраивать и поддерживать инфраструктуру для работы приложений.
Поскольку большинство серверов работают на Linux, умение работать с этой системой, особенно с
командной строкой must have. Начните с Bash - это основной язык командной строки и сценариев
в Linux.
Предполагаемое время изучения: 2-3 недели
Основные понятия:
Командная строка Bash
File System
Permissions
Processes
DevOps Roadmap
Networking
Это то, как компьютеры и устройства соединяются друг с другом и общаются. Вам нужно понимать
как данные передаются, как их защитить и устранить неполадки, контролировать трафик.
Предполагаемое время изучения: 2 недели
Основные понятия:
OSI & TCP/IP модели
IP adressing
Masks subnets
DNS и DHCP
Network protocols (HTTP, HTTPS, FTP, SSH и другие)
Firewalls
Utils like ping, traceroute, netstat
DevOps Roadmap
Git
Это система контроля версий, которая позволяет отслеживать изменения в коде и координировать
совместную работу над проектами.
Предполагаемое время изучения: 1-2 недели
Основные понятия:
Основы системы контроля версий Git
Коммиты
Работа с GitLab / GitHub
Git diff и git reset
Branching - создание, слияние и удаление ветвей
Git-клиенты DevOps
DevOps Roadmap
Языки программирования
Языки программирования нужны DevOps-инженерам для автоматизации задач, таких как
настройка серверов и развертывание приложений. Вы будете писать сценарии для
автоматизации рутинных задач, работы с конфигурациями и интеграции различных
инструментов. Наиболее популярными языками являются Python и Go, но достаточно одного.
Предполагаемое время изучения: 4-6 недель
Что учить:
Синтаксис до умения написать консольный калькулятор
DevOps Roadmap
Cloud Providers
Облачные провайдеры такие как AWS, Azure, Google Cloud предоставляют услуги вычислений,
хранения данных и сетей, которые можно использовать для создания и развертывания
приложений.
Я рекомендую изучать AWS, он популярный и занимает половину рынка.
Предполагаемое время изучения: 3-4 недели
Must have умения:
Настройка виртуальных серверов
Управление данными
Управление пользователями
Настройка изолированных сетей
DevOps Roadmap
Containerization (Docker)
Контейнеризация — это способ упаковки приложений и всех их зависимостей в единый
контейнер, который можно запускать на любой платформе. Docker - это основной инструмент
для контейнеризации.
Предполагаемое время изучения: 3-4 недели
Must have умения:
Создание имеджей
Управление контейнерами
Создание докер-файлов
Запуск мульти-контейнеров с Docker Compose
DevOps Roadmap
DevOps
DevOps Roadmap
Continuous Integration/Continuous Delivery (CI/CD)
Непрерывная интеграция и непрерывное развертывание (CI/CD) — это подход в разработке
программного обеспечения, который помогает командам быстро и качественно выпускать новые
версии приложений. Jenkins - мощный инструмент для создания конвейеров CI/CD, рекомендую
изучить его.
Предполагаемое время изучения: 3-4 недели
Must have умение:
Уметь написать скрипт, который запускает и останавливает контейнеры с Docker-образами на
AWS.
DevOps Roadmap
Networking & Infrastructure Services
Включает настройку и управление такими сервисами, как обратные прокси, прямые прокси, кэш-
серверы, брандмауэры и балансировщики нагрузки. Рекомендую использовать NGINX.
Предполагаемое время изучения: 3-4 недели
Основные понятия:
Reverse & forward proxis
Caching servers
Firewalls
Load Balancers
DevOps Roadmap
Container Orchestration (Kubernetes) optional
Это система для автоматического управления контейнерами, которая помогает их запускать,
масштабировать и поддерживать в стабильном состоянии.
Предполагаемое время изучения: 4-6 недель
Что изучать:
Kubernetes
DevOps
DevOps Roadmap
Configuration Management optional
Инструменты управления конфигурацией автоматизируют развертывание, настройку и
управление серверами и приложениями.
Предполагаемое время изучения: 3-4 недели
Что изучать (на выбор):
Ansible
Puppet
Chef
DevOps Roadmap
Infrastructure as Code optional
Infrastructure as Code (IaC) - это подход, при котором инфраструктура (серверы, сети, базы
данных) управляется с помощью кода, а не вручную. Вместо того чтобы вручную настраивать
серверы или сетевые подключения, все это описывается в конфигурационных файлах.
Это позволяет автоматически развертывать и изменять инфраструктуру, делая процесс более
быстрым, повторяемым и менее подверженным ошибкам.
Предполагаемое время изучения: 3-4 недели
Основной софт:
Terraform
DevOps Roadmap
Monitoring & Logging optional
Monitoring & Logging - это процессы, помогающие отслеживать работу систем и приложений и
анализировать их действия.
Предполагаемое время изучения: 3-4 недели
Что изучать (на выбор):
Prometheus,
Graffana
DevOps