Курс [ Микросервисы ]
28 задач | Курсовой проект по проектированию
13 июля
3 месяца
2 раза в неделю
Оnline
Записаться
Курс позволит освоить микросервисы с нуля до уровня, необходимого для проектирования, разработки и поддержки микросервисов. Вы познакомитесь с основными шаблонами проектирования, применяемыми в микросервисной архитектуре, освоите особенности коммуникаций между микросервисами и стратегии их тестирования.
Курс содержит 28 практических задач на разные аспекты микросервисов и курсовой проект.
[ На курсе рассмотрим ]
Основные концепции и понятия микросервисов
Основные подходы к проектированию микросервисов
Организационные подходы к взаимодействию команд
CI/CD, развертывание и поддержку микросервисов
[ Программа курса ]
Введение в микросервисы
Во время вводного раздела мы сформулируем проблемы монолитных приложений, такие как связность, взаимозависимость кода и неспособность к горизонтальному масштабированию. SOA, хотя и решили некоторые проблемы, привнесли свои собственные, такие как сложность коммуникаций, преобразования форматов и зависимость между внешними и внутренними частями всего приложения. Появление микросервисов частично решило эти проблемы, но также и добавило своих. Также выясним отличительные особенности cloud native микросервисов.
Вводный раздел также включает в себя знакомство с организационной структурой курса: расписанием, чатом группы, для решения для домашних заданий и курсового проекта. Участники выбирают курсовые проекты и представляют их постановки.
Бизнес, организация и микросервисы
Раздел, который поможет вам общаться с вашим руководителем на тему микросервисной архитектуры. Разберемся, в каких случаях и как именно микросервисы выгодны бизнесу, какие привносят дополнительные ограничения на структуру и компетентность команд, организацию работы, инфраструктуру и коммуникации в проекте. Также рассмотрим какие риски микросервисы могут создать для целостности данных и как именно с этими рисками работать.
Основные понятия микросервисов
Раздел определяет базовые понятия и подходы, связанные с микросервисами, в том числе синхронные и асинхронные коммуникации между микросервисами, распределенную природу микросервисов и возможности масштабирования. Также рассматриваются влияние архитектуры на скорость ответа, подходы к проектированию микросервисов и невозможность использовать ACID транзакции в микросервисной архитектуре. Отдельно разберем взаимодействие команд, создающих несколько микросервисов, определим понятие контракта (принцип API First) для синхронных/асинхронных взаимодействий, и базовые схемы поддержания версионности контрактов.
Шаблоны проектирования
Рассмотрим различные подходы к проектированию микросервисов и аспекты микросервисной архитектуры. Начнем со способов разбиения проекта на микросервисы и рассмотрим основные подходы к организации потоков данных, взаимодействия микросервисов и хранения данных. Уделим внимание подходу CQRS, потому что его часто связывают именно с микросервисной архитектурой. Отдельно рассмотрим шаблоны отказоустойчивости.
Инфраструктура
Раздел посвящен организации среды, в которой живут, обновляются и масштабируются микросервисы. Хотя вариантов организации такой среды достаточно много, мы рассмотрим наиболее удобные для масштабных проектов - на основе ansible и kubernetes, с возможным использованием услуг cloud провайдеров. Разберем понятия API Gateway, service mesh (Istio, Consul, Linkerd...), API management (Apigee, 3scale, Akana...)
Продвинутые микросервисы
В этом разделе рассмотрим чуть более подходы к построению микросервисной архитектуры, а также traceability и continuous delivery. Разберем в каких случаях применимы гибридные архитектуры.
Принимаем архитектурные решения
Этот небольшой раздел посвящен процессу принятия архитектурных решения в контексте микросервисов. Мы разберем какие критерии нужно учитывать, и на какие компромиссы приходится идти при построении микросервисного приложения.
Поддержка микросервисов
Раздел посвящен всему, что касается жизни микросервиса после проектирования и разработки. Мы рассмотрим какие подходы применяются при тестировании микросервисов, в чем именно может помочь контейнеризация, какие средства в коде микросервисов и вне помогают достичь устойчивости, как организовать мониторинг микросервисов. Также мы рассмотрим некоторые шаблоны проектирования, которые помогают во время поддержки микросервисов.
Презентация учебного проекта
В рамках этого раздела участники курса презентуют свои проекты, постановки которых были сформулированы во время первых занятий.
[ После курса ты будешь: ]
Владеть наиболее важными шаблонами проектирования для микросервисной архитектуры
Опираясь на критерии, принимать взвешенные решения об архитектуре микросервисов
Выстраивать коммуникации между командами разных сервисов, постановщиками задач и другими стейкхолдерами
[ Записаться на курс ]
Стоимость курса 3330 BYN / 1300$
(Оплата в белорусских рублях по курсу доллара США, на дату платежа)
Все права защищены
Кроме тем, указанных в программе, мы предлагаем дополнительные модули, которые могут быть как добавлены в программу, так и проведены отдельно.
Разбиваем монолит на микросервисы
Дополнительный шестичасовой модуль показывает распилить монолит на микросервисы: переписать, откусывать по кусочку или распилить на несколько меньших частей. Мы рассмотрим изменения в структуре команд, организации, постановке задач и в процессе поддержки, которые придется внедрить компании для того чтобы микросервисы оказались жизнеспособны.
Микросервисы для корпорации
Дополнительный шестичасовой модуль предназначен для сотрудников больших компаний, которые выстраивают у себя микросервисную архитектуру. Модуль сфокусирован в большей мере на особенностях управления и коммуникаций в больших микросервисных проектах, состоящих из 3-4 или больших команд, которые поддерживают десятки взаимодействующих микросервисов. В этом модуле техническим решениям и приемам уделено меньше внимания, чем менеджерским аспектам.
Микросервисы в стартапе
Дополнительный трехчасовой модуль посвящен особенностям микросервисной разработке в стартапе. Для того, чтобы уменьшить TTM продукта, мы уделим большое внимание процессу постановки задач, разработки и необходимому уровню управления качеством. Также уделим внимание управлению контрактами, потому что без них микросервисы быстро превращаются в неподдерживаемый хаос. Затронем подходы к проектированию, которые позволят при небольшом TTM создать масштабируемую архитектуру.
В какие дни и сколько раз в неделю проходят занятия?
Занятия проходят 2 раза в неделю, дни недели группы выбираем все вместе

Сколько всего занятий, их длительность и формат?
Курс длится 3 месяца, 2 раза в неделю по 1.5-2 часа. Формат встреч онлайн в Zoom
По окончанию курса студенты получают именной Сертификат Hard&Soft Skills