Микросервисная архитектура
Данный курс знакомит слушателей с основными концепциями микросервисной архитектуры (МСА). Вводится понятие микросервисной архитектуры, рассматривается её связь с «традиционными» методиками построения системы. Даются шаблоны микросервисной архитектуры, направленные на обеспечение качества разрабатываемой системы. Подробно рассматриваются вопросы развертывания и методы обеспечения значимых качеств МСА.
24 ак.ч.
Онлайн
ARC-015
Микросервисная архитектура
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-015
Расписание и цены
06.12.2021 - 15.12.2021
17.12.2021 - 24.12.2021
20.12.2021 - 22.12.2021
42 500 руб.
12 500 грн.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей
Микросервисная архитектура
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-015
Расписание и цены
06.12.2021 - 15.12.2021
17.12.2021 - 24.12.2021
20.12.2021 - 22.12.2021
42 500 руб.
12 500 грн.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей

Описание

Микросервисная архитектура (МСА) сравнительно недавно завоевала славу самого популярного архитектурного подхода. Ее использование обеспечивает множество преимуществ на различных этапах жизненного цикла продукта. В частности, МСА позволяет получить меньшее время реакции на требования бизнеса, что зачастую обеспечивает ее превосходство над прочими архитектурными стилями.

Однако, в процессе разработки МСА систем архитектор сталкивается со множеством вызовов, многие из которых заставляют новичков откатываться назад.

Ошибки декомпозиции могу привести к серьёзному увеличению сложности разработки. Производительность страдает из-за непреодолимых сетевых задержек. Распределенное хранение данных не позволяет использовать транзакционную согласованность. Большое количество взаимодействующих по сети компонент снижает надежность. Сложно обеспечивать безопасность. Кроме того, отдельного разговора требует тестирование и обслуживание распределенной системы.

Данный курс покажет преимущества и недостатки использования МСА. Поможет принимать обоснованное решение о применимости МСА в зависимости от потребностей бизнеса и возможностей команды.

В курсе рассматриваются основные проблемы, связанные с реализацией микросервисной архитектуры. Стратегии, механизмы, паттерны, решающие озвученные выше задачи. По каждой рассматриваемой проблеме будут представлены наиболее распространённые инструменты (такие, как Kubernetes, Istio, Histryx, Kibana, и многие другие).

Практические упражнения позволят приобрести навык самостоятельного проектирования МСА систем.
После прохождения курса выдается
сертификат на бланке Luxoft Training

Цели

  • Дать представление о МСА и о её связи с остальными архитектурами системы;
  • Дать представление о проектировании МСА систем;
  • Выработать практический навык проектирования МСА систем;
  • Познакомить слушателей с наиболее распространёнными шаблонами МСА;

Целевая аудитория

  • Архитекторы;
  • DevOps специалисты;
  • Ведущие разработчики;
  • Руководители разработки.

Предварительная подготовка

Опыт разработки программных систем.
Желательно опыт разработки архитектуры или прохождение курса ARC-001 «Основные практики архитектора ПО», знание подхода DDD или прохождение курса ARC-003 «Domain Driven Design».

Разбираемые темы

  • 1. Архитектурные стили (2 ч.)

    • Понятия монолита, SOA, MSA.
    • Сравнение и обоснование выбора.
  • 2. Паттерны декомпозиции MSA (2 ч.)

    • Оптимальный размер микросервиса;
    • Разбиение на сервисы по бизнес-возможностям;
    • Разбиение на сервисы по проблемным областям;
    • Практики определения предметных областей;
    • Декомпозиция по техническим и организационным аспектам.
  • 3. Организация разработки под MSA (1 ч.)

    • Организация команд под MSA;
    • Организация репозитория кода под MSA.
  • 4. Интеграция микросервисов (3 ч.)

    • Паттерны взаимодействия;
    • Синхронные и асинхронные механизмы взаимодействия;
    • Оркестровка и хореография;
    • Основные протоколы и технологии (REST, gRPC, GraphQL, Kafka, RabbitMQ и др.);
    • Взаимодействие с внешними системами (API Gateway, BFF);
    • Реактивные системы;
    • Архитектуры управляемые событиями;
    • Разделение команды и запроса.
  • 5. Организация работы с данными в MSA (3 ч.)

    • Паттерны работы с данными;
    • Порождение событий;
    • Справочные данные в MSA;
    • Единый источник истины (Source of Truth) в MSA.
  • 6. Основные шаблоны МСА (9 ч.)

    1. Модифицируемость.
      • Решение проблемы высокой связанности. Версионирование интерфейсов и событий. Типы контрактов. Изменения событийной модели. Паттерны организации запросов. Микросервисное шасси (Microservice chassis). Сетки сервисов (Service Mesh).
    2. Масштабируемость.
      • Паттерны построения балансировщиков. Сервисы обнаружения и паттерны работы с ними.
    3. Производительность.
      • Паттерны производительности в MSA (переборка, изящная деградация и пр.).
    4. Согласованность.
      • Проблемы обеспечения согласованности в MSA. CAP теорема. Решения проблем согласованности. Двухфазные коммиты. Паттерн SAGA. Понижение уровня согласованности.
    5. Надежность.
      • Механизмы отказоустойчивости. Паттерны предохранитель (Circuit Breaker), дросселировка, зависимые таймауты и пр.
    6. Безопасность.
      • Механизмы обеспечения безопасности в MSA. Аутентификация. Авторизация. Защита периметра. Защита каналов связи. Основные протоколы и паттерны (OAUTH2, JWT, привратник, ключ камердинера и пр.).
    7. Тестируемость.
      • Пирамида и квадрат тестирования. Особенность тестирования микросервисов.
      • Модульное тестирование. Интеграционное тестирование. Компонентное тестирование. Тестирование E2E. Паттерны тестирования MSA.
    8. Удобство обслуживания.
      • Возможность наблюдения (Observability). Паттерны наблюдения (распределенная трассировка, агрегация журналов). Мониторинг и журналирование. Конфигурирование микросервисов. Вынесение конфигурации во вне. Поддержка системы.
  • 7. Развертывание микросервисов (2 ч.)

    • Паттерн «Deployment pipeline»;
    • Паттерны развертывания;
    • Использование технологий Docker и Kubernetes;
    • Использование сетки ISTIO;
    • Бессерверное развертывание;
    • Стратегии развертывания (сине-зеленые, канареечные и т.д.).
  • 8. Стратегии миграции от монолита к MSA (2 ч.)

    • Стратегии перехода с монолита на микросервисы;
    • Удушение монолита (Strangler monolith);
    • Паттерны удушения;
    • Связь микросервиса с монолитом;
    • Миграция базы данных.
  • Развернуть программу
Раcписание курсов
Вид:
06.12.2021 - 15.12.2021
17:00-20:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:17:00-20:00
42 500 руб.
12 500 грн.
Записаться
17.12.2021 - 24.12.2021
09:00-13:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:09:00-13:00
42 500 руб.
12 500 грн.
Записаться
20.12.2021 - 22.12.2021
10:00-18:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:10:00-18:00
Тренер: Гришко Олег
Тренер Гришко Олег
42 500 руб.
12 500 грн.
Записаться
31.01.2022 - 07.02.2022
09:00-13:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:09:00-13:00
42 500 руб.
12 500 грн.
Записаться
Смотреть полное расписание
Тренеры
Родин Владислав
Специалист в области разработки и архитектуры ПО
В качестве ведущего разработчика реализовал несколько проектов по интеграции с использованием технологий JMS, HTTP, баз данных. Принимал участие в качестве Java – разработчика в поддержке одного из критичных микросервисов бэкенда крупнейшего онлайн-маркета. С нуля обеспечил техническую зрелость компонента: проверку стилистики кода, локальный запуск, нагрузочное тестирование, несколько критичных мониторингов. Привнес улучшения процессов разработки внутри команды путем организации менторинга младших разработчиков. Есть опыт построения C4- архитектурные схем для компонентов, поддерживаемых командой, поддержки legacy-кода, разработки новой функциональности, улучшения CI/CD процессов.
Волошин Дмитрий
Эксперт в области архитектуры ПО

Действующий архитектор в компании Luxoft.

Сертифицированный Professional Google Cloud Architect.

Сертифицированный Professional Google Cloud Data Engineer (Big Data, Machine Learning).

С 2011 года занимается разработкой приложений enterprise уровня.

Гришко Олег
Специалист в области архитектуры ПО

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

Профессиональный инженер по разработки программного обеспечения с дипломом по специальности «Кибернетика» Московского инженерно-физического института (МИФИ).

Связанные курсы
Domain Driven Design
Предметно-ориентированное проектирование (DDD) предлагает общий подход к обеспечению большей гибкости и модифицируемости программных систем на основе более тщательного исследования предметной области и отражения ее структуры в разрабатываемой системе. Участники курса узнают, как DDD помогает в построении корпоративных систем со сложной бизнес-логикой и применят стратегические паттерны для декомпозиции сначала предметной области, а затем разрабатываемой системы. Для дальнейшего проектирования и реализации выделенных в результате декомпозиции компонентов, “ограниченных контекстов” в терминологии DDD, используем тактические паттерны DDD, в первую очередь Агрегаты. Рассматриваются разные варианты архитектуры, в том числе многослойная, шестиугольная (гексагональная), сервисно-ориентированная (SOA), событийная (EDA), CQRS, Event Sourcing. В основе материалов курса лежат реальные примеры разработанных систем.
Онлайн:
14.03.2022 - 18.03.2022
Интеграция в корпоративных системах
Современные компании используют десятки и сотни программных систем, которые обращаются друг к другу и обмениваются данными. Организация взаимодействия систем и приложений называется интеграцией. Выработано множество способов интеграции – обмен файлами, использование общих баз данных, удаленный вызов процедур, обращение к сервисным REST и SOAP интерфейсам, обмен сообщениями, использование интеграционных шин и не только. На тренинге мы рассмотрим спектр возможных решений, их области применимости, сильные и слабые стороны. Разберемся в стандартах семейства WebService (SOAP/WSDL/WS-*) и не совсем стандартах, описывающих REST. Подробно рассмотрим состав требований к проекту интеграции. Основной акцент сделан на асинхронном обмене сообщениями через очереди и паттернах интеграции, описывающий базовые элементы решений, построенных как на классических очередях сообщений, таких, как IBM MQ, ActiveMQ, RabbitMQ, так и современных инструментах типа Kafka и Pulsar. Из интеграционных шин рассмотрим IBM AppConnect (бывшая IBM Integration Bus), Mule ESB и Apache Camel (в виде отдельного фреймворка и в составе ServiceMix и Red Hat Fuse ESB).
Онлайн:
14.02.2022 - 18.02.2022
Онлайн:
14.03.2022 - 21.03.2022
Архитектура в Agile-проектах
Данный курс знакомит слушателей с основными архитектурными практиками в контексте Agile. Каким образом концепции Agile и архитектурные практики дополняют друг друга, к чему могут приводить перекосы в ту или иную сторону и как практически можно и нужно адаптировать работу архитектора в Agile-проектах.
Онлайн:
28.02.2022 - 03.03.2022
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Для физических лиц
10%
Скидка на любой курс
5%
Бонус от стоимости курса после прохождения
5%
Бонус за рекомендацию курсов Luxoft Training
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.