8 812 320 13 03
  • Новости
  • Расписание
  • Курсы
  • Организациям
  • Контакты
  • Перезвоните мне

    DevOps курсы

    DevOps Engineer

    DevOps Engineer
    Начало курса
    16.01.2019
    Продолжительность
    2 месяца (42 ак. часа)
    Расписание
    Ср 19:00 - 21:00
    Пт 19:00 - 21:00

    либо

    Ср 19:00 - 21:00
    Сб 11:00 - 13:00
    Семинар
    (11 мест)
    25990 записаться
    свернуть

    Описание курса

    DevOps (development + operations) - это методология, сформировавшаяся в 2009 году, нацеленная на взаимодействие программистов и системных администраторов для увеличения частоты выпуска релизов. 
    Соответственно, DevOps Engineer - это специалист, который работает на стыке этих двух специальностей и занимается автоматизацией жизненного цикла приложения, включая проектирование, разработку, тестирование, развертывание, поддержку и мониторинг.

    Курс DevOps Engineer разработан с учётом актуальных на данный момент требований, предъявляемых на собеседованиях на данную позицию. Курс рассчитан на IT-специалистов, системных администраторов, делающих первые шаги в DevOps.


    После успешного освоения курса 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
    • ДЗ. Разработка системы мониторинга для приложения
    свернуть

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

    Дмитрий

    Эксперт в сфере DevOps, системного администрирования и поддержки высоконагруженных сервисов.

    В 2007г. окончил ГУАП по специальности "Информационные технологии". 

    В процессе профессиональной деятельности работал в компаниях Таскдата на позиции DevOps инженера и Babadu на позиции системного инженера. 
    Общий опыт работы в IT более 10 лет в компаниях разного уровня.

    В данный момент Дмитрий работает DevOps инженером крупной IT-компании Санкт-Петербурга, поддерживает высоконагруженные сервисы (посещаемость более 1млн. чел. в день).
    свернуть

    Фотографии

    Курсы программирования, тестирования, мобильных и веб-технологий от Level UP!
    Учитесь с профессионалами в сфере IT-образования!