Это курс нашего партнера Партнер
Начало занятий 16 мая

DevOps практики и инструменты

Общая стоимость: 60 000 ₽
В месяц: 15 000 ₽
4 часа в неделю
5 месяцев
О курсе

Курс составлен на основе опыта, накопленного компанией Экспресс 42, которая на протяжении уже более 5 лет, помогает внедрять DevOps практики в крупных российских и зарубежных компаниях. Все занятия проводятся действующими инженерами компании.

DevOps решает задачу взаимодействия инженеров между собой с целью помочь им быстрее создавать и обновлять сервисы и приложения.

На курсе будут разобраны инструменты для реализации практик инфраструктура как код, непрерывная поставка ПО и непрерывный сбор метрик (мониторинг и логирование).

Практические задания будут выполняться с использованием Google Cloud Platform (GCP). Для того чтобы сделать использование ресурсов GCP бесплатным для участников курса, от вас потребуется наличие Google аккаунта, у которого не активирован бесплатный пробный период (free trial) в GCP. Free trial дает $300 на использование GCP в течение года. Для активации free trial будет нужна банковская карта для подтверждения личности. Вдобавок к $300, которые участники получают при использовании free trial, компания Softline предоставит дополнительно каждому участнику $200 на использование GCP. Этих средств хватит для выполнения всех практических заданий в рамках курса.

Необходимое время: 2 лекции в неделю по 2 академических часа и 4 часа на домашнее задание.

Программа курса
1
модуль
2
модуль
3
модуль
4
модуль
5
модуль
DevOps. Необходимость меняться
Занятие 1: Что такое DevOps и история его развития.
Как DevOps меняет жизнь и работу компаний. DevOps как профессия. Обзор курса.
Занятие 2: DevOps как система.
Практики и методики. DevOps компетенции.
Занятие 3: Система контроля версий как основа разработки и поставки ПО. Знакомство с Git.
ДЗ
Работа с локальным и удаленным репозиториями, исправление комитов, решение конфликтов, работа с ветками и практика Code Review..
Занятие 4: Локальное окружение инженера. ChatOps и визуализация рабочих процессов.
ДЗ
Настройка локального окружения и практика ChatOps..
Занятие 5: Знакомство с облачной инфраструктурой и облачными сервисами.
Практики безопасного доступа к ресурсам (SSH, Bastion Host, VPN).
ДЗ
Запуск VM в GCP, управление правилами фаервола, настройка SSH подключения, настройка SSH подключения через Bastion Host, настройка VPN сервера и VPN-подключения..
Занятие 6: Основные сервисы Google Cloud Platform (GCP).
Способы управления ресурсами в GCP.
ДЗ
Практика управления ресурсами GCP через gcloud.. Ручной деплой тестового приложения. Написание bash скриптов для автоматизации задач настройки VM и деплоя приложения.
Занятие 7: Командная работа с Git. Работа в GitHub. Продвинутые команды Git
ДЗ
Решение конфликтов, создание шаблонов в репозитрии GitHub, работа по Git Workflow. .
Управление инфраструктурой и конфигурацией
Занятие 8: Модели управления инфраструктурой.
Работа с образами VM в облаке. Знакомство с Packer и экосистемой компании HashiCorp.
ДЗ
Подготовка базового образа VM при помощи Packer.. Деплой приложения с использованием подготовленного базового образа.
Занятие 9: Практика Infrastructure as a Code (IaC).
Знакомство с Terraform.
ДЗ
Декларативное описание в виде кода инфраструктуры GCP, требуемой для запуска тестового приложения, при помощи Terraform..
Занятие 10: Принципы организации инфраструктурного кода и работа над инфраструктурой в команде на примере Terraform.
ДЗ
Создание Terraform модулей для управления компонентами инфраструктуры.. Описание и настройка инфраструктуры нескольких окружений. Работа с Terraform remote backend.
Занятие 11: Управление конфигурацией.
Основные DevOps инструменты: Chef, Ansible, Puppet, Salt. Знакомство с Ansible.
ДЗ
Написание Ansible плейбуков на основе имеющихся bash скриптов.. Сборка базовых образов при помощи Packer и Ansible.
Занятие 12: Продолжение знакомства с Ansible: templates, handlers, dynamic inventory, vault, tags.
ДЗ
Управление настройками хостов и деплой приложения при помощи Ansible..
Занятие 13: Принципы организации кода для управления конфигурацией.
Ansible роли, управление настройками нескольких окружений и best practices.
ДЗ
Написание Ansible ролей для управления конфигурацией сервисов и настройками хостов.. Организация репозитория для работы с несколькими окружениями. Работа с Ansible Galaxy и комьюнити ролями.
Занятие 14: Локальная разработка Ansible ролей с Vagrant. Тестирование конфигурации.
ДЗ
Доработка имеющихся ролей локально с использование Vagrant.. Тестирование конфигурации при помощи Molecule и TestInfra.
Continuous Integration & Continuous Delivery с использованием Docker
Занятие 15: Технология контейнеризации. Введение в Docker.
ДЗ
Установка Docker, запуск контейнера на локальной машине, выполнение команд внутри контейнера, создание образа контейнера на основе запущенного..
Занятие 16: Docker контейнеры. Docker под капотом
ДЗ
Запуск VM с установленным Docker Engine при помощи Docker Machine. Написание Dockerfile и сборка образа с тестовым приложением. Сохранение образа на DockerHub..
Занятие 17: Docker образы. Микросервисы
ДЗ
Разбиение приложения на несколько микросервисов. Выбор базового образа. Подключение volume к контейнеру..
Занятие 18: Сетевое взаимодействие Docker контейнеров. Docker Compose. Тестирование образов
ДЗ
Практика работы с основными типами Docker сетей. Декларативное описание Docker инфраструктуры при помощи Docker Compose..
Занятие 19: Технология непрерывной поставки ПО
ДЗ
Чтение литературы.
Занятие 20: Устройство Gitlab CI. Построение процесса непрерывной интеграции
ДЗ
Gitlab CI. Построение процесса непрерывной интеграции.
Занятие 21: Непрерывная поставка с Gitlab CI
ДЗ
Расширяем существующий CI пайплайн. Работа с окружениями в Gitlab CI для построения непрерывной поставки функционала приложений..
Fast Feedback Loop (мониторинг и логирование)
Занятие 22: Введение в мониторинг. Модели и принципы работы систем мониторинга
ДЗ
Создание и запуск системы мониторинга Prometheus.. Мониторинг состояния микросервисов, сбор метрик при помощи prometheus exporters.
Занятие 23: Мониторинг приложения и инфраструктуры
Занятие 24: Визуализация и анализ результатов мониторинга. Знакомство с системами рассылки оповещений, Алертинг
ДЗ
Сбор и анализ метрик приложений, а также бизнес метрик. Создание уведомлений на основе собранных данных..
Занятие 25: Применение инструментов для обработки лог данных
Что такое логи и зачем они нужны? Системы централизованного хранения лог данных, требования к ним и примеры. Форматы и варианты логирования приложений
ДЗ
Логирование приложений.. Структурированные и неструктурированные логи. Организация централизованной системы логирования.
Занятие 26: Применение системы логирования в инфраструктуре на основе Docker.
Рассмотрение систем распределенной отладки данных (Distributed tracing)
ДЗ
Логирование приложений.. Структурированные и неструктурированные логи. Продолжение создания и работы централизованной системой логирования.
Контейнерная Оркестрация
Занятие 27: Контейнерная оркестрация.
Примеры известных и актуальных систем оркестрации (DC/OS, Aurora, Nomad, Docker Swarm)
Занятие 28: Детальное знакомство с Docker Swarm.
Работа сети в кластере, политики учета и деплоя приложений в Swarm mode.
ДЗ
Создание кластера на основе Docker Swarm. Конфигурация приложения для работы в Swarm mode.
Занятие 29: Введение в Kubernetes.
Основные концепции и архитектура системы.
ДЗ
Установка и настройка Kubernetes.. Работа над автоматизацией процесса развертывания системы.
Занятие 30: Основные модели безопасности и контроллеры в Kubernetes
ДЗ
Установка и настройка Google Kubernetes Engine, настройка локального профиля администратора для GKE. Работа с с контроллерами: StatefulSet, Deployment, DaemonSet.
Занятие 31: Ingress-контроллеры и сервисы в Kubernetes.
Работа с удаленными хранилищами данных.
Занятие 32: Интеграция Kubernetes в GitlabCI.
Использование формата упаковки приложений Charts в Kubernetes Helm.
Занятие 33: Масштабирование в Kubernetes
Преподаватели
Александр Титов
Александр Титов Развивает тему DevOps в России, внедряет системы управления конфигурацией, занимался эксплуатацией интернет-проектов в компаниях Скалакси, Skype, Qik, Microsoft.
Сергей Богатырец
Помогает внедрять практики непрерывной поставки, улучшать процессы управления инфраструктурой и ее мониторинга. За время работы в Экспресс42 работал над проектами Рокетбанк, Paymantix, Cloudlock и Первый ОФД.
Юрий Игнатов
В должности старшего инженера в компании Express42 Юрий разрабатывает и внедряет решения для непрерывной поставки продуктов enterprise-организаций, помогает с адаптацией DevOps-практик, а так же проводит обучения и мастер-классы по дисциплинам автоматизации и управлению конфигурацией.
Виталий Хабаров
Работая системным администратором, пришёл к выводу, что полезные задачи надо автоматизировать, а от деятельности, не приносящей пользу, следует избавляться. Устроившись в компанию Экспресс 42, открыл для себя практики DevOps, которые сейчас и помогает распространять внутри компаний-разработчиков.
Андрей Александров
Внедряет DevOps практики в команды, адаптируя их под специфику компаний. Обучает новым подходам и процессам ведения разработки и управления инфраструктурой. Работал с такими компаниями как: Первый ОФД, Рокетбанк, Cloudlock, WildApricot, МТС.
Максим Орешников
Работает инженером в ООО «Экспресс 42».

В отрасли - 25 лет. В направлении DevOps 2 года.
Несколько проектов построения CI/CD в Райффайзен Банке.

В 1994 году закончил Ульяновский политехнический институт, инженер-системотехник.
Область интересов - автоматизация, DevOps.
Отзыв
Владимир Баранов
Всем привет!
Давно слышал про DevOps, даже как-то попал на собеседование по этой теме... но оказалось, что это нечто, о чем я даже почти не слышал. После (да и во время) прохождения курса, будучи больше сисадмином по должности - совсем по новому... ну или ко крайней мере под другим углом взглянул как на свою работу, так и окружающих... Курс ОЧЕНЬ полезен... всем советую и рекомендую....
Из пожеланий - какой-нибудь дополнительный курс через пол-годик - по обновлениям в инструментах и практиках, так как даже читая новости из дефлопе - уже видишь, как инструмент, который ты только что изучил - добавил какую-то новую фичу :-)
Всем удачи!
Работодатели