Узнать подробности и записаться на сайте школы на пробный бесплатный урок Сайт школы

Курс "DevOps Engineer"

Школа LevelUp

Наши преподаватели подготовили для вас курс с поэтапным уровнем сложности усвоения информации

  • Срок обучения
    2 месяца

После успешного освоения курса DevOps Вы научитесь:

  • Понимать основные принципы и философию DevOps
  • Пользоваться инструментами для автоматизации процессов разработки
  • Автоматизировать процессы деплоя с помощью инструментов CI/CD
  • Понимать основные этапы и методы разработки ПО
  • Четко видеть свою роль в процессах разработки
  • Ориентироваться в современных системах хранения и обработки информации в т.ч. «облачных»
  • Лучше контролировать и управлять production, development, и тестовыми-средами

Требования к участникам курса:

  •  знание ос Linux
  •  опыт системного администрирования

Программа обучения

Модуль 1 - Инструменты

Занятие 1.

  • Введение в DevOps, методология, основные понятия, инструменты
  • Настройка рабочей среды
  • Жизненный цикл ПО
  • Циклы и этапы разработки ПО
  • Методологии разработки ПО
  • Agile, Waterfall, Scrum
  • ДЗ. Подготовка «облачного» аккаунта для лабораторных работ

Занятие 2.

  • Linux: основы.  Разновидности Linux
  • Linux: ядро, процессы, файлы
  • Linux: основные команды
  • Linux: мониторинг системы
  • Linux: Bash, программирование. Основные сценарии использования
  • ДЗ. Написание программы бэкапа на bash

Занятие 3.

  • Виртуализация. Типы гипервизоров
  • Hyper-v, Xen, KVM
  • Гипервизор Vmware Esxi
  • Общее представление о работе Java-приложений
  • Знакомство с контейнерами сервлетов
  • Apache Tomcat. Установка и конфигурирование
  • ДЗ. Деплой выборочного Java-приложения

Занятие 4.

  • Базы данных
  • Типы и структуры БД
  • знакомство с Postgresql. Кластер, диспетчер очередей, репликация
  • знакомство с Mysql, Percona XtraDB cluster
  • мониторинг работы БД. Backup
  • Особенности работы с NoSQL БД
  • ДЗ. Деплой и разбор тестовой БД Postgresql

Занятие 5.

  • Знакомство с системами контроля версий
  • Git. Основные понятия, команды
  • Git. Создание веток, репозитории
  • Git. Клонирование, слияния, merge request
  • Знакомство с GitHub
  • Gitlab-введение
  • ДЗ. Создание собственного репозитория на GitLab. Работа с репозиторием

Занятие 6.

  • Понятие Контейнеризации
  • Знакомство с Docker
  • Dockerfile
  • Упаковка приложений в Docker
  • Создание кластера с Docker-compose
  • Особенности работы с сетями в Docker
  • Мониторинг контейнеров
  • Docker registry
  • ДЗ. Упаковка приложения в Docker

Занятие 7.

  • Docker практика
  • Наработка навыков создания Dockerfile
  • Упаковка своего приложения в Docker
  • Автоматизация сборки приложений с помощью Docker-compose
  • ДЗ. Практика создания Docker-контейнеров

Занятие 8.

  • Обзор систем управления конфигурациями
  • Знакомство с Ansible
  • Синтаксис YAML
  • Ansible: файл инвентаризации
  • Ansible: знакомство с переменными, модулями shell, copy и др.
  • Ansible: запуск на группу хостов
  • Ansible: шаблоны и роли конфигурации
  • ДЗ. Подготовка тестового окружения с помощью Ansible

Занятие 9.

  • Ansible практика
  • Написание плэйбуков
  • Ansible-galaxy. Обзор готовых решений
  • Ansible: поднимаем кластер приложений
  • ДЗ. Практика работы с Ansible

Модуль 2 - Автоматизация

Занятие 10.

  • Знакомство с CI/CD
  • Jenkins: знакомство
  • Запуск Jenkins в Docker
  • Jenkins: модули, используемые плагины
  • Jenkins pipeline
  • Автоматизация сборок
  • TeamCity: Обзор
  • ДЗ. Написание Job-ов  Jenkins

Занятие 11.

  • Jenkins практика
  • Jenkins: автоматизируем процессы разработки
  • ДЗ. Автоматизация деплоя нескольких приложений в небольшой тестовой среде

Занятие 12.

  • Введение в Kubernetes
  • Концепции и архитектура Kubernetes. Pod
  • Kubectl, minikube.
  • ДЗ. Практика работы с Kubernetes в облачной среде

Занятие 13.

  • Облачные технологии
  • Знакомство с AWS. AWS EC2. Создание инстансов
  • AWS S3
  • AWS Route 53
  • AWS CloudWatch, мониторинг и биллинг
  • Знакомство и обзор сервисов MS Azure
  • ДЗ. Деплой распределенного приложения в AWS E2

Занятие 14.

  • Облачные технологии
  • Знакомство с Google Cloud
  • Rancher. Упрощаем настройку Kubernetes
  • Разворачивание Kubernetes в облаке Google
  • ДЗ. Практика работы с Google Cloud

Занятие 15.

  • Анализ и мониторинг логов
  • Обзор актуальных систем мониторинга логов
  • ELK-стэк. Практика настройки
  • ELK-стэк. Паттерны Logstash
  • ELK-стэк. Kibana, создание графиков
  • ДЗ. Написание парсера логов для приложения

Занятие 16.

  • Мониторинг инфраструктуры
  • Обзор наиболее распространенных утилит для мониторинга
  • Zabbix – Enterprise monitoring. Шаблоны, хосты, комплексные экраны. Практика настройки
  • Collectd и Grafana
  • ДЗ. Разработка системы мониторинга для приложения