Курс DevOps Engineer разработан с учётом актуальных на данный момент требований, предъявляемых на собеседованиях на данную позицию.
Курс рассчитан на IT-специалистов, системных администраторов, делающих первые шаги в DevOps.
После успешного освоения курса DevOps Вы научитесь:
Понимать основные принципы и философию DevOps
Пользоваться инструментами для автоматизации процессов разработки
Автоматизировать процессы деплоя с помощью инструментов CI/CD
Понимать основные этапы и методы разработки ПО
Четко видеть свою роль в процессах разработки
Ориентироваться в современных системах хранения и обработки информации в т.ч. «облачных»
Лучше контролировать и управлять production, development, и тестовыми-средами
Требования к участникам курса:
знание ос Linux
опыт системного администрирования
Спойлер: Программа обучения
Модуль 1 - Инструменты
Занятие 1.
Введение в DevOps, методология, основные понятия, инструменты
Настройка рабочей среды
Жизненный цикл ПО
Циклы и этапы разработки ПО
Методологии разработки ПО
Agile, Waterfall, Scrum
Знакомство с Google Cloud
ДЗ. Подготовка «облачного» аккаунта для лабораторных работ
Занятие 2.
Введение в облачную инфраструктуру
Облачные провайдеры
Знакомство с Google Cloud Platform
Основные ресурсы Google Cloud Platform
Знакомство с утилитой gcloud
ДЗ. Создание инфраструктуры с безопасным подключением к виртуальным машинам
Занятие 3.
Linux: основы. Разновидности Linux
Linux: ядро, процессы, файлы
Linux: основные команды
Linux: мониторинг системы
Linux: Bash, программирование. Основные сценарии использования
ДЗ. Создание аккаунта на Github. Написание программы бэкапа на bash
Занятие 4.
Виртуализация. Типы гипервизоров
Hyper-v, Xen, KVM
Гипервизор Vmware Esxi
Общее представление о работе Java-приложений
Знакомство с контейнерами сервлетов
Apache Tomcat. Установка и конфигурирование
ДЗ. Деплой выборочного Java-приложения
Занятие 5.
Базы данных
Типы и структуры БД
знакомство с Postgresql. Кластер, диспетчер очередей, репликация
знакомство с Mysql, Percona XtraDB cluster
мониторинг работы БД. Backup
Особенности работы с NoSQL БД
ДЗ. Деплой и разбор тестовой БД Postgresql
Занятие 6.
Знакомство с системами контроля версий
Git. Основные понятия, команды
Git. Создание веток, репозитории
Git. Клонирование, слияния, merge request
Знакомство с GitHub
Gitlab-введение
ДЗ. Создание собственного репозитория на GitLab. Работа с репозиторием
Занятие 7.
Понятие Контейнеризации
Знакомство с Docker
Dockerfile
Упаковка приложений в Docker
Создание кластера с Docker-compose
Особенности работы с сетями в Docker
Мониторинг контейнеров
Docker registry
ДЗ. Упаковка приложения в Docker
Занятие 8.
Docker практика
Наработка навыков создания Dockerfile
Упаковка своего приложения в Docker
Автоматизация сборки приложений с помощью Docker-compose
ДЗ. Практика создания Docker-контейнеров
Занятие 9.
Обзор систем управления конфигурациями
Знакомство с Ansible
Синтаксис YAML
Ansible: файл инвентаризации
Ansible: знакомство с переменными, модулями shell, copy и др.
Ansible: запуск на группу хостов
Ansible: шаблоны и роли конфигурации
ДЗ. Подготовка тестового окружения с помощью Ansible
Занятие 10.
Ansible практика
Написание плэйбуков
Ansible-galaxy. Обзор готовых решений
Ansible: поднимаем кластер приложений
ДЗ. Практика работы с Ansible
Модуль 2 - Автоматизация
Занятие 11.
Знакомство с CI/CD
Jenkins: знакомство
Запуск Jenkins в Docker
Jenkins: модули, используемые плагины
Jenkins pipeline
Автоматизация сборок
TeamCity: Обзор
ДЗ. Написание Job-ов Jenkins
Занятие 12.
Jenkins практика
Jenkins: автоматизируем процессы разработки
ДЗ. Автоматизация деплоя нескольких приложений в небольшой тестовой среде
Занятие 13.
Введение в Kubernetes
Концепции и архитектура Kubernetes. Pod
Kubectl, minikube.
ДЗ. Практика работы с Kubernetes в облачной среде
Занятие 14.
Практика по Kubernetes
Rancher. Упрощаем настройку Kubernetes
Разворачивание Kubernetes в облаке Google
ДЗ. Практика работы с Kubernetes в Google Cloud
Занятие 15.
Анализ и мониторинг логов
Обзор актуальных систем мониторинга логов
ELK-стек. Практика настройки
ELK-стек. Паттерны Logstash
ELK-стек. Kibana, создание графиков
ДЗ. Написание парсера логов для приложения
Занятие 16.
Мониторинг инфраструктуры
Обзор наиболее распространенных утилит для мониторинга
Zabbix – Enterprise monitoring. Шаблоны, хосты, комплексные экраны. Практика настройки
Collectd и Grafana
ДЗ. Разработка системы мониторинга для приложения
Для просмотра содержимого вам необходимо авторизоваться
Для просмотра содержимого вам необходимо авторизоваться