Мне для работы с менти нужно всегда держать под рукой список хорошей рекомендованной литературы. Поэтому иногда я читаю базовые книги, чтобы свой список пополнить. Сегодня — обзор на одну из таких книг.
Книга за три предложения
Книга представляет собой верхнеуровневый справочник по микросервисной архитектуре. Из неё можно узнать особенности микросервисной архитектуры, а также получить обзор всех технических и процессных областей, которые нужно учесть при разработке микросервисов. Книгу можно использовать для решения о переходе на микросервисы и технического планирования.
Что я могу применить
Напрямую практически ничего, потому что я так или иначе уже со всем этим сталкивался. Однако я укрепился в ряде своих убеждений и получил отличный список для чтения на будущее. А ещё несколько интересных тем для постов в блог.
Также я могу смело рекомендовать эту книгу своим менти, потому что она даёт достаточно хорошее общее понимание микросервисной архитектуры.
Основные выводы и тейки
- Микросервисы не всегда хорошо, монолит не всегда плохо, it depends. Но на тему it depends мне больше понравилась Software Architecture: The Hard Parts.
- Микросервисы требуют не только технической реорганизации, но и применения новых подходов к проектированию, моделированию и дизайну систем.
- В микросервисной архитектуре крайне важны мониторинг и наблюдаемость, потому что отслеживать состояние микросервисной системы кратно сложнее.
- Кросс-функциональные команды лучше всего подходят для микросервисной архитектуры, потому что можно чётко ограничить зону владения и ответственности команды.
Впечатления
Книга очень общая, хотя и с примерами. Мне она кажется хорошим справочником по темам, важным для микросервисной архитектуры. Написана понятным, простым языком. Есть схемы и визуальные пояснения.
Отдельно хочу отметить рекомендации и комментарии автора к теоретическим выкладкам — они правда хороши и достойны внимания, чувствуется практический опыт человека. Для меня именно они были наиболее интересны в книге.
Ещё один большой плюс для меня — Ньюмен в каждой главе даёт ссылки на другие источники, в которых можно более глубоко изучить интересующую тему. Это очень круто, потому что не придётся гуглить. Я себе довольно внушительный reading list собрал.
Я буду рекомендовать эту книгу своим менти, которые развиваются в архитектуре, как вводное руководство и настольный справочник по микросервисам.
Что не понравилось: водянистость и объём, книгу можно сократить примерно на 30% без потери качества. Много лишнего текста и примеров.
Как эта книга изменила меня
Фактически никак. Я по большей части взял эту книгу в руки с целью ознакомления и не надеялся реально вытащить что-то полезное для себя. Но я укрепился в некоторых базовых вещах, которые, например, почерпнул из книги «Чистая архитектура».
А ещё я подкачал свои новообретённые навыки чтения.
Три цитаты
Если вам нужна чистая архитектура, обязательно заламинируйте распечатку идеальной версии архитектуры системы, которая могла бы у вас быть, если бы вы обладали даром предвидения и безграничными средствами.
Микросервисы не должны быть самоцелью. Вы ничего не выиграете просто от их присутствия в системе. Выбор микросервисной архитектуры — это осознанное, рациональное решение. Думать о переходе следует только в том случае, если вы не можете найти более простого способа достичь своей конечной цели имеющимися средствами.
Извлечение кода приложения обычно проще, чем извлечение данных. Однако если код приложения извлекается без ошибок, но извлечение информации оказывается невозможным, возникают проблемы. Поэтому перед началом декомпозиции подумайте, как будут извлекаться код приложения и данные.
