Онлайн-курс "Микросервисная архитектура"(Август)

50% времени мы работаем в группах, проектируя и обсуждая

ИТ и интернет 18+

Это серия из 6 вебинаров с глубоким погружением в микросервисную архитектуру: способы декомпозиции, изменения в командах, разбор популярных паттернов и антипаттернов, связь с бизнесом, Agile и DevOps.

На курсе вы научитесь проектировать микросервисную архитектуру начиная с понимания бизнес домена и заканчивая особенностями реализации.

Особенности курса

  1. Ведущий — практик. Разрабатывал системы на микросервисной архитектуре для Мегафон и Теле2, сейчас развивает направление разработки в компании с 500+ микросервисами, действующий архитектор и TeamLeader команды разработки.
  2. Обучение полностью online(Zoom+Miro)
  3. Говорим не только про технику. В курсе уделяется внимание интеграции подхода в организацию и связь с орг. структурой.

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

В ходе всего курса слушатели участвуют в серии практических заданий, объединенных общим сюжетом.

  1. Легенда. В самом начале участники знакомятся с легендой, которую будут применять в течение всего курса.
  2. Теория. Чтобы сделать все правильно, важна теория и понимание основных принципов микросервисной архитектуры. Ведущий рассказывает блок теории, рассматривает паттерны и антипаттерны, приводит примеры из собственного опыта
  3. Практика. По окончании каждого блока теории, участники получают задания. В течение 10-15 минут, в группах из 3-4 человек, участники прорабатывают решение и предлагают свой вариант.

  4. Разбор ошибок и результат. По окончании практического задания мы вместе разбираем ошибки, предлагаем различные варианты решения, пытаемся понять, почему так было бы лучше/хуже. После того, как блок полностью усвоен, ведущий переходит к следующему блоку теории.

Программа курса

Базовые понятия

  • Понятия Big ball of mud, монолита
  • Отличие SOA от MSA
  • Что на самом деле значит "микро"
  • Плюсы и минусы монолита
  • Плюсы и минусы микросервисов
  • Сравнение и обоснование выбора
  • Цели успешного внедрения подхода

Декомпозиция на микросервисы

  • Подход Monolith First
  • Разбиение на сервисы по бизнес-возможностям
  • Декомпозиция по техническим и организационным аспектам
  • Сигналы неправильного разбиения
  • Anti-pattern "распределенный монолит"
  • Оптимальный размер микросервиса

Команды и организационная трансформация

  • Закон Конвея(организация команд по областям)
  • Сколько микросервисов должно быть у команды(service per team pattern)
  • Структура команды и необходимые навыки
  • Сочетание MSA со Scrum
  • Организация Git репозиториев
  • Роль архитектора в MSA
  • Запуск архитектурного Community
  • Межкомандные договоренности

Организация работы с данными

  • Shared database anti-pattern
  • Database per service pattern

Структура микросервиса

  • Адаптеры обработки публикации событий
  • Версионирование контрактов
  • Swagger
  • Повторное использование кода
  • Паттерн "Шаблон сервиса"

Раскрытие API

  • API Gateway pattern
  • BFF pattern
  • API composition pattern

Аутентификация, безопасность

  • Access token pattern
  • Стандарт OAuth2.0 и JWT
  • Единая точка аутентификации
  • Сервер аутентификации
  • Популярные сервера аутентификации OAuth 2.0
  • Аутентификация между микросервисами

Взаимодействие между сервисами

  • CAP теорема
  • Синхронное взаимодействие/асинхронное взаимодействие
  • Circuit Breaker(Предохранитель)
  • Transactional outbox pattern
  • Polling publisher pattern
  • Transaction log tailing pattern
  • Репликация данных как средство снижения зависимости
  • Отложенная согласованность данных
  • Saga pattern
  • Оркестровка и хореография

Развертывание

  • DevOps это культура
  • Стратегия автономности поставки
  • Типовой CI/CD конвейер сервиса
  • Развертывание на виртуальных машинах
  • Развертывание в контейнерах Docker
  • Конфигурация и секреты
  • Service discovery
  • Blue-Green Deployment
  • Canary Deployment
  • Применение Kubernetes(базово)

Тестирование

  • Особенности тестирования микросервисов
  • Пирамида тестирования
  • Виды тестов
  • Место тестов в CI/CD конвейере
  • Кто пишет сквозные тесты

Мониторинг

  • Мониторинг работоспособности
  • Мониторинг состояния сервиса
  • Распределенная трассировка
  • Логи и их агрегация
  • Подход "кто разработал тот и поддерживает"

Отказоустойчивость

  • Изолированность
  • Горизонтальное масштабирование

Стратегии разбиения монолита

  • Strangler application pattern("душитель")
  • Стратегии разбиения
  • Что выносить в первую очередь
  • Выделение ограниченных контекстов
  • Разделение базы данных
  • Выделение модуля
  • Выделение сервиса
  • Взаимодействие между сервисом и монолитом
  • Что делать с отчетами

Расписание

Время начала занятий — 19:30 по Москве, продолжительность — 2 часа(если вопросов много возможен выход за тайминг).

  1. Понедельник, 10 августа(Базовые понятия и декомпозиция на микросервисы)
  2. Вторник, 11 августа(Команды и организационная трансформация)
  3. Среда, 12 августа(Раскрытие API и аутентификация, безопасность)
  4. Четверг, 13 августа(Взаимодействие между сервисами)
  5. Пятница, 14 августа(Развертывание и тестирование)
  6. Понедельник, 17 августа(Стратегии разбиения монолита)

Более подробная информация на сайте

https://microarch.ru

Поделиться:

1326 дней назад
10 августа 2020, начало в 19:30

Событие пройдет онлайн

Поделиться:

Связь с организатором

Напоминаем, что для того чтобы сделать возврат организатору можно не писать.

На этот адрес придёт ответ от организатора.

Подпишитесь на рассылку организатора

Возврат билета

Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.

Подробнее о возврате билетов