День открытых дверей
DevOps практики и инструменты

Проходил 22 ноября 2017 в 20:00

День открытых дверей онлайн

Хотите узнать, почему OTUS – больше, чем просто образовательный портал?
Как OTUS дает возможность стать частью сообщества профессионалов и сделать новый шаг по карьерной лестнице?
Почему учиться – не обязанность, а удовольствие и почему тесное сплетение теории и практики в обучении дает эффект синергии?
Приходите к нам на День Открытых Дверей. Формат проведения – онлайн – подключиться можно из любой точки мира!

О курсе

DevOps практики и инструменты
DevOps решает задачу взаимодействия инженеров между собой с целью помочь им быстрее создавать и обновлять сервисы и приложения. На курсе будут разобраны инструменты для реализации практик инфраструктура как код, непрерывная поставка ПО и непрерывный сбор метрик (мониторинг и логирование). Курс составлен на основе опыта, накопленного компанией Экспресс 42, которая на протяжении уже более 5 лет, помогает внедрять DevOps практики в ...
Программа курса
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: Модели управления инфраструктурой.
Работа с образами VM в облаке. Знакомство с Packer и экосистемой компании HashiCorp.

ДЗ

Подготовка базового образа VM при помощи Packer.. Деплой приложения с использованием подготовленного базового образа.
Занятие 8: Практика Infrastructure as a Code (IaC).
Знакомство с Terraform.

ДЗ

Декларативное описание в виде кода инфраструктуры GCP, требуемой для запуска тестового приложения, при помощи Terraform..
Занятие 9: Принципы организации инфраструктурного кода и работа над инфраструктурой в команде на примере Terraform.

ДЗ

Создание Terraform модулей для управления компонентами инфраструктуры.. Описание и настройка инфраструктуры нескольких окружений. Работа с Terraform remote backend.
Занятие 10: Управление конфигурацией.
Основные DevOps инструменты: Chef, Ansible, Puppet, Salt. Знакомство с Ansible.

ДЗ

Написание Ansible плейбуков на основе имеющихся bash скриптов.. Сборка базовых образов при помощи Packer и Ansible.
Занятие 11: Продолжение знакомства с Ansible: templates, handlers, dynamic inventory, vault, tags.

ДЗ

Управление настройками хостов и деплой приложения при помощи Ansible..
Занятие 12: Принципы организации кода для управления конфигурацией.
Ansible роли, управление настройками нескольких окружений и best practices.

ДЗ

Написание Ansible ролей для управления конфигурацией сервисов и настройками хостов.. Организация репозитория для работы с несколькими окружениями. Работа с Ansible Galaxy и комьюнити ролями.
Занятие 13: Локальная разработка Ansible ролей с Vagrant. Тестирование конфигурации.

ДЗ

Доработка имеющихся ролей локально с использование Vagrant.. Тестирование конфигурации при помощи Molecule и TestInfra.
Continuous Integration & Continuous Delivery с использованием Docker
Занятие 14: Технология контейнеризации. Введение в Docker.

ДЗ

Установка Docker, запуск контейнера на локальной машине, выполнение команд внутри контейнера, создание образа контейнера на основе запущенного..
Занятие 15: Docker контейнеры. Docker под капотом

ДЗ

Запуск VM с установленным Docker Engine при помощи Docker Machine. Написание Dockerfile и сборка образа с тестовым приложением. Сохранение образа на DockerHub..
Занятие 16: Docker образы. Микросервисы

ДЗ

Разбиение приложения на несколько микросервисов. Выбор базового образа. Подключение volume к контейнеру..
Занятие 17: Сетевое взаимодействие Docker контейнеров. Docker Compose. Тестирование образов

ДЗ

Практика работы с основными типами Docker сетей. Декларативное описание Docker инфраструктуры при помощи Docker Compose..
Занятие 18: Технология непрерывной поставки ПО

ДЗ

Чтение литературы.
Занятие 19: Устройство Gitlab CI. Построение процесса непрерывной интеграции

ДЗ

Gitlab CI. Построение процесса непрерывной интеграции.
Занятие 20: Непрерывная поставка с Gitlab CI

ДЗ

Расширяем существующий CI пайплайн. Работа с окружениями в Gitlab CI для построения непрерывной поставки функционала приложений..
Fast Feedback Loop (мониторинг и логирование)
Занятие 21: Введение в мониторинг. Модели и принципы работы систем мониторинга

ДЗ

Создание и запуск системы мониторинга Prometheus.. Мониторинг состояния микросервисов, сбор метрик при помощи prometheus exporters.
Занятие 22: Мониторинг приложения и инфраструктуры
Занятие 23: Визуализация и анализ результатов мониторинга. Знакомство с системами рассылки оповещений, Алертинг

ДЗ

Сбор и анализ метрик приложений, а также бизнес метрик. Создание уведомлений на основе собранных данных..
Занятие 24: Применение инструментов для обработки лог данных
Что такое логи и зачем они нужны? Системы централизованного хранения лог данных, требования к ним и примеры. Форматы и варианты логирования приложений

ДЗ

Логирование приложений.. Структурированные и неструктурированные логи. Организация централизованной системы логирования.
Занятие 25: Применение системы логирования в инфраструктуре на основе Docker.
Рассмотрение систем распределенной отладки данных (Distributed tracing)

ДЗ

Логирование приложений.. Структурированные и неструктурированные логи. Продолжение создания и работы централизованной системой логирования.
Контейнерная Оркестрация
Занятие 26: Контейнерная оркестрация.
Примеры известных и актуальных систем оркестрации (DC/OS, Aurora, Nomad, Docker Swarm)
Занятие 27: Детальное знакомство с Docker Swarm.
Работа сети в кластере, политики учета и деплоя приложений в Swarm mode.

ДЗ

Создание кластера на основе Docker Swarm. Конфигурация приложения для работы в Swarm mode.
Занятие 28: Введение в Kubernetes.
Основные концепции и архитектура системы.

ДЗ

Установка и настройка Kubernetes.. Работа над автоматизацией процесса развертывания системы.
Занятие 29: Основные модели безопасности и контроллеры в Kubernetes

ДЗ

Установка и настройка Google Kubernetes Engine, настройка локального профиля администратора для GKE. Работа с с контроллерами: StatefulSet, Deployment, DaemonSet.
Занятие 30: Ingress-контроллеры и сервисы в Kubernetes.
Работа с удаленными хранилищами данных.
Занятие 31: Интеграция Kubernetes в GitlabCI.
Использование формата упаковки приложений Charts в Kubernetes Helm.
Занятие 32: Масштабирование в Kubernetes

F.A.Q.: Наиболее часто задаваемые вопросы:

Могу ли я принять участие в розыгрыше, если я уже оплатил обучение?
В розыгрыше принимают участие все пользователи, успешно прошедшие вступительное тестирование. Если вы уже оплатили обучение и стали счастливым обладателем бесплатного места – мы вернем вам деньги
Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару. Если вы хотите принять участие в розыгрыше бесплатных мест – до начала мероприятия необходимо зарегистрироваться на сайте и успешно пройти вступительное тестирование
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы