Курс предоставляет знания и навыки необходимые для разработки и реализации процессов и практик DevOps. Студенты узнают, как планировать DevOps, использовать управление исходным кодом, масштабировать Git для предприятия, консолидировать артефакты, разрабатывать стратегию управления зависимостями, управлять секретами, осуществлять непрерывную интеграцию, реализовывать стратегию построения контейнера, разрабатывать стратегию релиза, настраивать управление рабочим процессом, внедрять шаблон развертывания, и оптимизировать механизмы обратной связи.
По окончании курса слушатели смогут:
- планировать трансформацию с общими целями и сроками;
- выбирать проект, определять метрику проекта и KPI;
- создавать команду и гибкую организационную структуру;
- описывать преимущества использования Source Control;
- перейти с TFVC на Git;
- масштабировать Git для Enterprise DevOps;
- рекомендовать инструменты и методы управления артефактами;
- извлекать совместные пакеты для обмена и повторного использования;
- мигрировать и консолидировать артефакты;
- мигрировать и интегрировать меры управления версиями;
- управлять приложениями config и secrets;
- разрабатывать стратегию качества проекта
- планировать безопасные практики развития и правила соответствия;
- внедрять и управлять построением инфраструктуры;
- объяснять, почему важна непрерывная интеграция;
- внедрять непрерывную интеграцию с помощью Azure DevOps;
- управлять качеством кода, включая технический долг (долг кодинга), SonarCloud и другие инструментальные решения;
- управлять политиками безопасности с программным обеспечением с открытыми исходными кодами, OWASP и WhiteSource Bolt;
- внедрять контейнерную стратегию, включая то, как контейнеры отличаются от виртуальных машин и как микросервисы используют контейнеры;
- внедрять контейнеры с использованием Docker;
- проверять пакеты программного обеспечения с открытым исходным кодом на соответствие требованиям безопасности и лицензий в соответствии с корпоративными стандартами;
- настраивать конвейеры сборки для доступа к безопасности пакета и рейтингу лицензии;
- настраивать безопасный доступ к пакетным каналам;
- проверять кодовую базу, чтобы определить зависимости кода, которые могут быть преобразованы в пакеты;
- определять и рекомендовать стандартизированные типы пакетов и версий для всего решения;
- перепроектировать (рефакторинг) существующих конвейеров сборки для реализации стратегии версий, которая публикует пакеты;
- управлять безопасностью и соответствием;
- различать релиз и развертывание;
- определить компоненты конвейера релиза;
- объяснить, что нужно учитывать при разработке стратегии релиза;
- классифицировать релиз и процесс релиза и описывать контроль их качества;
- описывать принцип пропускной системы и способ работы с примечаниями к релизу и документацией;
- объяснить шаблоны развертывания, как в традиционном, так и в современном смысле;
- выбрать инструменты управления релизами;
- объяснить терминологию, используемую в Azure DevOps и других средствах управления релизами;
- описывать задачи Build и Release, какой их функционал, а также какие существуют доступные задачи развертывания;
- классифицировать Agent, Agent Queue, и Agent Pool;
- объяснить, почему иногда требуется несколько заданий для релиза в одном конвейере релиза;
- различать работу с несколькими агентами и релизом с несколькими конфигурациями;
- использовать переменные релиза и переменные стадии в конвейере релиза;
- безопасно развертываться в среде с использованием служебного соединения;
- встроить тестирование в конвейер;
- перечислять различные способы проверки работоспособности конвейера и релиза с помощью предупреждений, служебных хуков и отчетов;
- создавать пропускную систему;
- описывать шаблоны развертывания;
- внедрять развертывание Blue Green;
- внедрять Canary релизы;
- внедрить прогрессивное развертывание экспозиции;
- настроить интеграцию отчетов о сбоях для клиентских приложений;
- разработать мониторинговые и статусные панели;
- реализовывать маршрутизацию для данных отчета о сбоях клиентских приложений;
- внедрять инструменты для отслеживания использования системы, использования функций и потока;
- интегрировать и настраивать тикет-системы с управлением работой команды разработчиков;
- внедрять стратегию в мобильную версию DevOps;
- применять инфраструктуру и конфигурацию как принципы кода;
- развертывать и управлять инфраструктурой с использованием технологий автоматизации Microsoft, таких как шаблоны ARM, PowerShell и Azure CLI;
- описывать модели и службы развертывания, доступные в Azure;
- развертывать и настраивать управляемый кластер Kubernetes;
- развертывать и настраивать инфраструктуру с использованием сторонних инструментов и сервисов с Azure, таких как Chef, Puppet, Ansible, SaltStack и Terraform;
- определять стратегию инфраструктуры и конфигурации и соответствующий набор инструментов для конвейера релиза, и инфраструктуры приложений;
- реализовывать соответствия и безопасность в инфраструктуре приложений;
- разрабатывать методы измерения удовлетворенности конечных пользователей;
- разрабатывать процессы для сбора и анализа отзывов пользователей из внешних источников;
- разрабатывать маршрутизацию для данных отчета о сбоях клиентских приложений;
- рекомендовать инструменты и технологии мониторинга;
- рекомендовать инструменты отслеживания использования системы и функций;
- анализировать оповещения для установки базовой конфигурации;
- анализировать телеметрию, для установки базовой конфигурации;
- проводить обзоры сайтов в режиме реального времени и фиксировать отзывы о сбоях системы;
- выполнять текущую настройку, для уменьшения количества бессмысленных или неактивных предупреждений.
Аудитория
- Специалисты, заинтересованные в реализации процессов DevOps;
- ІТ-специалисты, которые готовятся к сдаче сертификационного экзамена «AZ-400: Microsoft Azure DevOps Solutions».
Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:
- базовые знания об Azure, управлении версиями, разработке программного обеспечения на основе методологии Agile и основных принципах разработки программного обеспечения;
- рекомендуется иметь опыт работы в организации, предоставляющей программное обеспечение.