DevOps
Описание
Репозиторий курс DevOps (АРЭ ПО)
Языки
- Python39,1%
- HCL34,4%
- Dockerfile14,8%
- Jinja10%
- HTML1,1%
- Shell0,6%
README.md
DevOps
Учебное пособие по дисциплине "Автоматизация разработки и эксплуатации ПО" (АРЭ ПО).
Лекции
Видеозаписи лекций:
Презентации:
- Лекция 1. Введение в DevOps. Системы виртуализации и облачные решения (Михаил Кучеренко)
- Лекция 2. Контейнеризация + БД (Михаил Кучеренко + Алексей Якубов)
- Лекция 3. Контроль версий, Git, CI/CD (Дмитрий Аладин)
- Лекция 4. Масштабируемость и отказоустойчивость + docker compose (Антон Балашов)
- Лекция 5. Мониторинг, логирование и оповещение событий (Михаил Кучеренко) ELK и тд
- Лекция 6. Конфигурационное управление. Ansible, Terraform (Антон Балашов)
- Лекция 7. Kubernetes (Алексей Якубов)
- Лекция 8. Облачная инфраструктура в общем. BASIS (Алексей Якубов + Михаил Кучеренко)
- Лекция 9. DevOps для задач обработки данных и машинного обучения (Гапанюк Ю.Е.)
- Лекция 10. Паттерны использования Kubernetes (Алексей Якубов + Михаил Кучеренко)
- Лекция 11. Infrastructure as Code. Terraform (Антон Балашов)
- Лекция 12. Раздел "Базы данных". Часть 1 (Виноградова М.В.)
- Лекция 13. Раздел "Базы данных". Часть 2 (Виноградова М.В.)
- Лекция 15. Раздел "Обработка больших данных". Часть 2. Apache Spark (Лахвич Д.С.)
Дополнительные ссылки:
Экзамен
Практические занятия
Занятие 1 (Лаб 1). Настройка виртуальной машины Linux
Автор: Михаил Кучеренко
- Знакомство с Ubuntu 20.04.
- Поставить docker, через bash, сетевые интерфейсы.
Занятие 2 (РК 1). Практические навыки работы с Docker - контейнер с PostgreSQL
Авторы: Михаил Кучеренко + Алексей Якубов
- Первая половина:
- Работа с PostgreSQL/MySQL
- Docker Volume
- Вторая половина:
- Php My Admin/Adminer во втором контейнере
Занятие 3 (Лаб 2). Балансировка + docker-compose
Автор: Антон Балашов
- Первая половина:
- HTML страничка
- Балансировщик nginx (HAProxy)
- Вторая половина:
- веб-сервис с БД
Итог 4 взаимосвязанных контейнера в docker-compose:
- субд postgresql, проверяем как работают volumes
- микросервис-1, только отдает html страничку
- микросервис-2, обращатеся в БД, сетевое взаимодействие
- балансировщик (haproxy/nginx) с port-forwarding-ом, будет перенаправлять запросы на другие контейнеры
Занятие 4 (ДЗ 1). Настройка CI/CD в GitLab
Автор: Дмитрий Аладин
- Первая половина:
- Создание репозитория GitLab/GitHub
- Управление репозиторием с помощью команд git
- Вторая половина:
- Добавление в репозиторий проекта с юнит-тестами
- Настройка Pipeline в GitLab/GitHub:
- Проверка качества кода
- Активация юнит-тестов
- Сборка проекта в бинарник и публикация в артефакты Releases
- Настройка Runner-ов
- Активация настроенных Pipeline
Занятие 5 (Лаб 3). Мониторинг: Prometehus + Grafana + Alertmanager
Автор: Михаил Кучеренко
Задачи:
- Установили Prometheus + Grafana + Alertmanager.
- Настроили мониторинг, написали конфиги.
- Если плохо - использовать готовый образ
Занятие 6 (ДЗ 2). Ansible, Playbook
Автор: Антон Балашов
- Создаем виртуалку поменьше чтобы мониторить из первой виртуалки
- Пишем playbook, который автоматизирует развертывание виртуалки
- В конце выключаем 2 имеющихся виртуалки
Занятие 7 (Лаб 4). Развертывание кластера Kubernetes
Автор: Алексей Якубов
- minikube - 8 RAM достаточно. Из коробки не заработает. Для тех, у кого мощные машины - у большинства, дадим в кластере
- В отдельной виртуалке кубер. Много манифестов написать
Итог - все контейнеры поднять в кубере и замониторить
Занятие 8 (РК 2). Индивидуальное задание
Автор: Алексей Якубов
- Развернуть свой проект из 5 лабораторной курса РИП в контейнеры Docker Compose: Django + ORM + таблица в MySQL (без AJAX, SPA и React)
Задание на +1 балл
По вашей дипломной работе необходимо создать контейнеры Docker Compose, без Kubernetes. Например: React, Django REST или что-то свое.
Практикум в BASIS
По ДЗ BASIS от Ростелеком: Helm, и тд - только для сертификата Ростелекома
Полезные ссылки
- Открытая вечерняя школа. Kubernetes для разработчиков (Осень 2021)
- Микрослужбы .NET: Архитектура контейнерных приложений .NET
- Обсуждение книги Мартина Клеппмана "Designing Data-Intensive Applications" в формате подкастов Tinkoff Reader Club "Code of Architecture"