
Гибкие методологии и философия DevOps
Здесь мы разберемся, что же такое DevOps, зачем оно нужно и чем предстоит заниматься на работе именно нам:
- Жизненный цикл разработки программного обеспечения
- Модели жизненных циклов
- Культура и философия DevOps
- Кто такой DevOps-инженер
Научимся упаковывать приложения в контейнеры и работать с ними:
- Виртуализация и Контейнеризация
- Docker-контейнеры
- Основы работы с Docker
- Основные инструкции Dockerfile
- Многоступенчатая сборка
- Docker compose
- Работа с файловой системой
- Работа с сетью
Изучим основной инструмент работы команд разработки, позволяющий нам работать со всем "в виде кода":
- Знакомство с Git
- Модель GitFlow
- Git под капотом
- Основные команды Git
Разберемся как реализовать конвейер CI/CD в компании, изучим инструменты позволяющие это сделать:
- Continuous Integration & Continuous Deployment
- Основные функции GitLab
- Gitlab Container Registry
- Знакомство с Gitlab CI
- Основные атрибуты пайплайнов
- Services – сайдкары для контейнера
- Сохранение результатов работы пайплайна
- Кастомизация пайплайнов: условия и ветвления
- Модульные пайплайны
Разберемся как и зачем работать с инфраструктурой в виде кода. В данном блоке будет изучен инструмент Ansible:
- Понятие инфраструктурного кода
- Паттерны разработки инфраструктуры
- Системы управления конфигурациями
- Знакомство с Ansible
- Ansible-роли
- Переменные и работа с ними
- Шаблонизация
- Ansible Galaxy
- Тестирование ролей в Ansible Molecule
- Хранение секретов в Ansible Vault
Переносим инфраструктуру в облака! В рамках работы с облачными провайдерами, мы также изучим инструмент Terraform:
- Знакомство с Terraform
- Основы работы с Terraform
- Логика в Terraform, циклы, ветвление
- Написание terraform-модулей
- Работа с облаком, создание учетных записей
- Развертывание облачной инфраструктуры, создание виртуальных машин
- Работа с managed-продуктами
- Циклы, ветвления, гибкость манифестов
- Сочетания Ansible и Terraform для управление инфраструктурой
В данном блоке мы познакомимся с Kubernetes, научимся выполнять деплой через helm и применим знания по работе с инфраструктурой и пайплайнами для решения:
- Что такое Kubernetes
- Архитектура Kubernetes
- Локальное окружение, Kubectl и подключение к API
- Концепция Pod, Манифесты YAML
- Запуск нескольких Pod: Контроллеры, ReplicaSet, Deployment, Job
- Секреты и их использование
- Аутентификация, Авторизация, Admission Controllers
- Хранение данных: Volumes, ConfigMap, Persistent Volumes
- Основные компоненты сетевой подсистемы
- DNS и Маршрутизация
- Взаимодействие контейнеров, Сервисы, Ingress
- Helm и шаблонизация
- Helm Charts, Helm Hooks, Helm Secrets
Это отдельный курс по мониторингу, но весь его материал будет добавлен в курс DevOps Infinite после выпуска первого потока курса по мониторингу
- Здесь мы поговорим о построении качественного мониторинга и логирования
- Важность мониторинга, логгирования и алертинга
- Знакомство с инструментами логгирования
- Обзор ELK-стэк: Elasticsearch, Logstash и Kibana
- Знакомство с Grafana и Loki
- Внедряем Prometheus
- Применение связок разных систем
- Трассировка приложений
- OpenTelemetry Operator в Kubernetes
- Алертинг
Это отдельный курс по безопасности, но весь его материал будет добавлен в курс DevOps Infinite после выпуска первого потока курса по безопасности. В данном блоке мы поговорим про то, как внедрить DevSecOps в нашу жизнь. Разберемся с инструментами SAST/DAST, а также научимся работе с Hashicorp Vault. Подробная программа появится позже.
Дипломная работа
Вы выполняете крупную продакшн-задачу, после которой ваше обучение считается завершенным!