Ежедневно, с 8:30 до 22:30
Предзаказ
753

Python для инженеров от Слёрм

Средняя оценка 5.0 из 5 на основании 1 голосов 5.0 (1)
1 0
0
Автор:
Сайт:
4500 ₽
40000 ₽
-89%
Кэшбэк: 5% (225 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.
Категории:

Научим писать автоматизацию: Docker, Gitlab, Prometheus, K8S и др.

Что будет в курсе:

  1. Разбор библиотек Python для DevOps.
  2. Правила эффективного и поддерживаемого кода.
  3. Решение конкретных задач DevOps.
  4. Подробная обратная связь, ревью кода.

Чего не будет на курсе:

  1. Любые проявления Python для веба, аналитики, бекенд-разработки и др.
  2. У нас только Питон для DevOps!

После курса у вас останется проект на гитлабе: придумайте свой или сделайте один из предложенных вариантов.

Полная программа

№1: Введение

  • Почему OPS’ам нужен питон?
  • В чем его прелесть?
  • Для каких задач Python хорошо подходит?

№2: Основы синтаксиса и структур в Python

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

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

№3: Улучшенное владение Python: оптимизации и ООП

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

  • Продвинутая работа с циклами — оператор yield и генераторы, инсайты о циклах в Python (оператор else в цикле, оптимизации циклов comprehensions, etc.)
  • Специальные типы структур (frozendict, defaultdict, etc.)
  • Базовые понятия ООП: классы, экземпляры классов, инкапсуляция, наследование и полиморфизм
  • Практика: набор небольших микрозаданий по каждому уроку
  • Продвинутая практика: аудит использования услуг. У CTO появилось подозрение, что некоторые услуги и сервисы уже не используются командами. Проблема заключается в том, что модуль мониторинга используемых услуг не обновлялся последние десять лет: он не может выгрузить агрегированные данные, да и формат возвращаемых значений не соответствует общепринятым стандартам. Вы были избраны, чтобы извлечь снятые показатели, агрегировать их по типу и команде и предоставить данную информацию CTO для первоначальной оценки масштабов проблемы

№4: Подключения по сети

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

  • Пакет pip и установка сторонних модулей
  • Модуль Paramiko для выполнения команд по ssh
  • Модуль requests для выполнения HTTP запросов
  • Обзор модулей для работы с базами данных и брокерами сообщений
  • Практика разминочная: Астрологи объявили неделю кодинга на Python. Количество практик выросло вдвое.Вас заметили! Кажется, вы использовали curl, чтобы получать информацию от биллинговой системы. Самое время использовать модуль requests, чтобы выполнить HTTP-запрос внутри вашего приложения. Кстати, модуль мониторинга не умеет собирать данные о лимитах с особых облачных сервисов SBS (Slurm Beautiful Services). Но можно запросить их самостоятельно: по протоколу SSH
  • Практика со звездочкой. Команда разработки внедряет уже не новую методологию: Допустил возникновение алерта — получи задачу. Аналитическая подсистема ищет только отборные ошибки и складывает сообщения о них в брокер сообщений Kafka. Ваша задача завершить цикл возврата багов разработчикам: ваш консьюмер должен автоматически создавать задачи с нужным описанием и приоритетом в Trello

№5: Работа с текстом в различных форматах

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

  • Модуль re и регулярные выражения
  • Модули работы с данными в разных форматах: separated values, json, yaml, xml
  • Использование аргументов командной строки: модуль argparse
  • Практика: создание источника данных об использовании услугВ ходе аудита использования услуг вы выявили важную для бизнеса информацию, заинтересовался даже CEO. Было принято решение проанализировать потерянные деньги и больше не допускать таких ситуаций. Для этого нужно дать аналитикам инструмент получения данных, чтобы они подготовили отчеты. Проблема заключается в том, что модуль мониторинга возвращает лимиты по услугам по отдельному запросу в форматах yaml, а цены за услуги возвращаются биллинговой системой в формате xml. Необходимо срастить данные о текущей загрузке с лимитами и ценами. Агрегированную информацию отдел аналитики запросил в формате JSON с возможностью указать интервал времени и шаг агрегации

№6: Взаимодействие с операционной системой

Зачем: Важность взаимодействия с операционной системой не нужно объяснять дополнительно. Как подружить её с Python — в этом уроке.

  • Чтение и запись файлов.
  • Модуль os — чтение environment variables, работа с директориями и правами, работа с процессами
  • Модуль subprocess для интерактивного взаимодействия с процессами
  • Практика: автоматическое предоставление доступов к серверамВ ходе кампании по отказу от неиспользуемых услуг возникла курьезная ситуация: сервер продуктовой команды отключили, но инфраструктурная команда периодически использовала его в качестве хоста для стейджинга. Выяснилось, что продуктовая команда не использовала его потому что периодически кто-то перезаписывал их настройки своими. Было решено, что теперь ресурс будет закрепляться только за членами одной команды, а избежать ошибок поможет автоматика. Вам, как заварившему эту кашу, необходимо написать агент, который будет периодически опрашивать систему управления правами и вносить изменения в конфигурации прав внутри установленных сервисов и по необходимости давать сервисам команду перечитать конфигурации

№7: Пишем свой модуль для Ansible

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

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

№8: K8S оператор на Python (live-coding stream)

Зачем: расширим возможности K8S под свои задачи

  • Покажем как делать это не только на Go

№9: Создание и кейсы использования своего API

Зачем: подготовка кода к деплою — одна из важнейших задач. Сделать этот процесс гибче и удобнее помогают собственные скрипты для stage пайплайнов.

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

№10: Взаимодействие с CVS и DevOps системами

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

№11: Chatops с Errbot на Python (live-coding stream)

Зачем: Infrastructure as a Chat — управляй инфраструктурой из мессенджера. Бывает ли так? Мы попробуем.

  • За два часа делаем чатопс в прямом эфире

№12: Финальный проект

  • Вы можете автоматизировать свою задачу, а мы обещаем сделать ревью вашего кода. Если идей или задач нет — мы поможем их придумать!
Характеристики
Наличие Предзаказ Тип Видео Размещение на сайте 29.05.2021 Артикул 753

Об авторах

Фото: Слёрм
0.0
Слёрм
Учебный центр для инженеров и разработчиков уровня middle+. Вырос из внутреннего обучения DevOps-компании Southbridge: Kubernetes, Docker, Kafka, Go и Python для инженеров.

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: Разработчик на Python
Скидка 92%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Разработчик на Python
Python-бэкенд
Постер товара: DevOps. Практики и инструменты
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
DevOps. Практики и инструменты
CI/CD и автоматизация
Постер товара: Python для инженеров
Скидка 80%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Python для инженеров
Python-бэкенд
Постер товара: DevOps Tools для разработчиков
Скидка 92%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
DevOps Tools для разработчиков
CI/CD и автоматизация
Постер товара: Продвинутый курс по автоматизации тестирования Python Advanced
Скидка 91%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Продвинутый курс по автоматизации тестирования Python Advanced
FastAPI и Flask
Постер товара: Продвинутый Python
Скидка 91%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Продвинутый Python
Продвинутый Python и ООП
Постер товара: Python-разработчик от Слёрм
Скидка 89%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Python-разработчик от Слёрм
Django и DRF
Постер товара: Автоматизированное тестирование на Python
Скидка 78%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Автоматизированное тестирование на Python
Selenium и Playwright на Python