Курс [ Микросервисы ]
28 задач | Курсовой проект по проектированию
Декабрь
3 месяца
2 раза в неделю
Оnline
Записаться
[ На курсе рассмотрим ]
Основные концепции и понятия микросервисов
Основные подходы к проектированию микросервисов
Организационные подходы к взаимодействию команд
CI/CD, развертывание и поддержку микросервисов
Курс позволит освоить микросервисы с нуля до уровня, необходимого для проектирования, разработки и поддержки микросервисов. Вы познакомитесь с основными шаблонами проектирования, применяемыми в микросервисной архитектуре, освоите особенности коммуникаций между микросервисами и стратегии их тестирования.
Курс содержит 28 практических задач на разные аспекты микросервисов и курсовой проект.
[ Программа курса ]
Введение в микросервисы
Во время вводного раздела мы сформулируем проблемы монолитных приложений, такие как связность, взаимозависимость кода и неспособность к горизонтальному масштабированию. 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. Разберем в каких случаях применимы гибридные архитектуры.
Принимаем архитектурные решения
Этот небольшой раздел посвящен процессу принятия архитектурных решения в контексте микросервисов. Мы разберем какие критерии нужно учитывать, и на какие компромиссы приходится идти при построении микросервисного приложения.
Поддержка микросервисов
Раздел посвящен всему, что касается жизни микросервиса после проектирования и разработки. Мы рассмотрим какие подходы применяются при тестировании микросервисов, в чем именно может помочь контейнеризация, какие средства в коде микросервисов и вне помогают достичь устойчивости, как организовать мониторинг микросервисов. Также мы рассмотрим некоторые шаблоны проектирования, которые помогают во время поддержки микросервисов.
Презентация учебного проекта
В рамках этого раздела участники курса презентуют свои проекты, постановки которых были сформулированы во время первых занятий.
Block 1
Бизнес, организация и микросервисы
Программа блока:
  1. Орг информация
  2. Гибкость бизнеса и сервисов
  3. Независимость сервисов и команд, управление контрактами
  4. Понимание бизнеса командами
  5. Управление стандартами и практиками
  6. Коммуникации в проекте
  7. Управление инфраструктурой
  8. Микросервисы и целостность данных
Длительность: 4 занятия
Стоимость: 400$
    Block 2
    Разбиваем монолит на микросервисы
    Программа блока:
    1. Орг информация
    2. Зачем разбивать монолит?
    3. Подходы
      • Отрезаем по небольшому кусочку
      • Переписываем с нуля
      • Разделяем, сохраняя внутреннюю структуру (распределенный монолит)
    4. изменение в структуре команды
    5. внедрение контрактов и их версионности
    6. внедрение CI процесса
    7. масштабирование
    Длительность: 5 занятий
    Стоимость: 400$
      Block 3
      Микросервисы в стартапе
      Программа блока:
      1. Орг информация
      2. TTM и цикл разработки
      3. Управление контрактами
      4. Интеграционное тестирование
      5. Масштабирование
      6. Технический долг
      Длительность: уточняется
      Стоимость: уточняется
        Block 4
        Микросервисы для корпорации
        Программа блока:
        1. оргструктура и коммуникации
        2. управление процессами, стандартами и подходами
        3. управление контрактами и версионностью
        4. управление инфраструктурой
        5. интеграционное тестирование и окружения
        Длительность: уточняется
        Стоимость: уточняется
          Дополнительные блоки
          [ После курса ты будешь: ]
          Владеть наиболее важными шаблонами проектирования для микросервисной архитектуры
          Опираясь на критерии, принимать взвешенные решения об архитектуре микросервисов
          Выстраивать коммуникации между командами разных сервисов, постановщиками задач и другими стейкхолдерами
          [ Записаться на курс ]
          Стоимость курса 3330 BYN / 1300$
          (Оплата в белорусских рублях по курсу доллара США, на дату платежа)
          Нажимая, вы соглашаетесь на обработку персональных данных
          В какие дни и сколько раз в неделю проходят занятия?
          Занятия проходят 2 раза в неделю, дни недели группы выбираем все вместе

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