DevOps для эксплуатации и разработки: расширенный

Яндекс Практикум
4,7
Освоите методологию DevOps, чтобы выйти на новый профессиональный уровень. Длительность курса можно выбрать: 5, 7 или 9 месяцев.
4,7
На основании отзывов пользователей
на Отзовике, IRecommend и TutorTop
21 500 /мес
или сразу 170 000
Смотреть курс
Программа обучения

Её можно пройти за 5, 7 или 9 месяцев — в зависимости от того, сколько часов в неделю вы готовы уделять освоению теории и практике

Как стать специалистом по DevOps

1 модуль — бесплатно, чтобы вы познакомились с платформой и определились, подходит ли вам курс

Программа
Навыки
Инфраструктура
Команда курса
Нагрузка
Входной тест
Знакомство с курсом

Узнаете больше о том, какие навыки вы здесь получите

Железо и облако

Посмотрите на инфраструктуру, в которой вам предстоит работать

Работа в команде

Узнаете, кто и как будет вам помогать

Нагрузка на курсе

Поймёте, сколько времени будет занимать прохождение курса

Входной тест

Ещё до покупки проверите, подходит ли вам курс

Познакомитесь с платформой и поймёте, подходит ли вам курс

Эффективное взаимодействие с командой и управление ей
Делегирование
Командные встречи
Мотивация
Типы коммуникации
Roadmap
Приоритеты и делегирование

Научитесь грамотно организовать работу — свою и команды, чтобы не делать всё самостоятельно

Коммуникации в команде

Поймёте, как проводить командные встречи, сообщать об изменениях и работать со сложной информацией

Процессы и эффективность

Узнаете, как оценивать индивидуальную эффективность сотрудников, мотивировать команду и повышать её продуктивность

Управление коммуникацией

Разберёте формальное и неформальное общение, узнаете, как выявлять неформальные группы в команде и управлять ими

Взаимодействие с командой разработки

Изучите подходы к запуску ранней версии продукта и популярные фреймворки, поймёте, как построить дорожную карту разработки продукта

Поймёте, как организовывать работу, общаться со своей командой и коллегами из других отделов

Системы контроля версий и автоматизация сборки приложений
Jenkins
Feature Branch Workflow
Gitea
Maven
Жизненный цикл ПО

Разберётесь, как устроена разработка ПО в наши дни, и сделаете первые шаги, чтобы ускорить этот процесс

Системы контроля версий

Узнаете, почему все выбирают Git, как организовать командную работу с помощью Feature Branch Workflow и хранение Git‑репозиториев в Gitea

Бережливое производство

Узнаете основы концепции бережливого производства и поймёте, как они перекладываются на IT‑процессы

Автоматизация сборки

Узнаете, какие есть инструменты для автоматизации повторяющихся задач и фреймворки для сборки проекта

Организуете работу с ветками в Git, соберёте проект с помощью Maven, а также настроите пайплайн в Jenkins

Гибкие методологии и Continuous Integration
GitLab CI
SonarQube
Gitlab SAST
Jenkins Declarative Pipeline
Проблематика DevOps

Узнаете, что такое функциональные колодцы и нисходящая спираль

Гибкие методологии и DevOps-культура

Познакомитесь с 3 путями DevOps: циклом поставки ценности, петлёй обратной связи, экспериментами и обучением

Continuous Integration

Поймёте, как организовать хранение кода, сборку и тестирование, а также как быстро получать обратную связь

Серверы Сontinuous Integration

Изучите интерфейс и функциональность GitLab CI, чтобы представить процесс сборки и поставки ПО в виде пайплайна

Проверка качества и безопасности кода

Встроите в процесс поставки ПО этап анализа кода на безопасность и качество, используя анализаторы кода: SonarQube, SonarQube SAST, GitLab SAST

Интегрируете SonarQube в свой проект, добавите в пайплайн этапы анализа качества и безопасности кода, а также напишете Jenkins Declarative Pipeline

Сети и основы работы на серверах Linux
Linux
LVM
Сеть
Основы работы с Linux

Узнаете, как устроена сеть, и научитесь работать с командной строкой

Дисковая система Linux

Научитесь работать с разметкой дисков, таблицами разделов и создавать директории, освоите LVM, LSBLK и другие утилиты

Права пользователя Linux

Сможете управлять использованием ресурсов дисковой системы: выдавать права на файлы, просматривать их принадлежность и выяснять, кто сейчас использует конкретный файл

Виртуализация

Познакомитесь с популярными гипервизорами, виртуальными машинами и сетями

Попрактикуетесь в работе с сессиями и процессами, а также научитесь назначать права пользователей и управлять ими

Continuous Delivery и Continuous Deployment
GitLab CI
Value Stream management
Nexus
Continuous Delivery
Delivery Pipeline
Continuous Deployment
Процесс поставки IT‑продукта

Узнаете, как устроен процесс поставки, и научитесь проводить оценку потребности в частых обновлениях ПО с точки зрения бизнеса

Системы хранения артефактов

Разберётесь, как публиковать артефакты сборки проекта в хранилище Nexus

Continuous Delivery

Сможете организовать часть деплоя в пайплайне и автоматизировать её, используя инструменты GitLab CI

Методология Twelve‑Factor App

Познакомитесь с правилами (факторами), по которым строятся приложения, научитесь применять их в реальных условиях

Бэкапирование

Поймёте, как организовывать резервное копирование, и узнаете, какие есть виды и ротации бэкапов

Спроектируете процесс поставки, добавите в пайплайн части с установкой на тестовую среду и научитесь откатывать приложение на прошлую версию с помощью GitLab

Infrastructure as Code и системы управления конфигурацией
IaC
Terraform
Ansible
Infrastructure as Code

Научитесь описывать инфраструктуру кодом и перенимать опыт разработки

Системы управления конфигурацией

Узнаете, как работает Ansible, и научитесь писать код для управления конфигурацией

Научитесь управлять инфраструктурой и конфигурацией через Terraform и Ansible

DBOps: реляционные и нереляционные базы данных
PostgreSQL
Принципы DBOps
Flyway
MongoDB
Основы теории базы данных

Узнаете, что такое реляционные базы данных, какие есть основные SQL‑запросы и как ускорить их выполнение

Организация высокой доступности БД

Познакомитесь с принципами DBOps и научитесь применять миграции с помощью Flyway

Нереляционные БД

Научитесь редактировать и добавлять объекты в MongoDB, а также освоите полезные трюки для обращения с коллекциями объектов

Научитесь применять подход DBOps, подключите PostgreSQL и MongoDB к своему приложению, настроите автомиграцию

Docker-контейнеризация и хранение данных
Docker
S3
MinIO
Vault
Контейнеризация

Обзор Linux- и Docker‑контейнеров. Подробно изучите устройство Docker: слои, образы, контейнеры, Docker‑файл, Registry. Узнаете, какие есть альтернативы у Docker.

Хранения данных

Научитесь принципам работы объектных хранилищ на примере S3 и MinIO, а также правильному и безопасному хранению файлов. Поймёте, как распознавать отличия между блочными устройствами и объектными хранилищами. Сможете разбираться в файловых системах для блочных устройств.

Хранение и передача чувствительных данных

Поймёте, как работают системы хранения секретов на примере сервиса HashiCorp Vault. И «подружите» с ним ваше приложение.

Контейнеризируете приложение, научитесь его версионировать и публиковать в Container Registry

Микросервисы, балансировка и кеширование
Docker-compose
Nginx
Балансировка и кеширование

Научитесь организовывать высоконагруженную систему, используя инструменты балансировки и кеширования

Микросервисы

Узнаете, какие есть подходы к организации архитектуры приложения, и познакомитесь с инструментами управления микросервисными приложениями на примере Docker-compose

Стратегии развёртывания и их выбор

Разберётесь, какие пользователи бывают, что такое сине‑зелёный и канареечный деплой

Интегрируете балансировщик нагрузки и масштабируете приложение

Kubernetes. Деплой и обеспечение надёжности приложения
Kubernetes
GitLab
Argo CD
GitOps
Helm
Оркестрация контейнеров

Узнаете, для чего нужны системы оркестрации и какие они бывают.

Запуск Kubernetes кластера

Познакомитесь с 5 основными способами установки и запуска Kubernetes, а также разберёте простые команды kubectl.

Архитектура Kubernetes

Разберётесь в основных компонентах и их взаимодействии: sheduler, kubelet, kube-proxy, controller manager, etcd и api-сервер.

Основные сущности Kubernetes

Научитесь работать с базовыми абстракциями Kubernetes.

Продвинутые сущности

Изучите основные контроллеры Kubernetes, продвинутые паттерны и подходы.

Продвинутая работа с утилитой kubectl

Выучите дополнительные команды kubectl, флаги, представление сущностей Kubernetes в виде YAML- или JSON/YAML‑файлов.

Деплой приложений в Kubernetes

Разберёте, как деплоить приложения.

Стратегия деплоя

Изучите связь Kubernetes и Twelve‑Factor App. Узнаете, как реализовать стратегии деплоя в Kubernetes.

На пути к GitOps

Автоматизируете процесс развёртывания и управления приложениями с помощью принципов версионного контроля и непрерывной поставки. Познакомитесь с Argo CD через деплой приложения.

Работа с пакетным менеджером Helm

С помощью Helm-чартов научитесь управлять развёртыванием, конфигурацией и обновлением приложений в Kubernetes.

Работа с облачными сервисами

Узнаете, что такое облачные вычисления, сервисы и провайдеры. Разберётесь, какие существуют варианты деплоя облаков и какой лучше использовать. Познакомитесь с краткой историей появления облаков.

Поработаете с Minikube, подготовите манифесты Kubernetes для деплоя в кластер Kubernetes и push в репозиторий GitLab. Научитесь организовывать поставку приложений с помощью Flux и Argo CD

Логирование и мониторинг ошибок
Loki
C.A.L.M.S.
Prometheus
Grafana
Alertmanager
Логирование и мониторинг ошибок

Научитесь собирать и анализировать логи с помощью Loki.

Мониторинг

Изучите типы метрик и типовые аномалии. Разберётесь, что такое SLA, SLO и SLI. Сможете организовать мониторинг с помощью GAP‑стека (Grafana, Alertmanager, Prometheus).

Алертинг

Узнаете, как настроить алерты в Grafana и подготовить к работе Prometheus Alertmanager. Поймёте, как выбрать метрики, для которых нужно настраивать алерты.

C.A.L.M.S.

Узнаете, как работают на практике принципы фреймворка C.A.L.M.S., и вспомните всё, что происходило с вами на протяжении курса.

Интегрируете мониторинг и алертинг, научитесь обрабатывать логи в своём проекте

Итоговый проект

Вам предстоит подготовить инфраструктуру и настроить конвейер деплоя: системы автоматической сборки, тестирования и проверки кода на ошибки и уязвимости. Вы выстроите логику развёртывания приложения для разных окружений, настроите системы для мониторинга и логирования приложения.