- Каждый репозиторий представляет из себя: теорию, практику и задачник - которые разложены по соответствующим директориям
- Глобально мы поднимем бэкенд на основе самописного банковского Java-приложения (несколько микросервисов в разрезе Kubernetes) с завязанной на него базой данных
- Замониторим бэкенд системой на основе Grafana + Prometheus + основные экспортеры
- Настроим фронтенд: Grafana GUI + PromQL в разрезе Linux (Terminal Debian)
- Будем использовать Git на постоянной основе
- Будем создавать и изменять виртуальные машины с помощью Terraform
- Научимся практикам автоматизации и развертывания приложений с помощью Ansible
- Научимся быстро и качественно деплоить Backend с помощью Docker Compose
- Научимся практикам CI/CD
- Поднимем кластер Kubernetes и замониторим его
- В финале у вас будет личный репозиторий на GitHub, который пойдет в портфолио в качестве pet-проекта
- Пример схемы бэкенда после прохождения финального репозитория Kubernetes / Схемы постоянно обновляются, указаны приблизительные макеты
Задания написаны с техническим уклоном в мониторинг и в Linux и таким образом, что о тех инструментах, которые в них используются спрашивают в 90% случаев на собеседованиях по части Linux у джунов:
- DevOps/SRE
- Инженеров по сопровождению ПО
- Инженеров по мониторингу
- Администраторов Linux
- Этот учебный репозиторий охватывает на 90% рутину вышеперечисленных должностей в базе
- Задания носят больше лабораторный характер, и я это понимаю, но они позволят наработать нужную практику для успешного прохождения собеседования. Где-то нужно будет подумать над заданиями, а где-то я даю подсказки
- Теория и практика идут последовательно и сложены в отдельных папках к кажому инструменту и ПО, всё доступно и понятно
- Сразу все задания со всеми пунктами через ChatGPT (DeepSeek) не прогоняем, иначе не пройдем собеседование
- Пользуемся DeepSeek только по точечным запросам, к примеру,
как работает команда на выдачу прав, потому что это сильно быстрее, чем поиск в Google - Делаем пункты строго по очереди в соответствии с содержанием и не перепрыгиваем
- Мы развернем бэкенд мониторинга в разрезе Unit-сервисов + поднимем балансир в виде Nginx
- Изучим сложные векторные схемы в разрезе мониторинга
- Поднимем Prometheus (познакомимся с моделями Pull и Push) + Node Exporter + Alertmanager + All Exporters со всего репозитория + автоматизируем процессы установки на Bash (а в дальнейшем научимся работать с Ansible)
- Напишем кастомные экспортеры (Bash) и разработаем свои самостоятельно (Golang)
- Разработаем базу данных PostgreSQL и развернем её, замониторив через Postgres Exporter
- Разберемся, как работает интерфейс API на практике, написав банковское приложение на Java, сняв с него метрики
- Горизантально смасштабируем Prometheus с помощью Prometheus Federation и Mimir
- Напишем (выпустим) тестовый блок сертификатов и замониторим их через Blackbox Exporter, а также пропингуем серверы
- Замониторим процессы с помощью Process Exporter
- И так далее по основным экспортерам
- Плавно перейдем от виртуализации и Unit-сервисов на контейнеризацию в разрезе Docker и поднимем сложный бэк с помощью Docker Compose
- Далее Terraform, Ansible, CI/CD и в финале Kubernetes
- Скачаем, подгрузим, нарисуем и разработаем дашборды в формате
JSONдляGrafanaна основе метрик- Познакомимся с Data Source и с переменными в Grafana
- Изучим основы
PrometheusиPromQL(базовый язык работы с БДPrometheus)- Будем применять на практике четыре золотых сигнала и изучим типы метрик
- Выучим регулярные выражения
- Применим различные агрегации и функции
- Будем использовать сложные переменные и строить кастомные дашборды
- В финале сделаем дипломную работу на основе мониторинга микросервисного Java-приложения в кластере Kubernetes
- В настройку сети сильно углубляться не будем, так как у вас на работе будут готовые машины, на которых уже развёрнут софт и сетка уже давно настроена
- Всё же мы сразу идем на должность продвинутого Juniour+ специалиста, где по сетям особо гонять не будут, но это не значит, что не нужно знать основы
- Скорее всего на должности инженера по сопровождению-мониторингу вас будет ждать условный кейс по миграции системы мониторинга, либо миграции какого угодно софта с уже настроенных серверов CentOS на голые Ubuntu Server и т.д, где сетку настраивать не нужно
Желаю удачи! Вы на правильном пути!