Курс по настройки процессов непрерывной разработки и доставки на AWS, Azure и Gitlab

Курсы

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

CI/CD на AWS, Azure и Gitlab

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

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

3 месяца

Начало

24 февраля 2020 года

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

30 000 ₽

В месяц

14 000 ₽

В кредит:

14000 ₽ в месяц

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

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

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

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

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

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

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

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

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

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

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

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

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

Обратим внимание на достоинства и недостатки каждого решения.
интеграция с Gitlab и Jenkins.
Тема 3: Знакомство моделями Workflow (git flow, trunk-based и другие)
анализируем различные виды моделей ветвления в git-е:
- Centralized Workflow
- Git flow
- Trunc-based
- Forking Workflow

Обсудим какую модель в каком случае имеет смысл применить.
Тема 4: Настройка учетных записей
изучаем работу с ролевыми моделями - сравниваем какие возможности и ограничения предоставляют нам облачные решения.

Регистрируем группы пользователей, самих пользователей, раздаем права на ресурсы.
Тема 5: Настройка репозиториев кода, миграция с других решений
сравниваем возможности AWS CodeCommit, Azure DevOps Repos и Gitlab (в части репозития кода).

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

Проводим миграцию кода демо-проекта с GitHub-а.
Тема 6: Знакомство с IDE в облаке
пробуем работать с кодом при помощи исключительно браузера.

Настраиваем, вносим правки в код и выполняем коммит в репозиторий через AWS Cloud9, Microsoft Visual Studio Online (если будет доступен), Gitlab Web IDE.
Тема 7: Работа с агентами сборки
- Агенты сборки в travis
- GitlabCI runners
- Jenkins slaves
Тема 8: Хранилища артефактов
сравним что и где мы можем хранить, используя сервисы:
- Azure Artifacts
- Azure Container Registry
- Amazon S3
- AWS EC2 Container Registry
- GitLab Package Registry

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

Сохраним артефакты демо-проекта в созданных репозиториях.
Автоматизация сборки и тестирования (Continuous Integration)
Настраиваем пайплайн для сборки приложения и выполнения необходимых проверок.Полученный артефакт сохраняем в Хранилище.
Тема 1: Первый pipline (вручную и не только)
Тема 2: Запуск модульных тестов
Тема 3: Статическая проверка качества кода
- Обзор линтеров и статических анализаторов
- Рассмотрение основных линтеров для языков:
-- yaml
-- python
-- java
-- npm
- Best practices
Тема 4: Проверка кода на кибербезопасность
изучаем разницу между статической проверкой кода (SAST) на уязвимости и динамической проверкой (DAST).

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

Подключаем к нашему пайплайну обе проверки.
Тема 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
Тема 6: Проверка на лицензионную чистоту
рассмотрим виды лицензирования - их отличия и возможности использования.

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

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

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

Добавляем шаг Review в пайпалайн демо-проекта
Автоматизация установки (Continuous Delivery)
Ставим приложение на промышленный стенд и настраиваем мониторинг
Тема 1: Работа с секретами
как деплоить на прод, сохраняя в секрете логины/пароли, ключи и другие sensitive data.

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

Прописываем для пайплайна демо-приложения данные для доступа на промышленные среды.
Тема 2: Стратегии развертывания (Fail fast, Canary deployment, Feature flags)
Тема 3: Установка в базу данных
- flyaway
- liquidbase
- Best Practices
Тема 4: Инсталляция web-приложения
устанавливаем web-приложение используя:

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

Добавляем шаг деплоя фроненд-части демо-проекта
Тема 5: Установка приложения в докер-образе
устанавливаем докер-образы используя:

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

Добавляем шаг деплоя бэкенд-части демо-проекта
Тема 6: Установка в Kubernetes
- Обзор инструментов ( Без упоминания примитивов k8s )
-- Deployments
-- Spinnaker
-- Helm
- Примеры CD, с helm и istio
Тема 7: Мониторинг работы приложения
настраиваем мониторинг приложения средствами облачных провайдеров:
- Amazon CloudWatch
- Azure Monitor
- Мониторинг в Gitlab

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

Обсуждение проектных работ.
После обучения вы

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

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

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

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

Дата выдачи сертификата: 14 июня 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 месяца
Начало занятий
24 февраля 2020 года