Курсы DevOps
Кому будет полезен этот курс
- Сисадминам и специалистам по эксплуатации
- Получите структурированные знания. Изучите скриптовые языки и языки разметки и разберётесь в построении процесса DevOps.
- Начинающим DevOps-инженерам
- Научитесь правильно и эффективно выстраивать процесс DevOps в рамках своих рабочих задач и отработаете полученные знания.
- QA Automation Engineer
- можете привнести в работу лучшие практики DevOps и увеличить свою стоимость как специалиста. Или претендовать на работу в DevOps с более высокой зарплатой.
- Программистам
- Получите углубленные и структурированные знания, основанные на лучших практиках DevOps. Совершите плавный переход в новую профессию.
Программа курса
DevOps и инфраструктурная инженерия
В этом модуле вы овладеете базовой терминологией, используемой в процессе создания программного обеспечения. Познакомитесь с популярными методологиями разработки и поймёте их различия. Узнаете, зачем нужны инфраструктурные архитекторы и чем они занимаются.
- Знакомство с основной терминологией
- Различие DevOps и DevSecOps
- Цели методологии DevOps
- Общее представление об инфраструктуре современной разработки
- Обзор используемых инструментов
- Циклы и этапы разработки ПО
- Гибкие методологии разработки: Agile, Scrum, Kanban
Системы управления версиями
В этому модуле вы узнаете, почему и как возникли системы управления версиями исходного кода. Получите практические навыки глубокой работы с Git репозиториями. Научитесь работать одновременно с несколькими репозиториями, синхронизировать их и создавать резервные копии. Познакомитесь со способами интеграции репозиториев со внешними системами. Узнаете, как контролировать процесс разработки ещё на уровне отправки кода в репозиторий.
- Обзор систем управления версиями
- Подробное знакомство с Git
- Установка Gitlab на собственный сервер
Основы системного администрирования
Разберётесь с Linux, Unix и другими видами ОС. Научитесь работать на продвинутом уровне с локальной сетью и интернет (MAC, Ethernet, TCP/IP, DNS). Попробуете на практике набор инструментов для отладки операционной системы и приложений.
- Обзор архитектуры операционных систем на примере Linux
- Основы сетевой архитектуры
- Полезные инструменты
- Авторизация, аутентификация и безопасность пользователей
Скриптовые языки и языки разметки: Python, Bash, YAML, JSON
В этом модуле вы напишете ряд Bash-скриптов, которые можно будет использовать для решения типовых задач. Научитесь автоматизировать работу с помощью языка программирования Python. Научитесь создавать документы в формате YAML, JSON и конвертировать эти форматы между собой.
- Основы работы с языками программирования в DevOps: Python, Bash, YAML, JSON
- Синтаксис разметки YAML
- Синтаксис разметки JSON
- Командная оболочка Bash: практические навыки
- Использование Python для решения типовых задач в DevOps
Виртуализация
Узнаете различия видов виртуализации и контейнеризации. Научитесь управлять виртуальными машинами с помощью libvirtd. Напишете несколько Dockerfile, которые можно будет использовать в дальнейших проектах как примеры. Научитесь запускать несколько контейнеров одновременно и объединять их в виртуальную сеть.
- Изучение задач, которые решает виртуализация
- Технологии виртуализации
- Системы управления виртуализацией
- Контейнеризация на примере Docker и ContainerD
- Практические навыки работы с Docker
- Написание Dockerfile и использование Docker Compose, работа с Docker Swarm
Администрирование баз данных
Узнаете, чем различаются SQL и NoSQL базы данных, и научитесь выбирать нужную из всего многообразия существующих решений. Познакомитесь с решениями для полнотекстового поиска. Овладеете навыками установки и настройки кеш-систем. Научитесь устанавливать и настраивать базы данных для нужд разработки. Познакомитесь с технологиями создания отказоустойчивых кластеров баз данных и кеш систем при помощи кластеризации и шардинга. Научитесь писать
- Типы и структура СУБД
- Администрирование PostgreSQL
- Администрирование MySQL
- Знакомство с NoSQL-базами данных на примере MongoDB
- Кеш-системы Redis и Memcached
- Elasticsearch
- Кластеризация, шардинг и отказоустойчивость
Облачная инфраструктура. Terraform
Научитесь описывать конфигурацию любых сервисов, имеющих API, в виде кода при помощи Terraform. Научитесь выстраивать командные процессы работы над инфраструктурой. Овладеете навыками написания скриптов на Golang. Научитесь писать собственные расширения для Terraform.
- Любая конфигурация как код
- Обзор облачных провайдеров: AWS, GCP, Azure
- Обзор существующих провайдеров Terraform
- Синтаксис и принцип работы Terraform
- Введение в Golang
- Написание собственных провайдеров для Terraform
Система управления конфигурациями
Научитесь описывать инфраструктуру в виде кода. Сможете настроить удаленный сервер и восстановить его конфигурацию в случае необходимости. Узнаете набор уже готовых шаблонов для решения типовых задач конфигурирования серверов.
- Обзор систем управления конфигурациями
- Концепция «инфраструктура как код»
- Знакомство с Ansible
- Практика использования Ansible
Непрерывная разработка и интеграция
Подробно разберём все этапы жизни ПО. Вы узнаете, как организовать взаимодействие между разработчиками, тестировщиками и системными администраторами. Получите практические навыки работы с Jenkins, TeamCity и Gitlab CI.
- Жизненный цикл разработки ПО
- Процессы CI/CD: integration, delivery, deployment
- Инфраструктура тестирования, сборки и доставки ПО
- Практическое знакомство с Jenkins, TeamCity и Gitlab CI
Мониторинг и логи
Подробно разберётесь, зачем нужен мониторинг и какие параметры нужно контролировать. Узнаете, как организовать систему оповещения о различных событиях, чтобы узнавать о сбоях первым, а не от заказчика. Научитесь организовывать логирование всех действий приложений и анализировать эти логи. Овладеете навыками работы с elasticsearch, Logstash, Kibana и Graylog. Научитесь настраивать связку Prometehus + Grafana + Alertmanager. Познакомитесь с Zabbix для мониторинга физических и виртуальных машин.
- Зачем и что нужно мониторить
- Системы для мониторинга
- Системы оповещения о проблемах
- ELK: Elasticsearch, Logstash и Kibana
- Graylog
- Zabbix
- Prometehus, Grafana, Alertmanager
Микросервисная архитектура
Узнаете, в каких случаях выгодно использовать микросервисы вместо монолитного приложения. Научитесь проектировать отказоустойчивые системы. Познакомитесь с популярными веб-серверами и балансировщиками нагрузок.
- Преимущества и недостатки микросервисной архитектуры
- Отказоустойчивость систем
- Nginx
- HAProxy
- Envoy
- Кластеризация
Администрирование кластера Kubernetes
Научитесь разворачивать кластер Kubernetes на собственных мощностях. Поймёте, из каких компонентов состоит control plane и на что нужно обращать внимание при администрировании собственного кластера Кубернетес. Узнаете, как с помощью навыков автоматизированного управления конфигурациями добавлять и удалять узлы, менять конфигурацию имеющихся нод.
- Компоненты Kubernetes
- Развёртывание кластера на собственных серверах, Kubespray
- Сетевые решения CNI
- Команды для работы с Kubernetes
Конфигурация Kubernetes
С помощью полученных теоретических знаний развернём stateless-приложение. Усложним, добавив stateful зависимости. Воспользуемся готовыми манифестами для установки приложений в кластер.
- Контейнеры, поды, deployment, statefulset, services
- Разделы, монтирование
- Работа c Kubectl
- Обзор инструментов для упрощения написания конфигурационных файлов
- Язык шаблонов Jsonnet
- Поддержка нескольких окружений на примере Qbec
Сетевая безопасность в Kubernetes
Разберётесь, как хранить и использовать пароли внутри кластера и передавать конкретным приложениям. Узнаете, как управлять уровнем доступов контейнеров и подов. Научитесь контролировать взаимодействия подов между собой.
- Создание и использование секретов
- Синхронизация секретов с внешними сервисами
- Карты конфигураций
- Сервис-аккаунты
- SecurityContext, NetworkPolicies
Организация проекта при помощи облачных провайдеров
Освоите общие принципы создания проектов в облачных сервисах. Познакомитесь с основными инструментами, которые предоставляют облачные провайдеры.
- Виртуальное приватное облако
- Организация сети
- Вычислительные мощности
- Балансировщики нагрузки
- Контексты безопасности
- Менеджеры секретов
- Кластеры
- Ресурсы под управлением облачным провайдером
Карьера в DevOps
Научитесь формулировать карьерные цели, создавать резюме, собирать портфолио и готовиться к собеседованиям. Создадите пошаговый план поиска работы, запишете видеопрезентацию и пройдёте карьерную консультацию с HR-экспертом.
- Пошаговый план поиска работы
- Анализ рынка труда
- Резюме DevOps-инженера и сопроводительное письмо
- Собеседование: как подготовиться и пройти
- Статистика и измерение эффективности поиска работы
- Индивидуальная карьерная консультация
Дипломный практикум в Cloud
Сначала вы поэтапно изучите построение процессов, используемых в DevOps, в теории и на практических задачах, а затем выполните дипломный практикум в облачном сервисе Yandex Cloud. Это позволит вам интегрировать накопленные знания, самостоятельно построить современный процесс DevOps и получить в портфолио серьезный проект, использующий систему непрерывной разработки и интеграции в самостоятельно развёрнутый Kubernetes кластер.
Вы научитесь создавать базовую инфраструктуру с помощью Terraform, деплоить собственный Kubernetes кластер с помощью Ansible, настраивать Jenkins для деплоя сервисов в Kubernetes.
- Создаём базовую инфраструктуру при помощи Terraform
- Деплоим собственный Kubernetes кластер при помощи Ansible
- Автоматически устанавливаем Jenkins
- Настраиваем Jenkins для деплоя сервисов в Kubernetes
Ключевые навыки
- Работа с Git, одновременная работа с несколькими репозиториями
- Администрирование Linux, работа с инструментами отладки операционной системы и приложений
- Автоматизация процессов и решение типовых задач с помощью Python и Bash
- Администрирование реляционных и нереляционных баз данных, работа с PostgreSQL, MongoDB, Memcached и Redis
- Процессы CI/CD: тестирование, сборка и доставка в разные окружения, работа с Jenkins, Teamcity и Gitlab CI
- Мониторинг и логирование с помощью ELK, Graylog, Zabbix, Prometehus, Grafana и Alertmanager
- Работа с системой управления конфигурацией Ansible, настройка удалённых серверов и восстановление их конфигурации
- Выстраивание командных процессов работы над облачной инфраструктурой, описание конфигурации сервисов с помощью Terraform и создание для него собственных расширений
- Знание Kubernetes на продвинутом уровне — развёртка кластера Kubernetes, работа с конфигурацией и сетевой безопасностью
- Знание различных видов виртуализации и контейнеризации, работа с Docker и Docker Compose
- Организация проектов при помощи облачных провайдеров Amazon Web Services, Yandex Cloud
Кому подойдёт курс
- Новичкам в IT
- Освоите новую высокооплачиваемую профессию и сможете кардинально изменить свою жизнь
- Начинающим сисадминам
- Заполните пробелы в знаниях, повысите свою квалификацию и сможете получить повышение на работе
Чему научитесь
- Научитесь администрировать операционную систему Linux
- Сможете работать с сетевыми протоколами, инструментами отладки операционной системы и приложений
- Изучите лучшие практики DevOps-инженеров
- Научитесь автоматизировать процессы, работать с микросервисной архитектурой и облачными сервисами
- Сможете выстраивать собственный процесс DevOps
- Освоите все необходимые навыки, чтобы претендовать на младшие позиции в DevOps или смежных профессиях
Программа курса
DevOps-инженер: введение в профессию
Овладеете базовой терминологией, которую используют в процессе создания программного обеспечения. Познакомитесь с популярными методологиями разработки и поймёте их отличия. Узнаете, зачем нужны инфраструктурные архитекторы и чем они занимаются.
- Чем занимается DevOps-инженер
- Знакомство с основной терминологией
- Цели методологии DevOps
- Общее представление об инфраструктуре современной разработки
Операционная система Linux
Узнаете, какие бывают типы операционных систем, какие функции они обеспечивают. Поймёте, как устроено взаимодействие внутри ОС, как приложения обращаются к системе. Детально разберёте ОС Linux и принципы работы системного администратора с ней. Научитесь управлять процессами, потоками, сигналами, хранением данных.
- Принципы работы современных компьютеров: процессоры, память, накопители
- Средства автоматизации и основные функции систем
- Типы и назначение операционных систем. ОС Linux
- Процессы, управление процессами
- Память. Управление памятью
- Шедулер
- Дисковые системы
- Файловые системы
- Ядро операционной системы
- Загрузка ОС
- Типы дистрибутивов
- Управление пакетами
- Инициализация системы. Systemd, init-v
- Управление пользователями
- Производительность системы
Английский язык для начинающих разработчиков
В этом модуле вас ждут 10 видеолекций, которые помогут вам начать разговаривать на английском языке как настоящий разработчик.
- Лексика, без которой не обойтись
- Как вести переписку на английском
- Чтение документации и анализ требований
- Программирование
- Тестирование ПО
- Стрессовые ситуации
- Устранение неполадок
- Работа и роли в команде
- Поддерживаем любую беседу на английском
- Собрания, презентации на высшем уровне
Сеть, сетевые протоколы и Bash
Изучите основы работы компьютерных сетей, команды для конфигурации сетевых устройств и служб, инструменты настройки и диагностики сетей, а также самые распространённые сетевые приложения. Рассмотрите модель OSI, работу сетей TCP/IP на втором, третьем и четвёртом уровнях. Узнаете, как работать с VPN, Firewall, NAT.
- Модель OSI/ISO. Обзор сетевых протоколов
- L2-сеть
- L3-сеть
- L4-сеть
- NAT
- VPN
- Firewall
- Высокоуровневые сетевые протоколы
- Траблшутинг
- Конфигурация сетевых сервисов прикладного уровня: DHCP, DNS, HTTP/HTTPS, SMTP
- Протокол IPv6
- Базовое программирование на Bash. Коды возврата, функции
- Regexp и их использование для синтаксического анализа
- Полезные утилиты: sed, awk, cut, grep
- Разбор скриптов и написание своих скриптов. Linter, Shell check
Виртуализация, автоматизация и CI/CD
Узнаете, что такое облака и зачем они нужны. Изучите основы виртуализации. Познакомитесь с системой оркестрации Kubernetes и научитесь с её помощью разворачивать приложения. Сможете поднять облачный сервер с помощью Terraform и сконфигурировать его с помощью Ansible. Узнаете, что такое DevOps, и познакомитесь с основными задачами и инструментами DevOps. Получите практические навыки работы с системой контроля версий Git.
- Виртуализация и облачные решения. AWS, GCP, Yandex.Cloud, Openstack
- Типы виртуализаций KVM, QEMU
- Docker
- Kubernetes
- Ansible
- Terraform
- Подъём инфраструктуры вCloud
- Git
- Что такое DevOps. CI/CD
- GitLab
Мониторинг и отказоустойчивость
Узнаете, как обеспечивается отказоустойчивая работа приложений. Изучите основные иструменты кластеризации и балансировки. Изучите принципы и инструменты резервного копирования операционной системы, баз данных и приложений. Узнаете, что такое disaster recovery и как его можно реализовать.
- Демон Keepalived для реализации VRRP
- Кластеризация
- Pacemaker
- Резервное копирование. Bacula
- Балансировка нагрузки. HAProxy/Nginx
- Disaster recovery
- Отказоустойчивость в облаке (на примере Yandex.Cloud)
Системы управления версиями
Узнаете, почему и как возникли системы управления версиями исходного кода. Получите практические навыки глубокой работы с Git-репозиториями. Научитесь работать одновременно с несколькими репозиториями, синхронизировать их и создавать резервные копии.
Познакомитесь со способами интеграции репозиториев со внешними системами. Узнаете, как контролировать процесс разработки ещё на уровне отправки кода в репозиторий.
- Системы контроля версий
- Основы Git
- Ветвления в Git. Хранилища репозиториев
- Инструменты Git
Системы хранения и передачи данных
Узнаете, чем различаются базы данных SQL и NoSQL, и научитесь выбирать нужную из всего многообразия существующих решений. Разберётесь, что такое кеш, зачем он нужен и как его использовать. Научитесь складывать и смотреть логи приложений в Elasticsearch, а также настраивать и использовать менеджер очередей RabbitMQ.
- Базы данных и их типы
- Кеширование Redis/memcached
- ELK
- Очереди RabbitMQ
Реляционные базы данных и инфобезопасность
Узнаете принципы работы реляционных баз данных. Научитесь писать SQL-запросы к базе данных. Научитесь работать с индексами и оптимизировать выполнение запросов. Освоите репликацию и масштабирование баз данных, а также научитесь делать резервное копирование.
- Базы данных
- Работа с данными (DDL/DML)
- SQL
- Индексы
- Репликация и масштабирование
- Резервное копирование
- База данных в облаке (на примере Yandex.Cloud)
Виртуализация в DevOps
Узнаете различия видов виртуализации и контейнеризации. Научитесь управлять виртуальными машинами с помощью libvirtd. Напишете несколько Dockerfile, которые можно будет использовать в дальнейших проектах как примеры. Научитесь запускать несколько контейнеров одновременно и объединять их в виртуальную сеть.
- Основы виртуализации
- Системы управления виртуализацией
- Контейнеризация на примере Docker
- Практические навыки работы с Docker
Администрирование баз данных
Познакомитесь с решениями для полнотекстового поиска. Овладеете навыками установки и настройки кеш-систем. Научитесь устанавливать и настраивать базы данных для нужд разработки. Познакомитесь с технологиями создания отказоустойчивых кластеров баз данных и кеш систем при помощи кластеризации и шардинга. Научитесь писать простые SQL-запросы и запросы для работы с NoSQL-базами данных.
- Типы и структура системы управления базой данных (СУБД)
- Запросы, индексы и эксплейны
- MySQL
- PostgreSQL
- Elasticsearch
- Troubleshooting
Облачная инфраструктура. Terraform
Научитесь описывать конфигурацию любых сервисов, имеющих API, в виде кода при помощи Terraform. Поймёте, как выстраивать командные процессы работы над инфраструктурой. Овладеете навыками написания скриптов на Golang. Научитесь писать собственные расширения для Terraform.
- Конфигурация как код
- Облачные провайдеры и провайдеры Terraform
- Синтаксис и принцип работы Terraform
- Средства командной работы над инфраструктурой
- Введение в Golang
- Написание собственных провайдеров для Terraform
Система управления конфигурациями
Научитесь описывать инфраструктуру в виде кода. Сможете настроить удалённый сервер и восстановить его конфигурацию в случае необходимости. Получите набор готовых шаблонов для решения типовых задач конфигурирования серверов.
- Введение в Ansible
- Работа с Playbook
- Работа с Roles
- Создание собственных Modules
Непрерывная разработка и интеграция
Подробно разберём все этапы жизни ПО. Вы узнаете, как организовать взаимодействие между разработчиками, тестировщиками и системными администраторами. Получите практические навыки работы с Jenkins, TeamCity и Gitlab CI.
- Жизненный цикл ПО
- CI\CD
- Практическое знакомство с Jenkins
- TeamСity
- Gitlab
Мониторинг и логи
Подробно разберётесь, зачем нужен мониторинг и какие параметры нужно контролировать. Узнаете, как организовать систему оповещения о различных событиях, чтобы узнавать о сбоях первым, а не от заказчика.
Научитесь организовывать логирование всех действий приложений и анализировать эти логи. Овладеете навыками работы с elasticsearch, Logstash, Kibana и Graylog. Научитесь настраивать связку Prometehus + Grafana + Alertmanager. Познакомитесь с Zabbix для мониторинга физических и виртуальных машин.
- Зачем и что нужно мониторить
- Системы для мониторинга
- Grafana
- ELK
- Sentry
- Инцидент-менеджмент
Микросервисная архитектура
Узнаете, в каких случаях выгодно использовать микросервисы вместо монолитного приложения. Научитесь проектировать отказоустойчивые системы. Познакомитесь с популярными веб-серверами и балансировщиками нагрузок.
- Введение в микросервисы
- Принципы работы микросервисов
- Подходы к проектированию
- Масштабирование
Администрирование кластера Kubernetes
Научитесь разворачивать кластер Kubernetes на собственных мощностях. Поймёте, из каких компонентов состоит control plane и на что нужно обращать внимание при администрировании собственного кластера Kubernetes. Узнаете, как с помощью навыков автоматизированного управления конфигурациями добавлять и удалять узлы, менять конфигурацию имеющихся нод.
- Компоненты Kubernetes
- Команды для работы с Kubernetes
- Развёртывание кластера на собственных серверах
- Сетевые решения CNI
Конфигурация Kubernetes
С помощью полученных теоретических знаний развернёте stateless-приложение. Добавите обавив stateful-зависимости. Воспользуетесь готовыми манифестами для установки приложений в кластер.
- Контейнеры, поды, deployment, statefulset, services, endpoints
- Разделы и монтирование
- Работа c Kubectl
- Инструменты для упрощения написания конфигурационных файлов. Helm и Jsonnet
- Поддержка нескольких окружений на примере Qbec
Сетевая безопасность в Kubernetes
Разберётесь, как хранить и использовать пароли внутри кластера и передавать конкретным приложениям. Узнаете, как управлять уровнем доступов контейнеров и подов. Научитесь контролировать взаимодействия подов между собой.
- Создание и использование секретов
- Синхронизация секретов с внешними сервисами. Vault
- Карты конфигураций
- Сервис-аккаунты
- SecurityContext, NetworkPolicies
Организация проекта при помощи облачных провайдеров
Освоите общие принципы создания проектов в облачных сервисах. Познакомитесь с основными инструментами, которые предоставляют облачные провайдеры.
- Организация сети
- Вычислительные мощности. Балансировщики нагрузки
- Контексты безопасности. Менеджеры секретов
- Кластеры. Ресурсы под управлением облачным провайдером
Итоговый проект
Самостоятельно выстроите процесс DevOps в облачном сервисе Yandex.Cloud. Закрепите накопленные знания и создадите свой первый серьёзный проект для портфолио.
- Создадите базовую инфраструктуру с помощью Terraform
- Задеплоите собственный Kubernetes-кластер с помощью Ansible
- Настроите Jenkins для деплоя сервисов в Kubernetes
Карьера в DevOps
Научитесь формулировать карьерные цели, создавать резюме, собирать портфолио и готовиться к собеседованиям. Создадите пошаговый план поиска работы, запишете видеопрезентацию и пройдёте карьерную консультацию с HR-экспертом.
- Пошаговый план поиска работы
- Анализ рынка труда
- Резюме, портфолио DevOps-инженера и сопроводительное письмо
- Собеседование: как подготовиться и пройти
- Статистика и измерение эффективности поиска работы
- Индивидуальная карьерная консультация
Ключевые навыки
- Работа с сетью, знание HTTP/HTTPS, DNS, DHCP, IPv4/IPv6, VPN, NAT, Firewall
- Администрирование Linux. Управление процессами, потоками, сигналами, хранением данных на дисках, пакетами, сервисами и многопользовательской системой
- Знание лучших практик современной информационной безопасности
- Работа с системой управления конфигурацией Ansible
- Описание конфигурации сервисов с помощью Terraform и создание собственных расширений
- Создание отказоустойчивой инфраструктуры. Работа с Pacemaker, Bacula, HAProxy/Nginx и Disaster Recovery
- Работа с Kubernetes на продвинутом уровне. Разворачивание кластера Kubernetes, настройка конфигурации и сетевой безопасности.
- Виртуализация и контейнеризация. Работа с Dockerи Docker Compose
- CI/CD: автоматическое и ручное тестирование, сборка и доставка в разные окружения. Работа с Jenkins, Teamcity и Gitlab CI
- Администрирование реляционных и нереляционных баз данных. Работа сPostgreSQL, MongoDB, Memcached и Redis
- Git: работа с несколькими репозиториями, синхронизация, создание резервных копий, интеграция репозиториев с внешними системами
- Мониторинг и логирование с помощью ELK, Graylog, Zabbix, Prometehus, Grafana и Alertmanager.
- Организация проектов и выстраивание процессов при помощи облачных сервисов
Кому подойдет курс
- Новичкам
- Даже если вы никогда не работали в IT, вы получите востребованную и высокооплачиваемую специальность.
- Начинающим DevOps-инженерам
- У вас будет всё для ускоренного карьерного роста: комплексные знания и опыт работы с продвинутыми инструментами, методологиями и стандартами.
- Практикующим IT-специалистам
- Подскажем, как перейти в востребованное направление и зарабатывать больше.
Программа курса
Первая четверть
Установка и настройка виртуальной машины с Linux
В первой четверти студенты освоят основы операционной системы Linux, принципы построения компьютерных сетей и изучат основные сетевые протоколы.
Проект
К вам обратился клиент с просьбой восстановить работу Веб сервера. Ваша задача полностью восстановить работу виртуальной машины. Известно следующее, что на виртуальной машине есть сервис с названием web, который является http сервером.
Курсы
- Встреча декана со студентами
- Компьютерные сети
- Введение в UNIX-системы
- Основные сервисы на Linux для предприятия
- Анализ, оптимизация и аварийные работы в Linux
Вторая четверть
Программирование и автоматизация
Во второй четверти студенты научатся программировать на Python, а также познакомятся с системой управления конфигурациями Ansible.
Проект
На внутреннем тестовом стенде развернут сайт. Планируем выйти в продуктив со своим продуктом, и для этого нам нужна боевая инфраструктура с использованием подхода инфраструктура как ко (IaC, Аnsible).
Целевые метрики проекта:
— при одновременном отключении любого сервера баз данных и любого из серверов приложений, веб-сервис продолжает работать
— база данных и файлы приложения могут быть восстановлены из резервной копии по состоянию на любой из прошедших трех дней
— производительность инфраструктуры измеряется при помощи ApacheBenchmark, и определяется как максимальное количество одновременных соединений к сервису со стороны пользователей до момента, пока исследуемый URL не начинает отвечать более 2с, или сервис отдает 5xx
— все работы по настройке серверов проекта должны выполняться кодом Ansible.
Курсы
- Основы языка Python
- Базы данных. Основы
- Системы управления конфигурациями
Третья четверть
Облачные технологии и микросервисная архитектура
В третьей четверти студенты освоят облачные технологии, развернут контейнеризованные приложения в Kubernetes и Docker, а также познакомятся с системами виртуализации.
Второй курс модуля «Основы облачных технологий» разработан совместно со специалистами облачной платформы VK Cloud Solutions (Mail.ru Cloud Solutions), на нём вы получите практический опыт использования публичной облачной платформы и S3-хранилищ от ведущих экспертов рынка.
Проект
Деплой тестового приложения в кластере Kubernete.
Настроить интеграцию системы GitLab CI/CD c созданным ранее в облаке VK Cloud кластером Kubernetes. Настроить несколько окружений для развертывания тестового приложения - dev/stage/prod. Деплой тестового приложения во все окружения. В dev/stage деплоим автоматически. В prod требуется запустить деплой вручную. Проверяем, что приложение развернуто успешно. В случае неудачного деплоя необходимо автоматически выполнить откат к предыдущей версии.
Курсы
- Системы виртуализации
- Основы облачных технологий
- Микросервисная архитектура и контейнеризация
Четвёртая четверть
DevOps-практики
В четвертой четверти студенты научатся налаживать процессы непрерывной интеграции и доставки кода, рассмотрят модель «Инфраструктура как код», изучат и применят на практике современные методики разработки ПО. Также попрактикуются настраивать систему мониторинга на примере Prometheus + Grafana и настроят отправку оповещений о событиях.
Проект
Развернуть с нуля инфраструктуру и наше приложение в облаке с помощь GitLab CI/CD, использую концепцию инфраструктура как код (IaC, Terraform).
Задачи проекта:
— Поднять 3 окружения в облаке, включая kubernetes(k8s) и базы данные(DBaaS) используя terraform
— Настроить pipeline для нашего приложения, включая тестирования и канареечный деплой (Canary Deployment)
— Настроим логирование, трассировку и мониторинг приложения.
Курсы
- Процессы CI/CD
- Мониторинг распределённых приложений
- Методологии Agile, Scrum, DevOps
Курсы вне четверти
Проект
Кейс от компании партнера. Команда получает техническое задание и организовывает свою работу по выполнению проекта. Ресурсы предоставляет GeekBrains. Публичная защита командного проекта перед заказчиком.
- Базовый курс
- Операционные системы
- Подготовка к собеседованию DevOps
- Windows Server, PowerShell, WMI
- Итоговый командный проект
Дополнительные курсы от компаний-партнёров
В разработке и проведении обучения участвуют ведущие технологические компании России. Вы узнаете больше о технологиях и инструментах, используемых реальным бизнесом для создания IT-продуктов.
- Системы сбора логов
- Основы инфраструктуры открытых ключей (PKI)
- Управление IT-услугами при помощи ITIL
Ключевые навыки
— Знание принципов и философии DevOps
— Организация процессов непрерывной интеграции и доставки кода
— Основы администрирования Windows Server и автоматизации с помощью PowerShell
— Работа с облачными сервисами
— Работа с компьютерными сетями, знание Сisco Packet Tracer, Exterior Gateway Protocol (EGP), BGP. Interior Gateway Protocol (IGP), RIPv2
— Обеспечение стабильности и безопасности проводных и беспроводных сетей
— Практика работы с современными методиками разработки ПО
Что нужно знать
- Базовые принципы ООП и язык программирования
- Подойдёт любой верхнеуровневый язык, желательно со строгой типизацией: C#, Java, C++, Kotlin, ES2015+/TS, Python, Ruby.
- Основы сетевых и веб-технологий
- Понимание принципов работы HTTP, HTML, CSS, JS, реляционных и нереляционных баз данных, типов и структур данных, сетевого стека TCP/IP.
- Процесс разработки ПО
- Желательно иметь опыт разработки от одного года, понимать основы алгоритмизации, уметь работать с GIT и UNIX-подобными системами.
Программа курса
I модуль
Введение в разработку ПО. Парадигмы программирования
Расскажем о современных парадигмах программирования, их взаимосвязи, достоинствах и недостатках.
- Введение в понятие архитектуры и проектирование ПО
- Введение в программирование. Принципы структурного программирования
- Принципы объектно-ориентированного программирования
- Идеи функционального подхода
- Идеи логического программирования
- Декларативное программирование
- Две практические встречи
II модуль
Базовые принципы проектирования. Объектно-ориентированное проектирование ПО
Расскажем об ООП и паттернах объектно-ориентированного проектирования. Вы узнаете, как строить чистые архитектуры, проектировать библиотеки и собирать ПО для бизнес-задач.
- Принципы SOLID
- Объектно-ориентированные паттерны: порождающие
- Объектно-ориентированные паттерны: структурные
- Объектно-ориентированные паттерны: поведенческие
- Компоненты. Принципы связности и сочетаемости компонентов
- Архитектура. Горизонтальные уровни и вертикальные срезы
- Чистая архитектура. Принципы построения. Best Practiсes
- Практическая встреча
Проект
- Спроектированное и разработанное в соответствии с принципами SOLID ПО
III модуль
Проектирование прикладных приложений
Вы научитесь проектировать приложения с базами данных и пользовательским интерфейсом, а также организовывать передачу и обработку данных.
- Хранение данных. Выбор способа организации хранения данных под задачу
- Паттерны проектирования приложений с базой данных (Repository)
- Передача данных. Способы организации передачи данных между приложениями и их частями
- Представление данных. Паттерны проектирования приложений с пользовательским интерфейсом
- MVC (на примере классических MPA приложений)
- MVP/MVVM (на примере десктопных и мобильных приложений)
- Архитектуры SPA-приложений
- Обработка данных. Принципы построения систем обработки данных
Проект
- Спроектированное и разработанное приложение с базой данных и пользовательским интерфейсом
IV модуль
Проектирование сервис-ориентированных архитектур (SOA) и их производных
Получите навыки проектирования систем на основе сервис-ориентированной (SOA) и микросервисной архитектуры.
- Понятие сервис-ориентированной архитектуры
- Понятие микросервисной архитектуры
- Способы организации взаимодействия сервисов. Протоколы. Шина
- Надежность, отказоустойчивость и безопасность систем
- Горизонтальное масштабирование. Базовые подходы
- Распределённые системы обработки информации
- Распределённые хранилища данных
- Вопросы идентификации, аутентификации и авторизации
Проект совместно с «Ростелеком»
- Спроектированная распределенная система обработки на основе сервисов
V модуль
Развертывание, сопровождение, поддержка (CI/CD)
Узнаете, как управлять, развертывать, сопровождать и поддерживать информационные системы.
- CI/CD
- Контейнеризация (Docker)
- Оркестрация контейнеров
- Логирование (ELK)
- Мониторинг (Zabbix, Prometheus, Grafana)
- Service Discovery, конфигурирование
- Настройка веб-серверов (NGINX)
- Защита информации в информационных системах
Проект
- Настройка развертывания для SOA
Ключевые навыки
- Swagger
- Open API
- REST
- UML
- IDEF
- RabbitMQ
- Kafka
- Docker
- Kubernetes
- ELK
- Zabbix
- Prometheus
- Grafana
- NGINX
- Владение современными парадигмами программирования
- Владение принципами SOLID, ООА, понимание чистой архитектуры
- Умение проектировать прикладные приложения с базами данных и пользовательским интерфейсом (MPA и SPA)
- Навык проектирования систем на основе сервисов (SOA) и микросервисов (микросервисная архитектура)
- Понимание принципов управления развёртыванием, сопровождением и поддержкой разработанных систем за счёт использования механизмов контейнеризации, логирования, мониторинга и оркестрации
Кому подойдёт этот курс
- IT-специалистам уровня junior или middle
- Из разработки или системного администрирования вы сможете прийти в DevOps-инжиниринг. Обучение поможет закрыть пробелы в знаниях и освоить смежную профессию, чтобы зарабатывать больше.
- Специалистам, которым нужны DevOps-навыки
- Вы разберётесь в тонкостях DevOps-практик с нуля и сможете расширить свои компетенции на работе и повысите свою ценность как специалиста.
Чему вы научитесь
- Применять принципы CI/CD
- Поймёте, какие проблемы решает непрерывная интеграция и доставка. На примере gitlab-ci научитесь настраивать выкладку сервисов в окружения разработки и тестирования.
- Управлять инфраструктурой как кодом
- Научитесь создавать, изменять и версионировать окружение с помощью Terraform.
- Работать в Docker
- Узнаете всё про виртуализацию. Будете писать свои docker-образы, запускать контейнеры, выстраивать зависимости и определять параметры доступа.
- Автоматизировать сложные задачи
- Познакомитесь с Ansible: научитесь настраивать серверы и развёртывать приложения по нажатию кнопки.
- Тестировать инфраструктурный код
- Познакомитесь с видами тестирования, узнаете, как применять полезные утилиты Molecule и Karate.
- Настраивать мониторинг
- Будете собирать метрики и логи с помощью Prometheus и elk-стека, строить удобные дашборды в Grafana. Узнаете про работу с инцидентами и системы обратной связи.
Программа курса
- Python Basic
- Введение.
- Основы работы с Python.
- Операторы, выражения.
- Условный оператор if, ветвления.
- Условный оператор if: продолжение.
- Цикл while.
- Цикл for: циклы со счётчиком.
- Цикл for: особенности работы с range.
- Цикл for: работа со строками.
- Вложенные циклы.
- Числа. Типы int и float.
- Функции: начало.
- Особенности float.
- Установка и настройка IDE.
- Базовые коллекции. Списки.
- List: методы работы со списками.
- Представления списков.
- Базовые коллекции. Строки.
- Базовые коллекции. Словари.
- Базовые коллекции. Кортежи.
- Функции: продолжение.
- Работа с файлами.
- Исключения: работа с ошибками.
- Введение в ООП.
- Основные принципы ООП.
- Итераторы и генераторы.
- Декораторы: базовый уровень.
- Углублённая работа с классами и встроенные декораторы.
- Декораторы: продвинутый уровень.
- Функции: конец.
- Библиотеки для работы с данными.
- Бонусный модуль. Основы работы с сетью.
- Devops-инженер. Основы
- Эволюция разработки: CI/CD.
- Введение в DevOps.
- Знакомство с CD (Continuous delivery).
- Continuous integration с использованием GitLab CI.
- Continuous delivery. Работа с окружением разработки и PROD.
- Инфраструктура как код (IaC).
- Виртуализация.
- Docker.
- Ansible.
- Тестирование инфраструктурного кода.
- Мониторинг.
- Инцидент-менеджмент.
- Инструменты.
- Дипломная работа.
- Воркшопы для участников
- Архитектура GitLab.
- Углубляемся в Gitlab CI.
- Решение практических задач с применением Gitlab CI.
- Итоговый проект. Инфраструктурная платформа
- Пройдёте все этапы работы над полноценной платформой, как в реальной компании: развернёте инфраструктуру в облаке; автоматизируете деплой; протестируете сервисы, настроите мониторинг и систему управления логами; сделаете отдельное окружение для продакшна; продумаете план развития платформы. Готовый проект добавите в портфолио и сможете презентовать работодателю на собеседовании.
Профессиональные навыки:
- Программирование на Python
- Работа с контейнерами и сборка образов (Docker)
- Обеспечение стабильности и безопасности серверов
- Управление непрерывной интеграцией, умение настраивать CI/CD пайплайны (Gitlab)
- Тестирование Ansible-кода (Molecule, Karate)
- Внедрение DevOps в компании с существующими процессами
- Работа с инфраструктурой как с кодом (Ansible, Terraform)
- Настройка мониторинга (Prometheus, Grafana, ELK)
Кому подойдёт этот курс
- IT-специалистам уровня Junior или Middle
- Вы сможете прийти в DevOps-инжиниринг из разработки или системного администрирования. Курс поможет закрыть пробелы в знаниях и освоить смежную профессию, чтобы зарабатывать больше.
- Разработчикам и тестировщикам
- Вы разберётесь в тонкостях DevOps-методологии с нуля, сможете расширить свои компетенции на работе и повысите свою ценность как специалиста.
Чему вы научитесь
- Работать с Docker
- Узнаете всё про виртуализацию. Будете писать свои docker-образы, запускать контейнеры, выстраивать зависимости и определять параметры доступа.
- Работать с инфраструктурой как с кодом
- Научитесь создавать, изменять и версионировать окружение с помощью Terraform.
- Работать с системами контроля версий
- Освоите Git, чтобы эффективно работать с кодовой базой. Научитесь применять принципы CI/CD, научитесь настраивать выкладку сервисов в окружения разработки и тестирования.
- Автоматизировать процессы
- Познакомитесь с Ansible: научитесь настраивать сервера и развёртывать приложения по нажатию кнопки.
- Использовать kubernetes (k8s)
- Будете управлять нагрузками между контейнерами, автоматизировать развёртывание и обеспечивать приватность данных.
- Создавать решения мониторинга
- Будете собирать метрики и логи с помощью Prometheus и elk-стека, строить удобные дашборды в Grafana. Узнаете про работу с инцидентами и системы обратной связи.
Программа курса
- Система контроля версий Git
- Работаем с Git на своём компьютере.
- Работаем с удалённым репозиторием.
- Командная работа в Git.
- Сравнение версий и отмена изменений.
- Инструменты и правила работы с Git.
- Python Basic
- Введение.
- Основы работы с Python.
- Операторы, выражения.
- Условный оператор if, ветвления.
- Условный оператор if: продолжение.
- Цикл while.
- Цикл for: циклы со счётчиком.
- Цикл for: особенности работы с range.
- Цикл for: работа со строками.
- Вложенные циклы.
- Числа. Типы int и float.
- Функции: начало.
- Особенности float.
- Установка и настройка IDE.
- Базовые коллекции. Списки.
- List: методы работы со списками.
- Представления списков.
- Базовые коллекции. Строки.
- Базовые коллекции. Словари.
- Базовые коллекции. Кортежи.
- Функции: продолжение.
- Работа с файлами.
- Исключения: работа с ошибками.
- Введение в ООП.
- Основные принципы ООП.
- Итераторы и генераторы.
- Декораторы: базовый уровень.
- Углублённая работа с классами и встроенные декораторы.
- Декораторы: продвинутый уровень.
- Функции: конец.
- Библиотеки для работы с данными.
- Бонусный модуль. Основы работы с сетью.
- Devops-инженер. Основы
- Эволюция разработки: CI/CD.
- Введение в DevOps.
- Знакомство с CD (Continuous delivery).
- Continuous integration с использованием GitLab CI.
- Continuous delivery. Работа с окружением разработки и PROD.
- Инфраструктура как код (IaC).
- Виртуализация.
- Docker.
- Ansible.
- Тестирование инфраструктурного кода.
- Мониторинг.
- Инцидент-менеджмент.
- Инструменты.
- Итоговый проект.
- Devops-инженер. Advanced
- Введение: Yaml, утилиты, Git
- Service Discovery
- CMS (Configuration Management System). Ansible
- Docker
- CI/CD: Jenkins, GitLab
- Мониторинг: сбор метрик
- Мониторинг: сбор логов
- Безопасность
- Сети
- Облачные сервисы
- Итоговый проект
- Kubernetes
- Интро
- Знакомство с Kubernetes: основные понятия и архитектура
- Основные объекты Kubernetes
- Безопасность и управление доступом
- Сетевая подсистема Kubernetes
- Хранение данных в Kubernetes
- Шаблоны: Helm и его аналоги (Jsonnet, Kustomize)
- Requests, Limits и Load Balancing в кластере
- Мониторинг компонентов кластера и приложений, работающих в нем
- Service mesh. Знакомство с Istio и Envoy
- Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI сервисом
- Эксплуатация кластера
- Итоговый проект
- Docker
- Углубите свои знания в Docker: научитесь разворачивать инфраструктуру из образов, работать с docker registry и оркестрировать контейнеры с помощью docker compose. Погрузитесь в файловую систему и рантаймы.
- Облачные сервисы
- Вы изучите возможности облачных сервисов и научитесь использовать их в своей работе.
- Воркшопы для участников
- Архитектура GitLab.
- Углубляемся в Gitlab CI.
- Решение практических задач с применением Gitlab CI.
Профессиональные навыки:
- Программирование на Python
- Работа с контейнерами и сборка образов (Docker)
- Обеспечение стабильности и безопасности серверов
- Создание полноценной инфраструктурной платформой на основе кластера Kubernetes
- Управление непрерывной интеграцией, умение настраивать CI/CD пайплайны (Gitlab)
- Тестирование Ansible-кода (Molecule, Testinfra)
- Внедрение DevOps в компании с существующими процессами
- Работа с облачными сервисами
- Работа с инфраструктурой как с кодом (Ansible, Terraform)
- Настройка мониторинга (Prometheus, Grafana, ELK)
- Разработка собственных решений CI/CD и мониторинга
Кому подойдёт этот курс
- Тем, кто хочет стать системным администратором
- Вы узнаете, как устроены веб-серверы, и научитесь работать с ОС Linux. Соберёте портфолио и сможете начать карьеру системного администратора в IT-компании.
- Начинающим DevOps-инженерам
- Вы научитесь поддерживать работу Linux-систем и сайтов и пользоваться базами данных. Попрактикуетесь на реальных проектах и получите основные навыки для развития в DevOps.
Чему вы научитесь
- Администрировать Linux
- Узнаете, как устроена эта операционная система, и научитесь работать в терминале Linux.
- Работать в командной строке Bash
- Изучите основы программирования в Bash и сможете оптимизировать работу с кодом и серверами с помощью командной строки.
- Настраивать веб-сервер
- Научитесь устанавливать популярный веб-сервер nginx и настраивать параметры его конфигурации.
- Пользоваться базами данных
- Познакомитесь с базами данных SQL и MySQL, научитесь управлять большими объёмами информации и быстро получать нужную с помощью запросов.
- Диагностировать неполадки
- Научитесь работать с логами и проводить мониторинг системных показателей, чтобы отслеживать и предотвращать возможные проблемы в работе сайта.
- Осуществлять мониторинг системы
- Освоите работу с популярным мониторинговым решением Prometheus и научитесь создавать запросы на языке PromQL.
Программа курса
Язык запросов SQL
- Основы SQL
- Познакомитесь со структурой баз данных SQL, научитесь фильтровать данные и писать запросы к базе.
Старт в DevOps: системное администрирование для начинающих
- Введение в Linux
- Познакомитесь с содержанием курса и спикерами, установите VirtualBox и запустите Linux на своём компьютере.
- Linux: первые шаги
- Узнаете больше про операционную систему Linux и её процессы, научитесь работать с файловой системой и создавать пользователей.
- Пользователи и файлы. Знакомство с Vim
- Сможете работать с текстовым редактором Vim и системой управления пакетами. Узнаете больше о пользователях в Linux.
- Подготовка к написанию скриптов на Bash
- Научитесь работать с консолью и познакомитесь с основными командами. Узнаете, для чего нужен шаблон поиска Shell Globbing, разберётесь в перенаправлении ввода/вывода и последовательности команд. Сможете работать в планировщике задач Cron.
- Написание скриптов на Bash
- Научитесь использовать переменные окружения и оператор if.
- Написание скриптов на Bash. Продолжение
- Сможете работать с вложенными условными операторами. Узнаете ещё несколько команд для Shell, научитесь использовать оператор выбора и арифметические операции.
- Написание скриптов на Bash. Циклы
- Познакомитесь с циклами while и until. Узнаете, когда их применять и как сделать цикл бесконечным.
- Написание скриптов на Bash. Циклы: продолжение
- Научитесь работать с циклом for и его вариантами. Узнаете, что такое файлы .profile, .bashrc и приглашение командной строки. Научитесь работать с функциями и архивацией.
- Написание скриптов на Bash. Заключение
- Научитесь использовать команды awk и sed. Освоите приёмы, которые помогают писать Bash-скрипты проще и эффективнее.
- World Wide Web
- Изучите основные принципы работы веб-сайтов и узнаете, что такое backend и frontend. Научитесь работать с протоколом HTTP.
- Системы инициализации
- Познакомитесь с системами инициализации SysVinit, Upstrart, Systemd. Узнаете, чем различаются ссылки hardlink и symlink.
- Криптография. HTTPS
- Познакомитесь с основными понятиями криптографии. Разберётесь, чем различаются симметричные и асимметричные шифры. Научитесь работать с SSL-сертификатами и протоколом HTTPS.
- Работа с устройствами в Linux
- Узнаете, что такое каталог/dev и как монтировать файловую систему и диск.
- Введение в базы данных
- Узнаете, что такое реляционные базы данных. Научитесь устанавливать базы данных.
- Базы данных. Продолжение
- Научитесь резервировать базы данных. Узнаете, что такое NoSQL базы данных и ACID-свойства.
- Знакомство с сетями
- Узнаете, какие системы счисления существуют в DevOps, и познакомитесь со стеком протоколов TCP/IP. Изучите канальный уровень передачи данных.
- Продолжение знакомства с передачей данных
- Познакомитесь с сетевым и транспортным уровнями передачи данных, а также с утилитами диагностики для них.
- Завершение знакомства с сетями
- Изучите прикладной уровень передачи данных. Познакомитесь с другими стеками протоколов и сетевой моделью OSI. Узнаете, как осуществляется удалённый доступ к серверу.
- Собираем LAMP
- Познакомитесь с набором открытого серверного программного обеспечения LAMP. Установите и настроите WordPress, узнаете, как регистрировать DNS и получать SSL-сертификат.
- Deb-пакеты
- Научитесь работать с deb-форматом в дистрибутиве Linux Debian. Узнаете, как собирать и подписывать пакеты. Научитесь работать с приватными и публичными репозиториями.
- Мониторинг и диагностика
- Научитесь пользоваться утилитами atop/top/htop для просмотра процессов в Linux и работать с логами, чтобы быстро находить и устранять неполадки на сайте. Узнаете, что такое ротация логов и чем бизнес-мониторинг отличается от инфраструктурного мониторинга.
- Мониторинг и диагностика. Продолжение
- Научитесь пользоваться системой мониторинга Prometheus и языком запросов PromQL.
- Файервол
- Узнаете, что такое файервол и зачем он нужен. Научитесь использовать стандартный файервол в Linux и утилиту iptables.
- Виртуализация
- Узнаете, что такое виртуализация и контейнеризация. Научитесь запускать приложения для разных операционных систем на одном устройстве.
- Туннели
- Поймёте, для чего нужен VPN и как он работает. Сможете настроить VPN-клиент и VPN-сервер.
Профессиональные навыки:
- Администрирование Linux
- Работа с VirtualBox
- Работа с консолью Linux
- Программирование в командной строке Bash
- Работа с базой данных SQL
- Настройка веб-сервера nginx
- Виртуализация
- Работа с доменными именами в DNS
- Диагностика проблем и работа с логами
- Мониторинг системных показателей
Кому подойдет
- Разработчику
- Чтобы не только писать код, но и настраивать системы разворачивания и тестирования приложений, а также понять, что происходит на проде
- Сисадмину
- Чтобы поддерживать разные IT-продукты и с пониманием смотреть в код разработчика, а также научиться оптимизировать нагрузки на системы и сервисы
- Специалисту по тестированию и QA-инженеру
- Чтобы освоить и организовать тестовые стенды и среды, управлять качеством ПО, отлаживать и автоматизировать предпродакшн тестирование, анализировать качества кода
- DevOps-инженеру
- Чтобы укрепить знания, получить новые инструменты, вывести свои скилы на новый уровень
Ваши компетенции после курса
- Принимаю ценности и принципы DevOps, понимаю, как их применить к своему проекту
- Понимаю особенности современной разработки, умею эффективно выбирать решения для улучшения time to market.
- Понимаю, как организована команда разработки, умею выстраивать коммуникацию в команде: Jira, Confluence, Basecamp
- Умею выстраивать процессы для получения и анализа обратной связи от пользователей. Организовывать команду техподдержки
- Знаю, как извлекать пользу из инцидентов, умею использовать Post Mortem, считать метрики SLA, SLO, SLI и принимать решения на основе данных
Ключевые навыки
- Управляю техническим циклом разработки, используя:
- системы контроля версий (Git, SVN, Mercurial)
- CI (Jenkins, Gitlab, Travis)
- оркестрацию (Kubernetes, Terraform)
- системы сборки (Docker)
- управление конфигурациями (Puppet, Chef, Ansible)
- мониторинг и журналирование (Grafana, Zabbix, Prometheus,
- Elasticsearch/Kibana/Logstash)
- Настраиваю безопасность (GPG, Vault, SSL)
- Создаю и оптимизирую CI/CD
- Настраиваю Jira, Confluence, Redmine, Basecamp
- Знаю, как и когда нужно применять Scrum, Kanban, Waterfall, Zero-Zero
Программа курса
Раздел 1. Введение в курс и профессию
Что вы будете изучать:
- Введение в курс. Особенности онлайн-обучения
- Что такое DevOps и в чем его ценность
- Профессия DevOps-инженер: роли и функции с учетом бизнес-процессов
Чему научитесь:
- Отличать DevOps процессы от локальной автоматизации отдельных процессов
- Определять роли DevOps-инженеров и их настоящие вызовы
- Организовывать команды, которые делятся знаниями и постоянно повышают свою экспертность
Раздел 2. Управление инфраструктурой и конфигурациями
Что вы будете изучать:
- Современные методологии разработки (Agile, Waterfall, Scrum, Kanban, Zero-Zero)
- Системы контроля версий (Git)
- Командные коммуникации (Slack) и системы управления задачами (Jira, Trello, Redmine)
- Работа с облачной инфраструктурой (Яндекс.Облако)
- Управление инфраструктурой (Terraform)
- Управление конфигурациями (Ansible, Puppet)
- Система сборки (Docker)
- Локальная разработка и тестирование с Docker-Compose
- Управление артефактами (Docker Registry, NPM Repo, PIP, Composer)
- Тестирование и тестовые-среды (стенды)
- Continuous Integration (Jenkins, Gitlab, Travis)
- Информационная безопасность (GPG, Secrets, Vault, SSL)
Чему научитесь:
- Применять систему контроля версий в своей (или командной) работе
- Поднимать и настраивать конвейер CI/CD
- Настраивать тестовые среды и интегрировать их в процесс разработки
- Работать с различными системами оркестрации и правильно подбирать нужные из них для своих задач
- Организовывать системы сборки и управления артефактами проекта
- Использовать подход Infrastructure as Code
- Настраивать мониторинг приложений и сложных систем
Раздел 3. Мониторинг, журналирование и observability
Что будете изучать:
- Введение в мониторинг. Мониторинг инфраструктуры и приложений (Grafana, Zabbix, Prometheus)
- Мониторинг в облачной среде. Визуализация, алертинг, трейсинг
- Введение в журналирование
- Elasticsearch/Kibana/Logstash
Чему научитесь:
- Понимать, что такое мониторинг и зачем он нужен, познакомитесь с разными типами мониторинга
- Что и как нужно мониторить, а что мониторить бесполезно
- Настраивать мониторинг приложений и сложных систем
- Настраивать агент для отправки информации с одного или нескольких серверов
- Работать с основными библиотеки для журналирования, настраивать журналирование на примере rsyslog
- Настраивать fluentd, компоненты Elastic стэка для сбора, обработки и визуализации логов
- Использовать Kibana для поиска по логам
Раздел 4. Микросервисная архитектура, Kubernetes
Что вы будете изучать:
- Контейнерная оркестрация. Docker Swarm. AWS Elastic Container Service (ECS)
- Основы Kubernetes — часть 1
- Основы Kubernetes — часть 2
- Основы микросервисной архитектуры в Kubernetes
- Helm. CI/CD в Kubernetes
- Основы GitOps
- Serverless
Чему научитесь:
- Разберетесь, что такое контейнерная оркестрация
- Работать в Docker Swarm и узнаете, когда его лучше применять
- Понимать, как использовать AWS ECS
- Уметь работать с одним из основных инструментов для DevOps
- Понимать, что такое k8s, как с ним работать, когда имеет смысл его использовать, а когда не стоит
- Знать, что такое манифесты и уметь с ними работать
- Понимать, как работают разные виды деплойментов
- Деплоить приложения в Kubernetes
- Предоставлять внешний доступ к приложениям в кластере
- Где брать и как устанавливать, апгрейдить и удалять готовые Helm-чарты
- Понимать, что такое подход GitOps, в чем его преимущества, где и когда его следует применять
- Запускать Serverless-функции в основных облачных провайдерах
Дипломный проект
Цель проекта — использовать изученные технологии и инструменты в реальной практике, которая выходит за рамки курса.
Суть проекта. Ведущий эксперт и автор курса дает задачу для практики из реальных рабочих будней. Для удобства выполнения она будет разбита на спринты. Работа над задачей будет происходить индивидуально.
Результат проекта— отработка технологий и инструментов и получение опыта в боевых условиях.
Бонусный блок. Подготовка к техническим собеседованиям
Что вы будете изучать:
- Примерные тестовые задания с технических собеседований
- Записи вебинаров по подготовке к техническим собеседованиям
Бонусный блок. Жизненный цикл софтверного проекта и работа с пользователями
Что вы будете изучать:
- Идеальная разработка ПО
- Почему разработка сложной системы с нуля обречена на провал
- Внедрение DevOps в существующий проект
- Инцидент-менеджмент
- Документация как один из элементов коммуникации (Confluence, Hugo, Read The Docs)
- Топологии DevOps (паттерны и антипаттерны)
- Управление изменениями. Процессы. Теория
- Управление изменениями. Инструменты. Практика
- Управление изменениями. Межличностное взаимодействие
Чему научитесь:
- Узнаете, как подбирать нужный в вашей ситуации подход для реализации проекта
- Поймете, какие есть особенности в разработке сложной системы и почему DevOps почти никогда не работает с нуля
- Поймете, как внедрять DevOps, какие есть особенности и подводные камни
- Узнаете, как правильно отрабатывать инциденты и превращать проблему в опыт и новую экспертизу