Прекрасная книга!!! Просто бестселлер. Всё так по делу и конкретно. Нет воды и пустого словоблудия. Для меня очень интересная тема микросервисы.
Objętość 544 strony
2019 rok
Микросервисы. Паттерны разработки и рефакторинга (pdf+epub)
O książce
Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились – переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности.
Книга, предназначенная для разработчиков и архитекторов из больших корпораций, рассказывает, как проектировать и писать приложения в духе микросервисной архитектуры. Также в ней описано, как делается рефакторинг крупного приложения – и монолит превращается в набор микросервисов.
Книга написана четко структурно по делу, очень рекомендую к прочтению. Минимум воды. Даны шаблоны. Много понятных диаграмм. Не стоит изобретать велосипед, все уже изобретено до вас. Просто воспользуйтесь проверенными идеями как спроектировать свой сервис.
Данную книгу мне дал почитать коллега по работе. Я по роду своей деятельности имею непосредственное отношение к разработке программ с применением микросервисной архитектуры, поэтому я охотно согласился прочитать данный труд. Ранее Криса Рачардсона я не читал, эта книга стала первым знакомством с автором.
Сразу хочу сказать, что книга не рассчитана на начинающих программистов. Описываемые в ней термины, технологии, программы и паттерны будут лучше поняты и восприняты более опытными профессионалами.
Итак, в чем же прелесть микросервисов, чем они помогают разработчикам и бизнесу? Дело в том, что приложения, написанные с применением этого подхода легче поддерживаются, лучше масштабируются и быстрее доставляются в промышленную среду. Хотя и без недостатков не обошлось: в некоторых случаях разработка и тестирование(сквозное тестирование в частности) микросервисного приложения сложнее и трудозатратнее, чем разработка и тестирование монолитного приложения.
Архитектура и проектирование в конечном итоге сводятся к принятию решений. Вам нужно решить, какая архитектура лучше всего подходит для вашего приложения — монолитная или микросервисная. Делая этот выбор, вы должны взвесить большое количество за и против. Если остановитесь на микросервисах, вам придется столкнуться с множеством вызовов.
Автор рассматривает в книге конкретный пример программы — «FTGO». Это приложение для доставки пищи из ресторанов. Изначально оно представляет собой монолитное приложение, которое постепенно разделяется на микросервисы. Из него выносятся обособленные части бизнес-логики, такие как "ресторан", "кухня", "заказ" и "доставка". Это позволит назначить на каждую часть свою команду разработки, которая будет отвечать только за данный сервис.
В книге описывается ряд методик и паттернов, которые присущи микросервисной архитектуре, например: 1) синхронное и асинхронное межпроцессные взаимодействия; 2) предметно-ориентированное проектирование; 3) управление транзакциями с помощью повествований; повествования на основе хореографии и оркестрации; 4) доменные модели и агрегаты; 5) порождение событий; 6) объединение API и CQRS; 7) API-шлюз; 8) способы развертывания микросервисов: виртуальные машины, контейнеры, бессерверные платформы (лямбда-функции); 9) и многое другое.
Также автором рассмотрено и описано множество программ и технологий, которые можно использовать при разработке микросервисов: 1) DynamoDB - система управления базами данных класса NoSQL в формате «ключ — значение», предлагаемая Amazon.com как часть пакета Amazon Web Services; 2) GraphQL - язык запросов данных и язык манипулирования данными с открытым исходным кодом для построения веб ориентированных программных интерфейсов; 3) Gherkin - человеко-читаемый язык для описания поведения системы; 4) Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений; 5) Kubernetes - открытое программное обеспечение для оркестровки контейнеризированных приложений, автоматизации их развёртывания, масштабирования и координации в условиях кластера; 6) AWS Lambda - платформенная услуга в рамках Amazon Web Services в модели «функция как услуга», обеспечивающая событийно-ориентированные бессерверные вычисления;
Это лишь малая часть, того, что Вы можете найти в этой книге.
Я рекомендую прочитать ее тем, кто занимается разработкой микросервисов, из книги можно почерпнуть много нового и интересного как по теме разработки, так и по теме администрирования.
Небольшими минусами являются пара опечаток, что встретились в книге, и довольно сложная, временами, подача материала. Читать залпом эту книгу не получится, она довольно быстро утомляет, ввиду сложности описываемых тем и технологий.
Моя оценка 4/5.
Доступным, простым языком раскрыта тема разработки микросервисов пори переходе на микросервисную архитектуру. Которая поможет обеспечить непрерывную разработку, доставку и развертывание приложений любой сложности.
В первый раз прочитала примерно 1/3. Поняла, что не хватает базы. Ушла учиться.
Вернулась уже с определенным бэкграундом. Вот без него читать не советую - белый шум.
Описаны актуальные инструменты для разбивки монолита на микросервисы и для создания архитектуры с нуля. Частями можно использовать как инструкцию. Прям пошагово объяснили.
Отдельное спасибо Ричардсону за детальное разжовывание модели доменных событий. Наконец-то кто-то написал об этом понятно.
Минутка личной боли. Ну почему американцы так любят лирические отступления в профильной литературе? ЗАЧЕМ ОНИ ТАМ? Зачем мне знать, что Мэри любит пить кофе по утрам, а Стив жрет пончики упаковками, пока они там пилят свои микросервисы? Что бы я ассоциировала себя с Мэри? Со Стивом? Да что б им подавиться этими пончиками в свей Силиконовой долине! Страниц 50 текста вообще можно выкинуть!
Zostaw recenzję
Recenzje
6