Микросервисная архитектура обеспечивает высокую скорость изменений и хорошую масштабируемость, а также позволяет создавать чистые эволюционирующие системы. Но реализовать свою первую микросервисную архитектуру непросто. Как сделать выбор из множества вариантов и обучить свою команду всем техническим деталям, чтобы максимально увеличить шансы на успех? В этой книге авторы, Ронни Митра и Иракли Надареишвили, предоставили пошаговое руководство для построения эффективной архитектуры микросервисов. Архитекторы и инженеры пройдут путь внедрения, основанный на методах и архитектурах, доказавших свою эффективность для микросервисных систем. Вы создадите операционную модель, проект микросервиса, инфраструктурную основу и два работающих микросервиса, а затем соедините эти компоненты в одну реализацию. Для любого, перед кем стоит задача создания микросервисов, руководство станет бесценным источником знаний.
Начав читать эту книгу, я ожидал больше упора в код, но по мере чтения, я понял, что микросервисы - это больше про архитектуру, инфраструктуру и даже команду, чем код. Поэтому, в книге даже больше материала про devops чем про все остальное. Возможно, кому-то это покажется водой, но это не так! Помимо этого, автор затрагивает и психологические моменты, давая советы по поводу того, на чем не стоит зацикливаться и как избежать аналитического паралича. Единственное, для России эта книга уже менее актуальна т.к. во многих аспектах автор полагается на облачные решения типа AWS, с чем сейчас возникли проблемы.
В главе 1 мы отметили, что минимизация затрат на координацию — основной метод архитектуры микросервисов. Этот показатель настолько фундаментальный, что команды, которые смогут продемонстрировать тенденцию к снижению потребности в координации, преуспеют независимо от того, скольких принципов Ньюмана, Льюиса, Фаулера или Митры/Надареишвили они придерживаются изначально.
В своей основополагающей работе по сложности программного обеспечения — статье «Серебряной пули нет» (http://worrydream.com/refs/Brooks-NoSilverBullet.pdf), опубликованной в 1986 году, Фред Брукс метко отмечает:
«Нет ни одной разработки ни в технологии, ни в методике управления, которая сама по себе обещала бы хотя бы на порядок повысить производительность, надежность и простоту».