Практический курс
"Микросервисная архитектура
на C# и .Net Core"

80% техники, 20% теории
1 февраля
3 месяца
Online
О курсе
Курс состоит из 20 вебинаров с глубоким погружением в микросервисную архитектуру. На курсе вы научитесь создавать, тестировать микросервисы, а так же применять сопутствующие технологии. Мы рассмотрим: DDD, реализацию API Gateway в Kubernetes, CI/CD и многое другое. В течение курса вы разработаете полноценную систему на микросервисной архитектуре. Присоединяйтесь!
Особенности курса
Ведущий - практик
Действующий архитектор и TeamLeader команды разработки. Разрабатывал системы на микросервисной архитектуре для Мегафон и Теле2. Cейчас развивает направление разработки в компании с 200+ микросервисами.
Обучение полностью online
Мы работаем в Zoom, Gitlab, GKE, поэтому можно обучаться из дома. Если пропустили вебинар - не страшно, можете посмотреть его в записи.
Теорию сразу закрепляем на практике
По легенде нам была поставлена цель - разработать интернет магазин. В течение всего курса мы активно пишем код, решая эту задачу.
Говорим не только про разработку
Без навыков развертывания, тестирования и мониторинга обучение было бы не полным, поэтому мы рассмотрим и эти вопросы.
Кому подойдёт этот курс
.Net разработчик
Junior / Middle / Senior
В вашей компании принято решение использовать микросервисную архитектуру, но вы хотите применять ее правильно, не допуская базовых ошибок при разработке. На курсе мы разработаем полностью рабочий проект и вы сможете забрать его с собой.
Чему вы научитесь
Планировать архитектуру ПО
Четко понимать область применения микросервисной архитектуры, цели подхода и особенности.
Проектировать сервисы с применением DDD
Научитесь проводить моделирование микросервисов вокруг бизнес-концепций, применяя практики предметно-ориентированного проектирования и тактических паттернов DDD.
Тестировать микросервисы
Строить готовую к применению стратегию тестирования микросервисной системы.
Строить интеграцию между сервисами
Узнаете об основных подходах к интеграции систем, разберётесь с интеграционными шаблонами и научитесь их применять.

Как проходит обучение

В ходе обучения мы делаем более 20 практических заданий
Вебинар
Чтобы сделать все правильно, важна теория и понимание основных принципов микросервисной архитектуры. Ведущий рассказывает блок теории, рассматривает паттерны и антипаттерны, приводит примеры из собственного опыта, обьясняет корневые причины применения тех или иных решений. Затем мы разбираем все вопросы и переходим к практике, она следует после каждого блока теории.
Задание
По легенде нам была поставлена цель - спроектировать интернет магазин с использованием микросервисной архитектуры.

В течение всего курса мы создаем систему из трех микросервисов. Сервисов не много, но на них мы сможем отработать самые популярные паттерны микросервисной архитектуры.
Кодирование
Шаг за шагом мы реализуем систему.

На выходе получим первые два сервиса из проекта системы: SSO и первый сервис для бизнеса. А также свяжем их асинхронной коммуникацией для корректной работы всей системы.
Запуск
На курсе мы максимально приближены к реальным процессам разработки. Из-за использования CI/CD, по окончании каждого практического задания система будет развернута в production.
Кто ведет курс?
Кирилл Ветчинкин - действующий, практикующий архитектор
  • Опыт разработки на .Net более 10 лет
  • Опыт применения MSA более 5 лет
  • Успешно реализовал ряд высоконагруженных систем на микросервисной архитектуре для Мегафон и Теле2
  • Постоянный спикер крупных IT конференций по разработке и DevOps
  • Участник круглых столов по архитектуре ПО
  • Имеет бизнес образование MBA IT(Высшая школа экономики)
  • Certified Professional Scrum Master I (PSM I)
  • Certified LeSS Practitioner (CLP)
Программа курса
Курс состоит из 3 модулей

1
Инициализация проекта
  • Знакомство с легендой
  • Создание Gitlab репозиториев
  • Создание сервисов из Service Template
  • Создание Docker и Docker Compose
  • Настройка CI

2
Helm чарты
  • Основы Kubernetes
  • Настройка Helm
  • Настройка Gitlab CI

3
Развертывание в Minikube
  • Основы Minikube
  • Конфигурация в Helm
  • Настройка CI/CD

4
Программирование логики сервиса
  • Основы Domain Driven Design
  • Тактические паттерны
  • Проектирование логики
  • Покрытие логики Unit тестами

5
Сохранение состояния
  • Поднимаем БД в Docker
  • Реализуем паттерн Repository
  • Покрытие логики интеграционными тестами

6
CQS подход
  • Добавление Command
  • Добавление Query
  • Покрытие логики Unit тестами

7
HTTP REST API
  • Создание REST API методов
  • Добавление Swagger

8
API Gateway
  • Основы Istio
  • Реализация API Gateway на Istio Ingress

9
Аутентификация/Авторизация
  • Настройка сервера Keycloak
  • Аутентификация/Авторизация через Istio Ingress
  • Настройка прав доступа

10
Синхронное взаимодействие
  • Когда применять синхронное взаимодействие
  • Реализация взаимодействия между сервисами по gRPC
  • Circuit Breaker

11
Асинхронное взаимодействие
  • Когда применять асинхронное взаимодействие
  • Взаимодействие между сервисами по Kafka

12
Обеспечение согласованности
  • Отложенная согласованность
  • Добавление Transactional outbox pattern
  • Добавление Outbox + polling publisher

13
Тесты контрактов
  • Добавляем тесты контрактов c использованием Pact
  • Доработка CI

14
Тесты компонентов
  • Добавляем компонентные тесты
  • Доработка CI

15
Мониторинг
  • Доработка сервисов
  • Настройка Prometheus
  • Настройка Grafana
  • Настройка Slack/Telegram

16
Логирование
  • Доработка сервисов
  • Настройка ELK

17
Трассировка
  • Доработка сервисов
  • Настройка Jaeger

18
Отказоустойчивость
  • Обеспечение частичной деградации
  • Шатаем систему

19
Highload
  • Нагрузочные тесты
  • Дорабатываем сервисы
  • Выдерживаем 1 000 RPS
  • Выдерживаем 10 000 RPS
Регистрация
Курс находиться в разработке. Оставьте заявку и мы с вами свяжемся.
Email
Имя
Часто задаваемые вопросы
Какого размера группа?
Размер группы ограничен 20 участниками. Работа в малой группе позволяет подробно проработать тему и ответить на все вопросы.
Что я получу после курса?
После обучения вы получите:
  1. все материалы, созданные во время тренинга
  2. презентацию в формате PDF
  3. ссылки на литературу.
Будет ли сертификат?
Да, вы получаете электронный сертификат о прохождении курса, который подтверждает что вы успешно прошли курс и сделали все практические задания.