Курс по настройке процессов непрерывной разработки и доставки на AWS, Azure и Gitlab
Для всех, кто влюблен в технологии!
Специальные скидки ко дню компьютерщика! Забирай промокод в нашем чате ➞
Подробнее

Курсы

Специализации Курсы в разработке Подготовительные курсы
+7 499 110-61-65

CI/CD на AWS, Azure и Gitlab

Курс как для разработчиков, так и для администраторов, отвечающих за настройку процессов непрерывной разработки и доставки (continuous integration / continuous delivery)
Подойдет ли мне этот курс?

Длительность

3 месяца

Начало

27 февраля

Занятия

Чт 20:00, Пн 20:00

Общая стоимость

30 000 ₽

В месяц

14 000 ₽

В кредит:

14000 ₽ в месяц

Хочу дешевле
Общая стоимость
30 000 ₽
В месяц: 14 000 ₽
В кредит: 30000 ₽
в месяц
Продолжительность
3 месяца, 4 академ. часа в неделю
Чт 20:00, Пн 20:00
Начало занятий
27 февраля
Что даст вам этот курс

Практический интенсивный курс по популярной методике непрерывной разработки и поставки программного обеспечения Continuous Integration и Continuous Delivery на разных платформах Amazon Web Service, Azure, GitLab и Jenkins

Цель курса:
- сформировать понимание архитектуры облачных провайдеров
- научить настройке процесса сборки и тестирования приложения
- изучить автоматизацию анализа кода и поиска уязвимостей
- настраивать процесс установки приложения
- и все это у трех крупнейших провайдеров!

Курс будет интересен как разработчикам, так и инженерам, отвечающим за настройку процессов непрерывной разработки и доставки (continuous integration / continuous delivery).

В качестве выпускной работы вам будет предложено реализовать процессы CI/CD для любого opensource-проекта на ваш выбор. При затруднении с выбором вам будет предложено несколько вариантов проектов.

Минимальное количество реализованных этапов CI/CD:
- сборка проекта
- модульное и end-to-end тестирование
- статический анализ качества кода
- SAST
- установка на тестовое окружение для ревью изменений
- нагрузочное тестирование
- установка в промышленное окружение
Преподаватели
Игорь Саблин
Борис Николаев
Руководитель направления IT в АО "РТ Лабс".
Ex-руководитель направления IT ПАО "Сбербанк". Опыт работы в банковской отрасли более 20 лет. Занимается внедрением DevOps-практик и инструментов в производственные процессы Банка.

Помогает командам настраивать процессы Continuous integration и continuous delivery. Основной технологический стек - GitLab, Jenkins, SonarQube, Nexus, Checkmarx и много чего еще.

Во внерабочее время исследует применение CI и CD у облачных провайдеров (AWS, Azure).

В 2003 году окончил МИФИ по специальности «Вычислительные машины, комплексы, системы и сети», получив квалификацию «инженер-системотехник».

Руководитель программы
Build Engineer в Dino Systems

в прошлом Software engineer в EPAM Systems

Более 5 лет занимается сборкой и развертыванием приложений для HPC кластеров, а также поддержкой и автоматизацией CI фермы, Jenkins, Gerrit, Selenium, Nexus
Поддерживал Continuous integration для нескольких проектов, с использованием Hudson.
Занимался непрерывной сборкой и развертыванием (CI/CD) приложений на тестовых серверах( Jenkins ant + liquibase + python ), поддержкой большого ( >20 ) однотипного окружения ( Ubuntu Maverick ) с централизованным управлением (puppet, fabric)

Более 7 лет администрирует Linux и веб-сервера.

Преподаватель
Игорь
Саблин
Борис
Николаев
Преподаватели
Игорь Саблин
Руководитель направления IT в АО "РТ Лабс".
Ex-руководитель направления IT ПАО "Сбербанк". Опыт работы в банковской отрасли более 20 лет. Занимается внедрением DevOps-практик и инструментов в производственные процессы Банка.

Помогает командам настраивать процессы Continuous integration и continuous delivery. Основной технологический стек - GitLab, Jenkins, SonarQube, Nexus, Checkmarx и много чего еще.

Во внерабочее время исследует применение CI и CD у облачных провайдеров (AWS, Azure).

В 2003 году окончил МИФИ по специальности «Вычислительные машины, комплексы, системы и сети», получив квалификацию «инженер-системотехник».

Руководитель программы
Борис Николаев
Build Engineer в Dino Systems

в прошлом Software engineer в EPAM Systems

Более 5 лет занимается сборкой и развертыванием приложений для HPC кластеров, а также поддержкой и автоматизацией CI фермы, Jenkins, Gerrit, Selenium, Nexus
Поддерживал Continuous integration для нескольких проектов, с использованием Hudson.
Занимался непрерывной сборкой и развертыванием (CI/CD) приложений на тестовых серверах( Jenkins ant + liquibase + python ), поддержкой большого ( >20 ) однотипного окружения ( Ubuntu Maverick ) с централизованным управлением (puppet, fabric)

Более 7 лет администрирует Linux и веб-сервера.

Преподаватель
Игорь Саблин о курсе «CI/CD на AWS, Azure и Gitlab»
Необходимые знания
Необходимые минимальные знания:
- Опыт работы с Git
- Опыт администрирования систем Linux или Windows
- Опыт разработки или эксплуатации
- Опыт работы хотя бы с одним облачным провайдером (DO, GCP, AWS и т.д.)
Процесс обучения
Практические задания будут выполняться с использованием Google Cloud Platform (GCP), Amazon Web Service и Microsoft Azure.

Для того чтобы сделать использование ресурсов бесплатным для участников курса, требуется наличие Google аккаунта, у которого не активирован бесплатный пробный период (free trial).

Обучение проходит в формате онлайн-вебинаров.
По всем практическим заданиям команда преподавателей дает развернутый фидбек.
Преподаватель — опытный engineer, который находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать уточняющие вопросы по материалам лекций и домашних заданий, взаимодействовать с преподавателями.
Программа обучения
Модуль 1
Разработка в облаке (Code)
Модуль 2
Автоматизация сборки и тестирования (Continuous Integration)
Модуль 3
Автоматизация установки (Continuous Delivery)
Модуль 4
Итоговый модуль
Разработка в облаке (Code)
В этом модуле мы рассмотрим архитектуру решений, предлагаемых облачными провайдерам. На каждом занятии мы будем работать одновременно с с Azure DevOps Services, Amazon Web Services и Gitlab. Начнем работать с репозиториями кода и облачными средами разработки
Тема 1: Введение в архитектуру, знакомство с демо-проектом
рассмотрим архитектуру облачных решений Microsoft Azure DevOps, сервисов AWS, используемых в DevOps процессах.

Демонстрация реализации демо проекта в двух вариантах - Azure DevOps и AWS.

Обратим внимание на достоинства и недостатки каждого решения.
интеграция с Gitlab и Jenkins.
27 февраля, 20:00 — 21:30
Лектор: Игорь Саблин
Тема 2: Знакомство моделями Workflow (git flow, trunk-based и другие)
анализируем различные виды моделей ветвления в git-е:
- Centralized Workflow
- Git flow
- Trunc-based
- Forking Workflow

Обсудим какую модель в каком случае имеет смысл применить.
5 марта, 20:00 — 21:30
Лектор: Борис Николаев
Тема 3: Настройка учетных записей
изучаем работу с ролевыми моделями - сравниваем какие возможности и ограничения предоставляют нам облачные решения.

Регистрируем группы пользователей, самих пользователей, раздаем права на ресурсы.
12 марта, 20:00 — 21:30
Домашние задания: 1
1 Настроить учетную запись на выбор в Gitlab, Amazon Web Services или Azure DevOps. Подключить Two-Factor Authentication. Добавить в профиль пользователя SSH-ключи.
Тема 4: Настройка репозиториев кода, миграция с других решений
сравниваем возможности AWS CodeCommit, Azure DevOps Repos и Gitlab (в части репозития кода).

Настраиваем репозитории для демо-проекта.

Проводим миграцию кода демо-проекта с GitHub-а.
16 марта, 20:00 — 21:30
Домашние задания: 1
1 Создать репозиторий на выбор в Gitlab, Amazon Web Services или Azure DevOps. Добавить несколько пользователей с правами на чтение и чтение/запись созданного репозитория. Выполнить миграцию кода в созданный репозиторий из стороннего репозитория, указанного
Тема 5: Знакомство с IDE в облаке
пробуем работать с кодом при помощи исключительно браузера.

Настраиваем, вносим правки в код и выполняем коммит в репозиторий через AWS Cloud9, Microsoft Visual Studio Online (если будет доступен), Gitlab Web IDE.
19 марта, 20:00 — 21:30
Домашние задания: 1
1 Исправить ошибку в коде приложения, указанного в ДЗ, при помощи облачной IDE (Gitlab, Amazon Web Services или Azure DevOps - на выбор)
Тема 6: Работа с агентами сборки
- Агенты сборки в travis
- GitlabCI runners
- Jenkins slaves
23 марта, 20:00 — 21:30
Лектор: Борис Николаев
Тема 7: Хранилища артефактов
сравним что и где мы можем хранить, используя сервисы:
- Azure Artifacts
- Azure Container Registry
- Amazon S3
- AWS EC2 Container Registry
- GitLab Package Registry

Создадим необходимые нашему демо-проекту репозитории.

Сохраним артефакты демо-проекта в созданных репозиториях.
26 марта, 20:00 — 21:30
Лектор: Борис Николаев
Домашние задания: 1
1 Создать докер-репозиторий на выбор в Gitlab, Amazon Web Services или Azure DevOps. Настроить права доступа к созданному репозиторию. Добавить в пайплайн (указан в ДЗ) шаг загрузки созданного докер-образа в репозиторий.
Автоматизация сборки и тестирования (Continuous Integration)
Настраиваем пайплайн для сборки приложения и выполнения необходимых проверок.Полученный артефакт сохраняем в Хранилище.
Тема 1: Первый pipline (вручную и не только)
30 марта, 20:00 — 21:30
Лектор: Борис Николаев
Тема 2: Запуск модульных тестов
2 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Тема 3: Статическая проверка качества кода
- Обзор линтеров и статических анализаторов
- Рассмотрение основных линтеров для языков:
-- yaml
-- python
-- java
-- npm
- Best practices
6 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Тема 4: Проверка кода на кибербезопасность
изучаем разницу между статической проверкой кода (SAST) на уязвимости и динамической проверкой (DAST).

Анализируем функциональные возможности опен-соурсных и коммерческих утилит.

Подключаем к нашему пайплайну обе проверки.
9 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Домашние задания: 1
1 Для указанного в ДЗ пайплайна (в Gitlab, Amazon Web Services или Azure DevOps на выбор) настроить проверку на поиск уязвимостей. Исправить найденные уязвимости.
Тема 5: Интерграция Jenkins c облачными провайдерами, k8s, интеграция с gitlab и github
- Обзор базы по докер( Команды, Dockerfile )
- MultyStage build
- Docker в CICD
-- Docker-in-docker
-- Docker without docker
--- Kaniko
--- Buildah
-- Использование skopeo для копирования образов

- Обзор CVE
- Docker bench security
- Clair
13 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Тема 6: Проверка на лицензионную чистоту
рассмотрим виды лицензирования - их отличия и возможности использования.

Обсудим в чем смысл проверок на соответствие продукта используемым лицензиям и к чему может привести нарушение ""лицензионной чистоты"" продукта.

Добавляем в пайплайн демо-приложения шаг проверки на ""чистоту лицензирования"".
16 апреля, 20:00 — 21:30
Тема 7: Настройка окружения для Code Review
обсуждаем различные подходы к процессу ревью изменений до их принятия в основую ветку разработки.

Настраиваем деплой изменений на статическое и динамическое окружение.

Добавляем шаг Review в пайпалайн демо-проекта
20 апреля, 20:00 — 21:30
Лектор: Алексей Цыкунов
Домашние задания: 1
1 Для указанного в ДЗ пайплайна (в Gitlab, Amazon Web Services или Azure DevOps на выбор) реализовать динамическое формирование окружения для развертывания feature-branch веток.
Автоматизация установки (Continuous Delivery)
Ставим приложение на промышленный стенд и настраиваем мониторинг
Тема 1: Работа с секретами
как деплоить на прод, сохраняя в секрете логины/пароли, ключи и другие sensitive data.

Исследуем возможности облачных провайдеров и внешние инструменты.

Прописываем для пайплайна демо-приложения данные для доступа на промышленные среды.
23 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Домашние задания: 1
1 Для указанного в ДЗ пайплайна (в Gitlab, Amazon Web Services или Azure DevOps на выбор) перенести секреты из пайплайна в безопасное хранилище.
Тема 2: Стратегии развертывания (Fail fast, Canary deployment, Feature flags)
27 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Тема 3: Установка в базу данных
- flyaway
- liquidbase
- Best Practices
30 апреля, 20:00 — 21:30
Лектор: Борис Николаев
Тема 4: Инсталляция web-приложения
устанавливаем web-приложение используя:

- AWS Elastic Beanstalk
- Amazon Lightsail
- Службы приложений Azure
- пайплайны Gitlab и Jenkins

Добавляем шаг деплоя фроненд-части демо-проекта
7 мая, 20:00 — 21:30
Домашние задания: 1
1 Дополнить пайплайн шагом деплоя web-приложения в облачный сервис (AWS/Azure).
Тема 5: Установка приложения в докер-образе
устанавливаем докер-образы используя:

- Amazon Elastic Container Service
- Mesosphere DC/OS Open Source
- пайплайны Gitlab и Jenkins

Добавляем шаг деплоя бэкенд-части демо-проекта
14 мая, 20:00 — 21:30
Лектор: Александр Акилин
Домашние задания: 1
1 Дополнить пайплайн шагом деплоя приложения в виде докер-образа в облачный сервис (AWS/Azure).
Тема 6: Установка в Kubernetes
- Обзор инструментов ( Без упоминания примитивов k8s )
-- Deployments
-- Spinnaker
-- Helm
- Примеры CD, с helm и istio
18 мая, 20:00 — 21:30
Лектор: Борис Николаев
Тема 7: Мониторинг работы приложения
настраиваем мониторинг приложения средствами облачных провайдеров:
- Amazon CloudWatch
- Azure Monitor
- Мониторинг в Gitlab

Подключаем мониторинг к демо-проекту, анализируем доступность приложения при установки новой версии.
21 мая, 20:00 — 21:30
Лектор: Александр Акилин
Итоговый модуль
Тема 1: консультация по проекту
25 мая, 20:00 — 21:30
Тема 2: Итоговое занятие
получение обратной связи по курсу.

Обсуждение проектных работ.
28 мая, 20:00 — 21:30
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Использование Jenkins c K8S
Борис Николаев
День открытых дверей
17 февраля в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, презентации);

  • настроите процесс сборки и тестирования приложения

  • сможете находить уязвимости

  • получите сертификат о прохождении курса

Дата выдачи сертификата: 17 июня 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «CI/CD на AWS, Azure и Gitlab»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «CI/CD на AWS, Azure и Gitlab»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Партнеры ждут выпускников этого курса
Общая стоимость
30 000 ₽
В месяц: 14 000 ₽
В кредит: ₽ в месяц
Продолжительность
3 месяца
Начало занятий
27 февраля
Специальные скидки!
Только до 23 февраля! Забирай промокод в нашем чате ➞