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

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

Поделиться:

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

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

Поделиться:

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

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

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

По номеру с вами свяжется организатор

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

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

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

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