День открытых дверей по курсу «DevOps практики и инструменты» 18.02.2020 в 20:00 | OTUS
Запланируйте обучение с выгодой в Otus!
-15% на все курсы до 20.11 Забрать скидку! →
Выбрать курс
Проходил 18 февраля 2020 года в 20:00

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

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

День Открытых Дверей — отличная возможность задать все вопросы по DevOps, узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения.

Также преподаватель расскажет о своём профессиональном опыте. Запишитесь на онлайн-трансляцию и задайте свой вопрос в прямом эфире!
Преподаватель
Александр Титов

Запись

О курсе

DevOps практики и инструменты
141 000 ₽ 119 850 ₽
5 месяцев
Начало 25 ноября

Курс от нашего партнера Express 42

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


Основная “фишка” программы - постоянный переход от абстрактного к конкретному:  сначала дается карта конкретных практик, далее далее подробно разбираются отдельные практики (SVC, IaC, Observability, etc.) с моментальным погружением в оответствующий инструментарий. 
Это дает эффект самостоятельного изучения, при …

Программа курса
Модуль 1
DevOps. Необходимость меняться
Модуль 2
Continuous Integration & Continuous Delivery с использованием Docker
Модуль 3
Контейнерная Оркестрация
Модуль 4
Управление инфраструктурой и конфигурацией
Модуль 5
Fast Feedback Loop (мониторинг и логирование)
Модуль 6
Проектная работа
DevOps. Необходимость меняться
Поговорим о том, что такое Devops, об основных практиках и методиках, применяемых DevOps-инженерами. Познакомимся с системами контроля версий, создадим рабочие репозитории и начнём работу с YandexCloud
Что такое DevOps. История развития
объяснить, как DevOps меняет жизнь и работу компаний: плюсы и минусы.
25 ноября, 20:00 — 21:30
Лектор: Станислав Шиков
DevOps как система. Основные практики и методики применения
различать и использовать основные практики и методики.
2 декабря, 20:00 — 21:30
Лектор: Игорь Захарин
Система контроля версий как основа разработки и поставки ПО. Знакомство с Git на примере GitLab // ДЗ
объяснить для чего используются системы контроля версий, основные принципы их работы;
познакомиться с Git на примере GitLab.
4 декабря, 20:00 — 21:30
Лектор: Иван Федоров
Домашние задания: 1
ДЗ
Git && GitLab. 1. Создать свой репозиторий в [GitLab Otus](http://otusteam.gitlab.yandexcloud.net) (приглашение по ссылке через администраторов).
2. Добавить в репозиторий код приложения, над которым будете работать в рамках курса (любым удобным способом).
Знакомство с облачной инфраструктурой и облачными сервисами // ДЗ
проанализировать основные практики безопасного доступа к ресурсам (SSH, Bastion Host, VPN).
9 декабря, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
Yandex Cloud. 1. Приобрести 3 виртуальных машины в YC. 1 виртуальная машина имеет белый внешний IP, 2 других - только локальные адреса
2. Настроить доступ к инфраструктуре через Bastion/SSH. [Инструкция](https://yandex.cloud/ru/docs/tutorials/routing/bastion?)
3. Предоставить доступ на просмотр, к вашей инфраструктуре для менторов, через политики IAM. Выслать приглашение на почту [email protected]


P.S. Промокоды для Яндекс Облака запрашиваются у КМ. Количество промокодов ограничено, не забывайте отключать ВМ, когда она не используется.
Основные сервисы Yandex Cloud // ДЗ
разобраться с основными способами управления ресурсами в Ya.Cloud.
11 декабря, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
GitLab && Yandex Cloud. 1. Используя Ya CLI, написать скрипт используя bash, для создания инфраструктуры, аналогичной созданной в прошлом занятии.
2. Дополнительное задание (не обязательное) - Запустить приложение на созданной инфраструктуре
QA-Сессия123
получить ответы на вопросы по ДЗ;
получить ответы на вопросы по приложениям.
13 декабря, 20:00 — 21:30
Лектор: Тимур Галанин
Continuous Integration & Continuous Delivery с использованием Docker
Рассмотрим, что такое контейнеризациям и её отличия от виртуализации. Рассмотрим технологию Docker, разберём принципы работы и научимся создавать свои контейнеры. Изучим методы и подходы continuous integration и continuous delivery
Технология контейнеризации. Введение в Docker // ДЗ
разобраться в контейнеризации;
сравнить контейнеризацию и виртуализацию, выявить основные отличия.
16 декабря, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
Docker. 1. Запустить на одном хосте два приложения [Redmine](https://hub.docker.com/_/redmine) -
a) Redmine с использованием Mysql
б) Redmine с использованием Postgresql
Приложения должны работать одновременно, не мешая друг другу.
2. Для проверки предоставить две команды docker run
Docker образы. Микросервисы
разобраться, как правильно писать Dockerfile;
объяснить, что такое микросервисы и как они взаимодействуют между собой.
18 декабря, 20:00 — 21:30
Лектор: Станислав Шиков
Docker контейнеры. Docker под капотом // ДЗ
разобраться во внутренних механизмах Docker;
использовать алгоритм сборки своего образа.
23 декабря, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
Docker && Volumes. 1. Завести репозиторий в Docker Hub.
2. Упаковать ваше микросервисное приложение в Dockerfile
3. Собрать образ из полученного Dockerfile
4. Запушить в репозиторий свои образы из предыдущего шага.
5. Настроить хранение данных вашего приложения/бд в volume.
6. Создать отдельную Docker-network для вашего стэка приложения.
7. Запустить ваше приложение в контейнерах в Yandex Cloud.
8. Предоставить доступ к ВМ, для проверки доступности образов.
9. Дополнительное задание (не обязательное) - Написать скрипт для бэкапирования volumes.



Альтернативный метод хранения образов - GitLab Docker Registry/Harbor.

**Проверка ДЗ производится следующий образом:**
- Все Dockerfile дожны быть в репозиториях соответсвующих приложений
- В ReadMe вашего репозитория должна быть секция с описанием запуска приложения, в виде готовых команд.
- Если был написан скрипт для бэкапирования volumes - он должен быть в репозитории. Также указать пути бэкапирования (что бэкапится и куда).
Сетевое взаимодействие Docker контейнеров. Docker Compose. Тестирование образов // ДЗ
работать с сетевой подсистемой Docker.
25 декабря, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
Docker-Compose. 1. Написать docker-compose для вашего приложения с учётом требований предыдущих ДЗ.
2. В ReadMe вашего репозитория должна быть секция с описанием запуска docker-compose, в виде готовых команд.
3. Запустить ваше приложение на Yandex Cloud через docker-compose.
Технология непрерывной поставки ПО
объяснить для чего нужна непрерывная поставка ПО;
объяснить как она интегрируется в рабочий процесс.
13 января, 20:00 — 21:30
Лектор: Игорь Захарин
Устройство Gitlab CI/CD. Построение процесса непрерывной интеграции // ДЗ
разобраться в устройстве Gitlab CI/CD;
написать пайплайны.
17 января, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
GitLab CI. Написать GitLab pipelines для сборки вашего приложения(CI) (учесть идемпотентность сборки).
Устройство Gitlab CI/CD. Построение процесса непрерывной интеграции // ДЗ
разобраться в устройстве Gitlab CI/CD;
писать пайплайны.
20 января, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
GitLab CD. Написать GitLab pipelines для деплоя вашего приложения(CD) в Ya Cloud (учесть идемпотентность сборки).
Безопасность контейнеров, интеграция проверок безопасности и пайплайны
разобраться, могут ли контейнеры быть безопасными.
22 января, 20:00 — 21:30
Лектор: Иван Федоров
Локальное окружение инженера. ChatOps и визуализация рабочих процессов. Командная работа с Git. Работа в GitLab // ДЗ
научиться пользоваться системой контроля версий;
объяснить строение подхода Chatops, его плюсы и минусы.
27 января, 20:00 — 21:30
Лектор: Григорий Ланцов
Домашние задания: 1
ДЗ
Git && ChatOps. 1. Инициализировать первый pipeline в GitLab CI/CD;
2. Настроить интеграцию с чатом в Telegram;
3. Настроить оповещение об успешном/не успешном завершении сборки pipeline в чат Telegram.


**Доп материал:**

[Уведомления о деплое Gitlab через Telegram-бота при помощи Yandex Cloud Functions](https://habr.com/ru/companies/ppr/articles/715770/)
QA-Сессия
получить ответы на вопросы по ДЗ;
получить ответы на вопросы по приложениям.
29 января, 20:00 — 21:30
Лектор: Тимур Галанин
Контейнерная Оркестрация
Разберемся, что такое контейнерная оркестрация и варианты её применения. Рассмотрим Kubernetes, как самый популярный инструмент оркестрации контейнеров, и разберём все его компоненты. Изучим возможности интеграции CI/CD и мониторинга в Kubernetes
Контейнерная оркестрация
объяснить, что такое оркестрация и для чего она нужна и какие проблемы решает.
3 февраля, 20:00 — 21:30
Лектор: Эрик Арайс
Введение в Kubernetes #1 // ДЗ
рассмотреть kubernetes;
разобраться с основными компонентами и концепциями системы.
5 февраля, 20:00 — 21:30
Лектор: Игорь Захарин
Домашние задания: 1
ДЗ
Kubernetes - first step. 1. В данном ДЗ необходимо развернуть свой кластер Kubernetes.
2. Допустимо два варианта - managed kubernetes на YandexCloud или установка компонентов на виртуальную машину самостоятельно. Результатом является Kubernetes c любым dashboard.
3. Предоставить доступ к кластеру через IAM в Yandex Cloud для менторов, предоставить доступ к dashboard, либо к kubeconfig.
Введение в Kubernetes #2 // ДЗ
рассмотреть kubernetes.
10 февраля, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
Kubernetes - second step. 1. Запустить своё приложение в кластере Kubernetes из прошлого ДЗ.
2. Все конфигурации в формате yaml должны быть в репозитории.
3. Предоставить доступ к кластеру через IAM в Yandex Cloud для менторов.
Введение в Kubernetes #3
рассмотреть DeckHouse на BareMetal как импортозамещение Kubernetes
12 февраля, 20:00 — 21:30
Лектор: Станислав Шиков
Основные модели безопасности и контроллеры в Kubernetes // ДЗ
разобраться в настройке безопасности kubernetes и его компонентов.
17 февраля, 20:00 — 21:30
Лектор: Алексей Елагин
Домашние задания: 1
ДЗ
Kubernetes - third step. 1. Настройка прав доступа через RBAC модель.
2. Сделать несколько kubeconf с разными ролями (read/write/admin), для доступа в кластер.
Хранение данных в Kubernetes, сетевые плагины в Kubernetes // ДЗ
рассмотреть удаленные хранилища данных для kubernetes, rook, ceph;
рассмотреть сетевые плагины Calico и Cilium.
19 февраля, 20:00 — 21:30
Лектор: Григорий Ланцов
Домашние задания: 1
ДЗ
Подключение хранилища данных на основе Rook. 1. Настроить Rook в собственном кластере Kubernetes
2. Создать несколько Persistent Volumes
3. Запустить приложение с использованием Persistent Volume
Интеграция Kubernetes в GitlabCI // ДЗ
использовать формата упаковки приложений Charts в Kubernetes Helm.
24 февраля, 20:00 — 21:30
Лектор: Игорь Захарин
Домашние задания: 1
ДЗ
Kubernetes && GitLab CI/CD. 1. Настроить интеграцию между GitLab CI/CD и кластером Kubernetes.
2. Создать Helm-chart для деплоя вашего приложения в кластер.
3. Настроить GitLab pipelines для деплоя вашего приложения в кластер через Helm-chart.
4. Интегрировать helm linter.
Kubernetes. Мониторинг и логирование // ДЗ
развертывать Prometheus в Kubernetes, Алерты и Локи;
настроить Prometheus и Grafana для сбора метрик кластера и приложений.
26 февраля, 20:00 — 21:30
Лектор: Игорь Захарин
Домашние задания: 1
ДЗ
Kubernetes && Monitoring. 1. Настроить интеграциию Kubernetes с Grafana/Loki/Prometheus для мониторинга и логирования приложения.
2. Предоставить ссылки и логин/пароль для доступа в дашборд.
QA-сессия
получить ответы на вопросы по ДЗ;
получить ответы на вопросы по приложениям.
3 марта, 20:00 — 21:30
Лектор: Тимур Галанин
Управление инфраструктурой и конфигурацией
Рассмотрим практики и методы управления инфраструктурой, конфигурацией и зависимостями. Разберём преимущества подхода IaC(infrastructure as code). Научимся работе с двумя популярными инструментами в IaC - Terraform и Ansible
Модели управления инфраструктурой. Знакомство с Terraform // ДЗ
понимать концепцию IaC, подходы Fry/Bake к созданию образов ВМ и принцип Immutable infrastructure;
познакомиться с Terraform.
12 марта, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Terraform #1. 1. Необходимо описать вашу текущую инфраструктуру для приложения в Yandex Cloud при помощи Terraform.
2. Все файлы конфигурации terraform должны быть в репозитории.
3. Добавить описание создаваемых компонентов в ReadMe репозитория.
4. Приложить tfstate.
Принципы организации инфраструктурного кода и работа над инфраструктурой в команде на примере Terraform // ДЗ
рассмотреть основные компоненты Terraform;
понять, как работать с ними и использовать их.
17 марта, 20:00 — 21:30
Лектор: Григорий Ланцов
Домашние задания: 1
ДЗ
Terraform #2. 1. Настроить несколько окружений создающихся через terraform (staging/production).
2. Все файлы конфигурации terraform должны быть в репозитории.
3. Добавить описание создаваемых компонентов в ReadMe репозитория. Указывать каким образом, была осуществлена привязка окружений к коду.
4. Приложить tfstate.
Terrafom в GitLab Pipelines // ДЗ
иметь представление об имеющихся модулях Terraform для создания инфраструктуры в Yandex Cloud;
написать свой pipelines для GitLab для создания инфраструктуры.
19 марта, 20:00 — 21:30
Лектор: Григорий Ланцов
Домашние задания: 1
ДЗ
Terraform #3. Настроить запуск конфигураций terraform через GitLab CI/CD.
Управление конфигурацией. Знакомство с Ansible // ДЗ
разобраться с основными DevOps инструментами управления конфигурацией: Chef, Ansible, Puppet, Salt;
познакомиться с Ansible.
24 марта, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Ansible #1. 1. Написать Ansible-playbook для настройки окружения в ВМ Yandex Cloud(установка пакетов, зависимостей и т.д.).
2. Все конфигурации должны быть в репозитории с приложением.
3. Логи запуска Ansible playbook.
Продолжение знакомства с Ansible: templates, handlers, dynamic inventory, vault, tags // ДЗ
разобраться с основными компонентами Ansible.
26 марта, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Ansible #2. 1. Добавить возможность деплоя различных компонентов на разные окружение (staging/production).
2. Все конфигурации должны быть в репозитории с приложением.
Ansible роли, управление настройками нескольких окружений и best practices // ДЗ
объяснить для чего используются роли;
использовать подходы для написания ролей.
28 марта, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Ansible #3. Применить Ansible Galaxy в вашем проекте.
Безопасность инфраструктуры
разобраться в том как должна быть выстроена безопасная инфраструктура.
2 апреля, 20:00 — 21:30
Лектор: Дмитрий Золотов
QA-сессия
получить ответы на вопросы по ДЗ;
получить ответы на вопросы по приложениям.
7 апреля, 20:00 — 21:30
Лектор: Тимур Галанин
Fast Feedback Loop (мониторинг и логирование)
Разберемся в подходах к мониторингу и логированию. Изучим популярные инструменты в этой сфере. Получим практические навыки сбора и хранения данный мониторинга и логов
Введение в мониторинг. Модели и принципы работы систем мониторинга
разобраться, как устроен мониторинг;
проанализировать подходы для мониторинга;
объяснить каким аспектам мониторинга стоит обращать особое внимание.
9 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Мониторинг приложения и инфраструктуры // ДЗ
мониторить инфраструктуру и приложения;
визуализировать полученные данные.
14 апреля, 20:00 — 21:30
Лектор: Дмитрий Золотов
Домашние задания: 1
ДЗ
Grafana + Prometheus. 1. Настроить свою реализацию Grafana + Prometheus на основе лекционного материала, с помощью terraform и ansible.
2. Интегрировать деплой exporters для метрик в GitLab CI/CD.
3. Указать ссылки на Grafana в ReadME.
Применение инструментов для обработки лог данных // ДЗ
объяснить, что такое логи и зачем они нужны;
рассмотреть системы логирования, форматы и варианты логирования.
16 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Grafana + Loki. 1. Настроить свою реализацию Grafana + Loki на основе лекционного материала.
2. Интегрировать деплой exporters для логов в GitLab CI/CD.
3. Указать ссылки на Grafana в ReadME.
Применение системы логирования в инфраструктуре на основе Docker // ДЗ
рассмотреть процедуру сбора логов с docker контейнеров;
объяснить что такое Distributed tracing.
21 апреля, 20:00 — 21:30
Лектор: Иван Федоров
Домашние задания: 1
ДЗ
Логирование приложений. 1. Настроить свою реализацию сбора логов с контейнерных приложений.
2. (*)Настроить обработку логов/обогащение, фильтрацию с указанием что/где/куда добавлено/обогащено в ReadMe.
3. Добавить трейсинг.
4. (*)Настроить обработку трейсинга с указанием всех особенностей в ReadMe.
QA-сессия
получить ответы на вопросы по ДЗ;
получить ответы на вопросы по приложениям.
23 апреля, 20:00 — 21:30
Лектор: Тимур Галанин
Проектная работа
Проектная работа заключается в полноценном production grade развертывании приложения с учетом изученных практик и инструментов.

Мы предлагаем известные приложения на выбор, которое нужно развернуть, но лучше будет, если вы возьмете свое с работы или pet project. В проектной работе нет однозначно хорошего пути, это исследовательский проект, где преподаватель будет оценивать целесообразность использования тех или иных решений и давать советы по улучшению проекта
Выбор темы и организация проектной работы // Проектная работа
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом.
28 апреля, 20:00 — 21:30
Лектор: Станислав Шиков
Домашние задания: 1
ДЗ
Проектная работа. Все требования описаны в методическом указании.

Требования



- Автоматизированные процессы создания и управления платформой
- Ресурсы Ya.cloud
- Инфраструктура для CI/CD
- Инфраструктура для сбора обратной связи
- Использование практики IaC (Infrastructure as Code) для управления конфигурацией - и инфраструктурой
- Настроен процесс CI/CD
- Все, что имеет отношение к проекту хранится в Git
- Настроен процесс сбора обратной связи
- Мониторинг (сбор метрик, алертинг, визуализация)
- Логирование (опционально)
- Трейсинг (опционально)
- ChatOps (опционально)
- Документация
- README по работе с репозиторием
- Описание приложения и его архитектуры
- How to start?
- ScreenCast
- CHANGELOG с описанием выполненной работы
- Если работа в группе, то пункт включает автора изменений
Защита проектных работ
защитить проект и получить рекомендации экспертов.
30 апреля, 20:00 — 21:30
Лектор: Станислав Шиков

Преподаватель

Александр Титов
Управляющий партнёр Express42
Управляющий партнер в компании Экспресс 42, которая выращивает DevOps в технологических компаниях.

В 2009-2010 годах был техническим директором первого облачного хостинга в России Скалакси.

В 2010-2012 прошёл увлекательный путь поглощений вместе с компанией Qik — путь из эксплуатации быстрорастущего стартапа к эксплуатации в крупной международной компании Microsoft.

Организатор сообщества DevOps Moscow, конференции DevOpsDays Moscow, DevOpsConf.

Окончил Московский институт электронной техники в 2008 году.

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

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