скопируйте промокод
BLACK_MONDAY
Большая распродажа Слёрма! -50% на все курсы
Чтобы купить со скидкой:
  • Копируйте промокод
  • Вводите промокод на этапе оформления
Только сегодня скидка 50% на все курсы по промокоду BLACK_MONDAY
Условия акции:
  • Скидка распространяется только на физических лиц и только при оплате по карте
  • Скидка не распространяется на курсы DevOps Upgrade и Data-инженер
  • Скидка не работает с комплектами курсов и другими специальными предложениями
  • Период действия 11 ноября с 00:00 до 23:59
  • Скидка не применяется при рассрочке
Чёрный понедельник в Слёрме это лучше, чем Чёрная пятница
У выпускников курса появляется много свободного времени — теперь Python делает за них рутинные задачи. А еще они умеют работать с Kubernetes и Prometheus
поток: старт в 2025 году
видеокурс: старт в любой момент
Python для инженеров
Объем программы 100 часов
27 часов теории
Результат
Систематизация знаний и востребованные навыки
Консультации с экспертами
1 установочная встреча с куратором и 4 встречи со спикерами
Сертификация
При успешном прохождении 80% курса
73 часа практики
*Преимущества потока:
Начни учиться бесплатно
Познакомьтесь с материалами и спикерами курса. Демодоступ доступен 3 дня.
Что будет на курсе
Разбор библиотек Python и решение конкретных задач DevOps
Правила эффективного и поддерживаемого кода
Принципы автоматизации: Docker, Gitlab, Prometheus, K8S и др.
Всем специалистам, которые работают с инфраструктурой вне зависимости от железа и стека — от классических админов до Senior DevOps
  • Инженерам эксплуатации
Кому подойдёт курс:
  • Архитекторам
  • Системным администраторам
  • DevOps
Экономящая 23 часа в месяц и повышающая лояльность клиентов за быстроту обработки запросов

Кейс от Данила Бахаева,
DevOps-инженер в X5 Group

Раньше специалист техподдержки руками менял конфигурацию по запросу клиентов и вносил изменения в биллинг. Это занимало ~5 минут, а таких задач было 7-10 в день.

После автоматизации с помощью Python затраты на задачу сократились до 15 секунд.

Автоматизация изменения конфигурации сервера

Что смогли автоматизировать с Python наши студенты

Позволяющий сократить расходы на 40-50% или около 12 миллионов рублей в год.

Кейс от Артема Чекунова
Senior DevOps Engineer в Chartboost
Компания активно пользуется облаком и тратит 2 миллиона рублей в месяц на инфраструктуру в AWS.

Можно написать инструмент на Python, который будет анализировать и отключать «холостые ресурсы».

Инструмент для анализа и отключения холостых ресурсов

Сокращающий рутину

Кейс от Владимира Гурьянова,
Архитектора Флант

Написали на Python lint-тесты для ansible и kubernetes. Они позволяли проверять на наличие обязательных параметров, которые были стандартными в рамках компании.

До этого проверяли руками и глазами, что конечно же намного дольше и неэффективней.

Python lint-тест для Ansible
и Kubernetes

Сводящий к минимуму простой платформы

Кейс от Артема Чекунова
Senior DevOps Engineer в Chartboost
У компании было много экзотических сервисов, которые необходимо мониторить.

Мы написали несколько Prometheus-exporter'ов на Python, что позволило эффективнее мониторить приложения (актуально для Fintech, ADtech, крупных медийных и сервисных площадок).

Prometheus-exporter для метрик в кастомном формате

Компания активно пользуется облаком и тратит 2 миллиона рублей в месяц на инфраструктуру в AWS.

Можно написать инструмент на Python, который будет анализировать и отключать «холостые ресурсы». Это позволит сократить расходы на 40-50% или около 12 миллионов рублей в год.

Артем Чекунов
Senior DevOps Engineer в Chartboost

Инструмент для анализа и отключения холостых ресурсов
Что можно автоматизировать с Python
Раньше специалист техподдержки руками менял конфигурацию по запросу клиентов и вносил изменения в биллинг. Это занимало ~5 минут, аналогичных задач было 7-10 в день.

После автоматизации с помощью Python затраты на задачу сократились до 15 секунд. Это экономит в среднем 23 часа в месяц и повышает лояльность клиентов за быстроту обработки запросов

Кейс от Данила Бахаева,
DevOps-инженер в X5 Group
Автоматизация изменения конфигурации сервера
Написали на Python lint-тесты для ansible и kubernetes. Они позволяли проверять на наличие обязательных параметров, которые были стандартными в рамках компании.

До этого проверяли руками и глазами, что конечно же намного дольше и неэффективней.

Кейс от Владимира Гурьянова,
Архитектора Флант
Python lint-тест для Ansible
и Kubernetes
У компании было много экзотических сервисов, которые необходимо мониторить.

Мы написали несколько Prometheus-exporter'ов на Python, что позволило эффективнее мониторить приложения и свести к минимуму простой платформы (актуально для Fintech, ADtech, крупных медийных и сервисных площадок).

Кейс от Артема Чекунова
Senior DevOps Engineer в Chartboost
Prometheus-exporter для метрик в кастомном формате
Программа
у вас будет 3 недели на сдачу каждого домашнего задания
Установочная встреча с куратором. Знакомимся с курсом и форматом обучения. Рассказываем о том, что ждет в процессе обучения, как учиться онлайн и выполнять практические задания. Отвечаем на вопросы студентов.
Зачем: научиться понимать логику программ на Python, а также писать простые программы — важнейшая задача. «Самое то», если вы не знакомы с синтаксисом Python.

— Типы данных и переменные, мутабельные/иммутабельные и простые/составные типы данных, приемы отладки.
— Условный оператор — логические операторы, простые условия, вложенные условия и замена оператора switch.
— Базовые циклы — циклы while и for, итераторы, прерывания циклов.
— Функции, методы строк, списков и словарей.
— Генерация и обработка исключений.

Практика: набор небольших микрозаданий по каждому уроку.
Зачем: научиться понимать логику программ на Python, а также писать простые программы — важнейшая задача. «Самое то», если вы не знакомы с синтаксисом Python.

— Типы данных и переменные, мутабельные/иммутабельные и простые/составные типы данных, приемы отладки.
— Условный оператор — логические операторы, простые условия, вложенные условия и замена оператора switch.
— Базовые циклы — циклы while и for, итераторы, прерывания циклов.
— Функции, методы строк, списков и словарей.
— Генерация и обработка исключений.

Практика: набор небольших микрозаданий по каждому уроку.
Зачем: Освоим особенности Python — именно за их счет он так прост и практичен. Также раскроем значение тех самых трех букв (мы про ООП) без академической теории и с понятным предназначением.

— Продвинутая работа с циклами — оператор yield и генераторы, инсайты о циклах в Python, оператор else в цикле, оптимизации циклов comprehensions, etc.
— Специальные типы структур: frozendict, defaultdict, etc.
— Базовые понятия ООП: классы, экземпляры классов, инкапсуляция, наследование и полиморфизм.
— Создание контекстных менеджеров для своих типов: конструкция with.

Практика: набор небольших микрозаданий по каждому уроку.
Продвинутая практика: аудит использования услуг.
У CTO появилось подозрение, что некоторые услуги и сервисы уже не используются командами. Проблема заключается в том, что модуль мониторинга используемых услуг не обновлялся последние десять лет: он не может выгрузить агрегированные данные, да и формат возвращаемых значений не соответствует общепринятым стандартам. Вы были избраны, чтобы извлечь снятые показатели, агрегировать их по типу и команде и предоставить данную информацию CTO для первоначальной оценки масштабов проблемы.
Зачем: Практически каждый сервис имеет интерфейс для подключения по какому-либо сетевому протоколу. А без подключения невозможно взаимодействие. К счастью, в экосистеме Python найдутся модули-клиенты практически для любых протоколов.

— Пакет pip и установка сторонних модулей.
— Модуль Paramiko для выполнения команд по ssh.
— Модуль requests для выполнения HTTP запросов.
— Обзор модулей для работы с базами данных и брокерами сообщений.

Практика. Команда разработки внедряет уже не новую методологию: Допустил возникновение алерта — получи задачу. Аналитическая подсистема ищет только отборные ошибки и складывает сообщения о них в брокер сообщений Kafka. Ваша задача завершить цикл возврата багов разработчикам: ваш консьюмер должен автоматически создавать задачи с нужным описанием и приоритетом в Trello.
Встреча со спикерами по темам:

Тема 2,3 «Основы синтаксиса Python 1 и 2 часть»
Тема 4 «Улучшенное владение Python»
Тема 5 «Подключение по сети»
Зачем: Подключение к сервису — только половина дела. Другая половина это обмен информацией. А информация зачастую представляет собой набор текстовых символов в определенном формате. Раскодировать и закодировать помогут модули. Информация не нужна вся целиком? Извлечь важное, отбросив остальное помогут регулярные выражения.

— Модуль re и регулярные выражения.
— Модули работы с данными в разных форматах: separated values, json, yaml, xml.
— Использование аргументов командной строки: модуль argparse.

Практика: создание источника данных об использовании услуг.
В ходе аудита использования услуг вы выявили важную для бизнеса информацию, заинтересовался даже CEO. Было принято решение проанализировать потерянные деньги и больше не допускать таких ситуаций. Для этого нужно дать аналитикам инструмент получения данных, чтобы они подготовили отчеты. Проблема заключается в том, что модуль мониторинга возвращает лимиты по услугам по отдельному запросу в форматах yaml, а цены за услуги возвращаются биллинговой системой в формате xml. Необходимо срастить данные о текущей загрузке с лимитами и ценами. Агрегированную информацию отдел аналитики запросил в формате JSON с возможностью указать интервал времени и шаг агрегации.
Зачем: Важность взаимодействия с операционной системой не нужно объяснять дополнительно. Как подружить её с Python — в этом уроке.

— Чтение и запись файлов.
— Модуль os — чтение environment variables, работа с директориями и правами, работа с процессами.
— Модуль subprocess для интерактивного взаимодействия с процессами.

Практика: автоматическое предоставление доступов к серверам.
В ходе кампании по отказу от неиспользуемых услуг возникла курьезная ситуация: сервер продуктовой команды отключили, но инфраструктурная команда периодически использовала его в качестве хоста для стейджинга. Выяснилось, что продуктовая команда не использовала его потому что периодически кто-то перезаписывал их настройки своими. Было решено, что теперь ресурс будет закрепляться только за членами одной команды, а избежать ошибок поможет автоматика. Вам, как заварившему эту кашу, необходимо написать агент, который будет периодически опрашивать систему управления правами и вносить изменения в конфигурации прав внутри установленных сервисов и по необходимости давать сервисам команду перечитать конфигурации.
Зачем: расширим возможности K8S под свои задачи.
Зачем: Ansible — мощная система управления конфигурациями, да еще и с возможностью расширения собственными модулями. Какое совпадение, что она сама и большинство модулей написаны на Python.

— Написание своих модулей для Ansible.

Практика: написание модуля управления правами.
Давным-давно, в далёкой-далёкой галактике вы уже писали агент для выдачи прав к определенным сервисам. Пришло время поменять pull на push и в этом поможет Ansible. Все что нужно — лишь модуль.
Встреча со спикерами по темам:

Тема 6 «Работа с текстом в различных форматах»
Тема 7 «Взаимодействие с операционной системой»
Тема 8 «K8S operator на Python»
Тема 9 «Пишем свой модуль для Ansible»
Зачем: Подготовка кода к деплою — одна из важнейших задач. Сделать этот процесс гибче и удобнее помогают собственные скрипты для stage пайплайнов.

— Создание REST API на Flask.
— Создание своего prometheus exporter с Prometheus Python Client и Flask.

Практика: выгрузка данных в стороннюю систему мониторинга.
Затраты на неиспользуемое оборудование превысили даже пессимистичные прогнозы. Теперь у команды инженеров есть еще одна зона ответственности — мониторинг неиспользуемых услуг. Для этого вам необходимо периодически опрашивать биллинговую систему через ваш скрипт и передавать данные в Prometheus. Формат получаемых данных все еще не подходит. Вам необходимо реализовать коннектор. А заодно и написать эндпоинт, чтобы отдел аналитики всегда имел под рукой актуальную информацию в формате JSON.
Зачем: Иногда лучше не иметь никакого кода, чем код, который работает нестабильно. Для того чтобы не бояться сломать свой код, нужно писать тесты.

— Виды тестов: unit, интеграционные и end-to-end.
— Обзор модуля pyhamcrest и его матчеров.
— Архитектура и возможности pytest.
— Использование pytest и pyhamcrest для написания юнит-тестов.

Практика: написание тестов при помощи pytest и pyhamcrest для вашего API.
Зачем: Знания о Conventional Commits (общепринятом стандарте написания коммитов) и генерации change log помогают поддерживать структурированность и прозрачность в проекте, что способствует росту культуры DevOps в команде. Это важный шаг к подготовке специалистов к реальным вызовам в разработке ПО.

— Использование сторонних модулей на примере интеграции в пайплайны Gitlab.
— Использование pygit для получения информации об изменениях в коде.

Практика: генерация change log из коммитов.
Ваши решения настолько понравились команде инженеров, что они вдохновились ими и начали писать свои. Только вот описания к релизам сделать всегда забывают. Для этого командой было принято решение внедрить commit conventions и генерировать ченджлоги прямо из коммитов при слиянии dev-бранча с релизным, а если название коммита не соответствует commit conventions — не допускать merge-request до merge.
Зачем: Основные проблемы бизнеса не в производительности приложений и даже не в возникающих в коде ошибках. Самые серьезные проблемы возникают когда коммуникация сотрудников происходит неэффективно. Chatops является одним из способов решения этой проблемы.

— Концепция Chatops: какие проблемы решает внедрение Chatops?
— Фреймворк Errbot: установка, создание базового шаблон плагина, конфигурирование и запуск.
— Фреймворк Errbot: создание своего плагина для Chatops с различными вариантами обработки сообщений.
Встреча со спикерами по темам:

Тема 10 «Создание и кейсы использования своего API»
Тема 11 «Юнит-тестирование своего приложения»
Тема 12 «Взаимодействие с CVS и DevOps системами»
Тема 13 «Chatops с Errbot на Python»
и рассказываем про финальный проект.
По итогам курса студент выполняет финальное задание. Тему и путь решения нужно будет выбрать самостоятельно. Это может быть абсолютно любая автоматизация на Python: свой оператор для Kubernetes, свой модуль или плагин для Ansible, расширение любой системы вне изученных технологий и многое другое.

С 15 ноября по 13 декабря — работа над финальным проектом

19 декабря — открытая защита финального проекта (для желающих) и завершение потока

Дедлайн сдачи практических работ на один модуль — 3 недели
Работа над финальным проектом — 1 месяц
Авторы и спикеры курса
Виталий Лихачев
SRE в booking.com, ex-Avito Senior Software Engineer
9+ лет в коммерческой разработке. Работал в стартапах, на аутсорс и в продуктовых командах. Выстраивает процессы в командах. Строит инфраструктуру под проекты в публичных облаках. Выступает с докладами про базы данных, оркестраторы и др. Keywords: высоконагруженные системы, распределённые системы, проектирование систем, низкоуровневые оптимизации, тюнинг производительности систем под капотом.
Подробнее о спикере
Спикер
Ярослав Телишевский
Архитектор высоконагруженных систем, ООО ВБ-ТЕХ
  • Больше 10 лет опыта
  • Разрабатывал ЕГРН для государства, облачную платформу для Сбербанка
Спикер
  • Регулярно работает с: threading, asyncio, aiohttp, fastAPI, k8s, Ansible, Prometheus
Подробнее о спикере
Антон Рязанцев
Expert Software Developer in Test
"Python продолжает уверенно набирать популярность. Во многом это происходит благодаря его универсальности. На нем можно быстро автоматизировать какую-либо рутинную задачу, написать простую программу. Он проще в освоении, чем большинство других ЯП"
Автор
Подробнее о спикере
Денис Наумов
Techlead, Data Engineer в Skyeng
"Сейчас оптимальное время для того, чтобы изучать Python. Уже существует множество библиотек и фреймворков, которые упрощают жизнь инженерам, но все еще есть возможность прикоснуться к основам, не скрытым за множеством слоев абстракций"
Автор
Подробнее о спикере
Денис Наумов
Techlead, Data Engineer в Skyeng
"Сейчас оптимальное время для того, чтобы изучать Python. Уже существует множество библиотек и фреймворков, которые упрощают жизнь инженерам, но все еще есть возможность прикоснуться к основам, не скрытым за множеством слоев абстракций"
Автор
Антон Рязанцев
Expert Software Developer in Test
"Python продолжает уверенно набирать популярность. Во многом это происходит благодаря его универсальности. На нем можно быстро автоматизировать какую-либо рутинную задачу, написать простую программу. Он проще в освоении, чем большинство других ЯП"
Автор
Ярослав Телишевский
Архитектор высоконагруженных систем, ООО ВБ-ТЕХ
  • Больше 10 лет опыта
  • Разрабатывал ЕГРН для государства, облачную платформу для Сбербанка
Спикер
  • Регулярно работает с: threading, asyncio, aiohttp, fastAPI, k8s, Ansible, Prometheus
Виталий Лихачев
SRE в booking.com, ex-Avito Senior Software Engineer
9+ лет в коммерческой разработке. Работал в стартапах, на аутсорс и в продуктовых командах. Выстраивает процессы в командах. Строит инфраструктуру под проекты в публичных облаках. Выступает с докладами про базы данных, оркестраторы и др. Keywords: высоконагруженные системы, распределённые системы, проектирование систем, низкоуровневые оптимизации, тюнинг производительности систем под капотом.
Спикер
Отзывы студентов