Очный курс «Разработка микросервисов» я провел за полтора года около 40 раз, как в открытом, так и в корпоративном формате. Ситуация с переходом на удаленную работу форсировала перевод части курсов в онлайн. Первым стал курс «Разработка микросервисов». Ниже расскажу об отличиях и особенностях.
На протяжении курса мы будем строить микросервисное архитектурное решение. Задание будет отличаться от задания в очном варианте. Каждый блок теории закрепляется командной практикой (площадка дает возможность получить хороший командный опыт работы несмотря на то, что это онлайн) и индивидуальными тестами для самопроверки.
Онлайн курс поделен на четыре больших блока:
- Моделирование микросервисов
- Организационные практики
- Технические практики
- Переход от монолита к микросервисам
Каждый блок — это набор видео для самостоятельного просмотра, материалы для самостоятельного изучения, отчуждаемые материалы для использования в работе и пара вебинаров по 1.5 часа, на которых мы разбираем ваши вопросы и результаты домашних заданий.
Немного подробнее о каждом из блоков.
Моделирование микросервисов
Определим, что такое микросервис, где стоит применять, а где — нет, какие компании применяют и что они получили с переходом. Разберем особенности моделирования микросервисов, практику Event Storming, применение Domain Driven Design. Разберем, что такое размер микросервиса и почему размер здесь не на первом месте. После этого посмотрим на то, как можно документировать результаты и в заключении разберем два кейса — один с унаследованной системой и один с почти новой.
what diseases does viagra treat enter http://mlat.chapman.edu/annotated/essays-health-social-care/62/ pay for a paper assignment programmers help where to order levitra online enter summer vacation essay college enter site essay topics for a tale of two cities good subjects for argumentative essays see url classism essay see https://cadassisting.com/what/how-to-write-essay-about-the-importance-of-non-traditional-students/93/ go site see follow link cefadroxil 500 mg john william draper conflict thesis allergie au flagyl https://willcoxwinecountry.org/linkedin/life-magazine-photo-essay/47/ go here ielts essay answers enter site side effects week after zithromax follow do imported cialisviagra work go site enter see url doctoral dissertation purchase Основные темы
- Что такое микросервис?
- Кейс
- Особенности моделирования микросервисов
- Практика Event Storming
- Domain Driven Design на базе Event Storming применительно к микросервисам
- Размеры микросервисов
- Документирование модели
- Два кейса
Организационные практики
Для микросервисов нужны и важны организационные практики. Редко, когда микросервисное решение появляется в совсем небольших стартапах на 2-5 человек (если знаете о таких, напишите мне на sb@agilemindset.ru). Здесь разберем закон Конвея, универсальный закон масштабирования применительно к себе, команде, нескольким командам и типичную структуру команды, разрабатывающей микросервис. После этого посмотрим на командные и межкомандные практики взаимодействия (в том числе ChatOps и InnerSourcing).
Основные темы
- Как меняется организация при переходе на микросервисы?
- Кейс
- Закон Конвея
- Универсальный закон масштабирования
- Командные практики
- Межкомандное взаимодействие
- Кейс
Не даром с приходом микросервисов все чаще можно услышать, что архитектор теперь занимается не только техническим решением, но и дизайном структуры компании 🙂
Технические практики
После того, как ясна модель сервисов и модель организации, переходим к техническим аспектам. Разбираем особенности масштабирования микросервисов, паттерны CQRS/ES и Saga. На уровне архитектуры закладываем возможности для различных видов поставки, тестирования, мониторинга, обеспечения безопасности и надежности. В конце блока сводим к повторяемым паттернам, готовым к использованию.
Основные темы
- Масштабирование микросервисов
- Интеграция микросервисов
- CQRS/ES и Saga
- Развертывание микросервисов
- Тестирование микросервисов
- Мониторинг микросервисов
- Безопасность в микросервисах
- Обеспечение надежности
- Паттерны проектирования микросервисов
От монолита к микросервисам
Эту тему давать очень сложно, потому что у каждого свой контекст существования текущих систем, поэтому здесь фокус на том, чтобы показать основные принципы и общепринятые, шаблонные практики. Отдельно разбирается тема разделения базы данных, эта тема существенно опирается на знания из блока «Моделирование микросервисов».
Посмотрим на примерах у кого и что получилось, какие ошибки допускали компании и разберем пример стратегии перехода от монолита к микросервисам, чтобы участникам было понятно, с чего начинать и чего ожидать.
Основные темы
- Прицнипы перехода от монолита к микросервисам
- Кейсы: у кого получилось?
- От монолита к модульному монолиту
- Переход через API Gateway
- Переход через Proxy-монолит
- Паттерны разделения баз данных
- Изменения в организацонное структуре
- Кейс: стратегия перехода от монолита к микросервисам
Что в итоге?
Вы получите каркас знаний о микросервисах и направление для более глубокого изучения каждой отдельной темы. Так же Вы опробуете новые практики (а кто уже опробовал, наверняка откроет для себя новые способы применения и фишки).
Основная ценность для компаний в том, чтобы не потратить миллионы на исправление ошибок, которые можно не допустить, если знать о них заранее, а для отдельных участников — в получении концентрированной выжимки знаний и практики.
Когда?
Курс пройдет с 18 мая по 15 июня. Зарегистрироваться на курс «Разработка микросервисов» можно здесь.
Если написать мне лично на sb@agilemindset.ru, то можно получить промокод. Для этого достаточно указать в письме свои ожидания от курса и/или текущие проблемы, связанные с микросервисами или архитектурой/дизайном в целом.
Что дальше?
Микросервисы — не конечная точка. Появляются и еще появятся новые архитектурные стили. В их основе будут лежать доказавшие свою состоятельность нынешние решения в области технологий и процессов.
Когда именно появится что-то новое и революционное — неизвестно. Однако, существует не нулевая вероятность, что оно появится именно как развитие микросервисов. В крайнем случае — будет основано на мыслях и выводах от их использования.