Сейчас ищут:

Продажа [Слёрм] Python для инженеров (Денис Наумов)

  • Внимание!

    В данном разделе находятся курсы которые продаются за отдельную плату (контакты для покупки указаны внизу каждой темы).

    Премиум на такие темы не распространяется.

Admin

Команда форума
Администратор
Регистрация
15 Дек 2021
Сообщения
223,394
Реакции
1,314
Баллы
113
b01596ccc32f-jpg.162809




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

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

Требования:
— Базовые навыки администрирования Linux (взаимодействие с процессами, файлами, использование прикладных протоколов передачи данных).
— Опыт работы с git.
— Понимание предназначения Ansible и модулей Ansible.
— Иметь представления о предназначении Kubernetes и операторов Kubernetes.
— Желательно, опыт работы с GitLab и GitLab CI.
— Желательно, базовые навыки автоматизации на Bash.Программа курса:
№0: Введение
  • Почему OPS'ам нужен питон?
  • В чем его прелесть?
  • Для каких задач Python хорошо подходит?
№1: Основы синтаксиса и структур в Python
Зачем: научиться понимать логику программ на Python и не только, а так же писать простые программы - важнейшая задача. "Самое то", если вы не знакомы с синтаксисом Python
  • Типы данных и переменные, мутабельные/иммутабельные и простые/составные типы данных, приемы отладки
  • Условный оператор - логические операторы, простые условия, вложенные условия и замена оператора switch
  • Базовые циклы - циклы while и for, итераторы, прерывания циклов
  • Функции, методы строк, списков и словарей
  • Генерация и обработка исключений
  • Практика: набор небольших микрозаданий по каждому уроку
№2: Улучшенное владение Python: оптимизации и ООП
Зачем: Освоим особенности Python - именно за их счет он так прост и практичен. Также раскроем значение тех самых трех букв (мы про ООП) без академической теории и с понятным предназначением.
  • Продвинутая работа с циклами - оператор yield и генераторы, инсайты о циклах в Python (оператор else в цикле, оптимизации циклов comprehensions, etc.)
  • Специальные типы структур (frozendict, defaultdict, etc.)
  • Базовые понятия ООП: классы, экземпляры классов, инкапсуляция, наследование и полиморфизм
  • Практика: набор небольших микрозаданий по каждому уроку
  • Продвинутая практика: аудит использования услуг. У CTO появилось подозрение, что некоторые услуги и сервисы уже не используются командами. Проблема заключается в том, что модуль мониторинга используемых услуг не обновлялся последние десять лет: он не может выгрузить агрегированные данные, да и формат возвращаемых значений не соответствует общепринятым стандартам. Вы были избраны, чтобы извлечь снятые показатели, агрегировать их по типу и команде и предоставить данную информацию CTO для первоначальной оценки масштабов проблемы
№3: Подключения по сети
Зачем: Практически каждый сервис имеет интерфейс для подключения по какому-либо сетевому протоколу. А без подключения невозможно взаимодействие, к счастью в экосистеме Python найдутся модули-клиенты практически для любых протоколов.
  • Пакет pip и установка сторонних модулей
  • Модуль Paramiko для выполнения команд по ssh
  • Модуль requests для выполнения HTTP запросов
  • Обзор модулей для работы с базами данных и брокерами сообщений
  • Практика разминочная: Астрологи объявили неделю кодинга на Python. Количество практик выросло вдвое.
    Вас заметили! Кажется, вы использовали curl, чтобы получать информацию от биллинговой системы. Самое время использовать модуль requests, чтобы выполнить HTTP-запрос внутри вашего приложения. Кстати, модуль мониторинга не умеет собирать данные о лимитах с особых облачных сервисов SBS (Slurm Beautiful Services). Но можно запросить их самостоятельно: по протоколу SSH
  • Практика со звездочкой. Команда разработки внедряет уже не новую методологию: Допустил возникновение алерта - получи задачу. Аналитическая подсистема ищет только отборные ошибки и складывает сообщения о них в брокер сообщений Kafka. Ваша задача завершить цикл возврата багов разработчикам: ваш консьюмер должен автоматически создавать задачи с нужным описанием и приоритетом в Trello
№4: Работа с текстом в различных форматах
Зачем: Подключение к сервису - только половина дела. Другая половина это обмен информацией. А информация зачастую представляет собой набор текстовых символов в определенном формате. Раскодировать и закодировать помогут модули. Информация не нужна вся целиком? Извлечь важное, отбросив остальное помогут регулярные выражения.
  • Модуль re и регулярные выражения
  • Модули работы с данными в разных форматах: separated values, json, yaml, xml
  • Использование аргументов командной строки: модуль argparse
  • Практика: создание источника данных об использовании услуг
    В ходе аудита использования услуг вы выявили важную для бизнеса информацию, заинтересовался даже CEO. Было принято решение проанализировать потерянные деньги и больше не допускать таких ситуаций. Для этого нужно дать аналитикам инструмент получения данных, чтобы они подготовили отчеты. Проблема заключается в том, что модуль мониторинга возвращает лимиты по услугам по отдельному запросу в форматах yaml, а цены за услуги возвращаются биллинговой системой в формате xml. Необходимо срастить данные о текущей загрузке с лимитами и ценами. Агрегированную информацию отдел аналитики запросил в формате JSON с возможностью указать интервал времени и шаг агрегации
№5: Взаимодействие с операционной системой
Зачем: Важность взаимодействия с операционной системой не нужно объяснять дополнительно. Как подружить её с Python - в этом уроке.
  • Чтение и запись файлов.
  • Модуль os - чтение environment variables, работа с директориями и правами, работа с процессами
  • Модуль subprocess для интерактивного взаимодействия с процессами
  • Практика: автоматическое предоставление доступов к серверам
    В ходе кампании по отказу от неиспользуемых услуг возникла курьезная ситуация: сервер продуктовой команды отключили, но инфраструктурная команда периодически использовала его в качестве хоста для стейджинга. Выяснилось, что продуктовая команда не использовала его потому что периодически кто-то перезаписывал их настройки своими. Было решено, что теперь ресурс будет закрепляться только за членами одной команды, а избежать ошибок поможет автоматика. Вам, как заварившему эту кашу, необходимо написать агент, который будет периодически опрашивать систему управления правами и вносить изменения в конфигурации прав внутри установленных сервисов и по необходимости давать сервисам команду перечитать конфигурации
№6: Пишем свой модуль для Ansible
Зачем: Ansible - мощная система управления конфигурациями, да еще и с возможностью расширения собственными модулями. Какое совпадение, что она сама и большинство модулей написаны на Python.
  • Написание своих модулей для ansible
  • Практика: написание модуля управления правами
    Давным-давно, в далёкой-далёкой галактике вы уже писали агент для выдачи прав к определенным сервисам. Пришло время поменять pull на push и в этом поможет ansible. Все что нужно - лишь модуль
№7: K8S оператор на Python (live-coding stream)
Зачем: расширим возможности K8S под свои задачи
  • Покажем как делать это не только на Go
№8: Создание и кейсы использования своего API
Зачем: подготовка кода к деплою - одна из важнейших задач. Сделать этот процесс гибче и удобнее помогают собственные скрипты для stage пайплайнов.
  • Создание REST API на Flask
  • Создание своего prometheus exporter с Prometheus Python Client и Flask
  • Практика: выгрузка данных в стороннюю систему мониторинга.
    Затраты на неиспользуемое оборудование превысили даже пессимистичные прогнозы. Теперь у команды инженеров есть еще одна зона ответственности - мониторинг неиспользуемых услуг. Для этого вам необходимо периодически опрашивать биллинговую систему через ваш скрипт и передавать данные в Prometheus. Формат получаемых данных все еще не подходит. Вам необходимо реализовать коннектор. А заодно и написать эндпоинт, чтобы отдел аналитики всегда имел под рукой актуальную информацию в формате JSON
№9: Взаимодействие с CVS и DevOps системами
  • Использование сторонних модулей на примере интеграции в пайплайны Gitlab
  • Использование pygit для получения информации об изменениях в коде
  • Практика: генерация change log из коммитов
    Ваши решения настолько понравились команде инженеров, что они вдохновились ими и начали писать свои. Только вот описания к релизам сделать всегда забывают. Для этого командой было принято решение внедрить commit conventions и генерировать ченджлоги прямо из коммитов при слиянии dev-бранча с релизным, а если название коммита не соответствует commit conventions - не допускать merge-request до merge
№10: Chatops с Errbot на Python (live-coding stream)
Зачем: Infrastructure as a Chat - управляй инфраструктурой из мессенджера. Бывает ли так? Мы попробуем.
  • За два часа делаем чатопс в прямом эфире
№11: Финальный проект
  • Вы можете автоматизировать свою задачу, а мы обещаем сделать ревью вашего кода. Если идей или задач нет - мы поможем их придумать!.

👉 По поводу приобретения курса пишите в telegram - @SamFather_bot или на почту [email protected]
 

Вложения

  • b01596ccc32f.jpg
    b01596ccc32f.jpg
    62.9 KB · Просмотры: 10

Похожие темы

Сверху Снизу
Забыли свой пароль?
или Войдите с помощью