Форма обучения: очная с применением дистанционных технологий
Объем программы: 510 ак.ч.
Продолжительность обучения: 9 месяцев
Выдаваемый документ: Диплом о профессиональной переподготовке МФТИ
Старт обучения: май 2023
Стоимость обучения: 220 000 рублей
Краткое описание программы:Чтобы получить Профессию DevOps-инженер, подтвержденную Дипломом о профессиональной переподготовке МФТИ установленного образца, необходимо пройти обучение на трех самостоятельных курсах и двух интенсивах.
В течение обучения вы выполните несколько проектов для решения задач бизнеса, которые лягут в основу вашего портфолио. Проекты выполняются самостоятельно под руководством экспертов и преподавателей, позволяют закрепить весь спектр знаний и навыков, полученных на программе, и применить их к реальным задачам.
Успешное окончание каждого курса подтверждается Удостоверением о повышении квалификации МФТИ.
Содержание программы:1. Интенсив: «Linux / Git для начинающих»2 неделиБазовый WSL и VirtualBox - Чем отличается Windows и Linux
- Установка WSL. Запуск
- VirtualBox установка и использование
Основы Linux - Введение. Какие задачи он решает. Дистрибутив Ubuntu
- Консоль. Основа работы с Linux. tmux
- Скрипты. Продвинутая работа с консолью
- Файловая система
- Работа с сетью
- Серверное взаимодействие. SSH
WSL подробно - Краткий экскурс в историю появления. WSL1 и WSL 2
- Основные команды работы с WSL
- Файловая система
- Сеть WSL
- WSL USB
- CUDA и Windows Докер
Git - Введение. Цели. Разновидности систем контроля версий
- Базовые основы GIT. Популярные сценарии работы
- Серверные репозитории Git. Ветки. Merge request
- Сценарии отката изменений. Stash
2. Интенсив: «Docker + CI/CD для начинающих»
2 недели
Основы Docker - Виртуализация и контейнеризация. Docker engine
- Docker image и Docker container
- Файловые системы в Docker. UnionFS и OverlayFS
- Работа с данными: добавление файлов, монтирование внешних директорий. Обмен данными с уже развернутым контейнером
- Рекомендации по работе с Docker. Как писать DockerFile, .dockrtignore. Базовая безопасность в docker
- Репозитории docker-контейнеров и работа с ними.
- Docker compose
CI/CD - Обзор актуальных инструментов CI/CD (GitLab CI, Jenkins, TravisCI, GitHub Actions)
- Настройка pipelines, jobs, stages. Написание конфигураций CI
- Создания собственного runner'a. Executors: shell, docker
3. Курс: «Базы данных и SQL»
1,5 месяца
Реляционные базы данных. Основные SQL-запросы- Основные понятия и базовый синтаксис выборки
- Создание таблицы и заполнение данными, ограничения на поля
- Изменение и удаление данных
-
Join и подзапросы
-
Агрегация и группировка
- Проектирование базы данных
Нереляционные базы данных. MongoDB- Знакомство с mongoDB
- Изменение данных в mongoDB
- Агрегация в mongoDB
- Соединение коллекций в mongoDB
Работа с данными в DevOps- Бекап больших данных
- Кэш-системы
- Кластеризация, шардинг и отказоустойчивость
3. Курс: Continuous Integration, Continuous Delivery и Continuous Deployment
1 месяц
Понятие непрерывных практик разработки - CI/CD/CD: различия между практиками
- Основные стадии непрерывной интеграции проектов
- Автоматическое тестирование и сборка проектов
- Понятие "агент" (runner) в непрерывных системах поставки
Инструменты Continuous Integration. Gitlab- Автоматическое тестирование
Статический анализатор кода
Continuous Delivery и Continuous Deployment: основные отличия - Сборка проектов в закрытом контуре
- Сборка установочных файлов для поставки на серверное окружение
- Возможные артефакты сборки проекта
Cпособы создания артефактов - Тестовые сценарии
- Покрытие кода тестами
- Сборка пакетов (Package Registry)
- Сборка контейнеров (Container Registry)
Continuous Deployment - Способы развертываний
- Типы окружений для развертывания - отличия между окружениями
- Настройка развертываний, приемочное тестирование
Создание окружений - Review/staging/production
- Откатка релизов и перемещение релизов между окружениями
- Проведение видов приемочного тестирования в автоматическом режиме (проверка процедур установки ПО)
GitOps - Способы выкатки приложений
- Push CD / Pull CD
- Способы версионирования приложений: Helm
Разбираем инструменты CD в стеке Kubernetes - ArgoCD/FluxCD
- Настраиваем GitOps Pipeline
4. Курс: Инструменты DevOps
1 месяцInfrastructure as Code и системы управления конфигурацией - Infrastructure as Code
- Системы управления конфигурацией (Terraform, Ansible, Chef, Salt, Puppet)
Хранение данных - Инструменты хранения данных: S3, MinIO vs Ceph
- Хранение и передача чувствительных данных: Vault
Микросервисы, балансировка и кэширование - балансировка и кэширование
- микросервисы
- стратегии поставки
5. Курс: Kubernetes4 месяца - Почему Kubernetes, монолитная vs микросервисная архитектуры, виртуальная машина vs контейнер
- Docker, Kernel modules for isolation, best vs bad practices Docker-compose, best vs bad practices Введение в Kubernetes
- Kubernetes Control-Plane
- Основные сущности Kubernetes
- Хранение больших данных в Kubernetes
- Kubernetes: сети и сервера
- Продвинутые сущности Kubernetes
- Шаблонизаторы Kubernetes: Helm
- Kubernetes: мониторинг (Prometheus/VictoriaMetrics & Grafana)
- Kubernetes: оповещения (mail/chats)
- Kubernetes: логирование (EF/LK)
- Kubernetes и GitLab CI/CD
- Kubernetes и Harbor as Docker Registry
Целевая аудитория курса: - Те, кто начинает карьеру в ИТ
Возможность изучить все необходимое для начинающего разработчика: алгоритмы, ООП, основы рабочего кода языка Python. Вы заложите крепкий фундамент для дальнейшего развития в сфере ИТ. - Начинающие ИТ-специалисты
Если у вас уже есть базовые знания, наш курс поможет структурировать их и получить комплексный практический опыт на реальных примерах. - Практикующие ИТ-специалисты
Тем, кто уже является действующим разработчиком, и хочет изучить новый язык программирования.
На программе вы: - Освоите новую востребованную профессию
- Станете крепким junior-разработчиком со знанием языка программирования Python
На всех курсах вы получите: - Постоянное живое общение с преподавателем МФТИ на вебинарах и в телеграмм-чате группы
- Ответы на все свои вопросы по ходу курса от преподавателя
- Обратную связь на интересные домашние задания