По мере того как организации переходят от монолитных приложений к небольшим автономным микросервисам, распределенные системы становятся все более детализированными. Второе дополненное издание предлагает целостный взгляд на самые актуальные темы, в которых необходимо разбираться при создании и масштабировании архитектуры микросервисов, а также управлении ею.
Вы познакомитесь с современными решениями для моделирования, интеграции, тестирования, развертывания и мониторинга собственных автономных сервисов. Примеры из реальной жизни показывают, как получить максимальную отдачу от этих архитектур. Книга будет полезна всем – от архитекторов и разработчиков до тестировщиков и специалистов по эксплуатации.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Разработка программного обеспечения (ПО) за последние 70 лет (то есть с момента появления первых электронных компьютеров общего назначения и программ для них) изменилась практически до неузнаваемости. Если первым программистам приходилось создавать программы в машинных кодах, при этом параллельно отлаживая нестабильное “железо”, то сейчас каждый школьник может создавать простые программы без каких-либо усилий. А профессиональным разработчикам ПО доступен целый арсенал инструментов от языков программирования высокого уровня, интеллектуальных интегрированных сред разработки (иногда даже пугающих своей интеллектуальностью) и вплоть до сред имитационного моделирования и облачных систем виртуализации. И всё же, проекты по разработке ПО всё равно остаются безумно рисковыми и сложными.Уже давно ушли в историю монолитные программы, создаваемые одним человеком. Современные программные системы достигают такой сложности, что для их разработки требуются сотни тысяч человеко-часов работы, требуется организация совместной работы десятков и сотен человек, и чтобы эти системы в итоге не развалились под собственной “тяжестью”, требуются особые подходы к их внутренней организации. В середине нулевых годов стал активно использоваться подход к модульной разработке ПО, названный сервисно-ориентированной архитектурой (SOA). При этом подходе большая и сложная программная система разбивается на набор слабо связанных друг с другом компонентов, каждый из которых решает свою задачу и взаимодействует с остальными через стандартизированные интерфейсы. Подход имел много сторонников, но второе рождение по сути пережил с появлением идеи микросервисов и бурным распространением интернет-сервисов, облачных инфраструктур и веб-программирования. Микросервисы всё так же решают каждый свою небольшую задачу, не зависят друг от друга, но при этом не только выполняются каждый в своём окружении, но и могут вообще даже размещаться совершенно на разных вычислительных устройствах в сети. В условиях современных требований к надёжности, устойчивости и возможности быстрого масштабирования интернет-сервисов системы, состоящие из большого количества мелких независимых компонент, которые можно легко добавлять или заменять при выходе из строя, зарекомендовали себя очень хорошо. Автор книги – инженер компании ThoughtWorks, сотрудниками которой было написано много замечательных книг в области разработки ПО (один только Мартин Фаулер чего стоит). Первая глава более-менее вводная, описывает используемые идеи и концепции, а вот дальше материал становится более практическим. Рассматриваются подходы к моделированию ПО в виде микросервисов, способы их интеграции между собой, развёртывания на аппаратном обеспечении, подходы к тестированию такого рода распределённых систем, мониторинга их работы, обеспечения безопасности. Всё это на примерах из реальной практики автора. Отдельная очень полезная, на мой взгляд, глава рассматривает разбиение существующей монолитной системы на части и перевод её на микросервисные рельсы. И это очень здорово, поскольку создавать что-то новое и правильное с нуля легко и приятно, но энтузиазм резко падает, когда перед тобой сотни тысяч строк кода на давно устаревшем языке, и все боятся это трогать, чтобы ненароком что-нибудь не сломать. А такие случаи чаще всего и встречаются в реальной жизни. Книга больше сосредоточена на идеях, чем на конкретных средствах, но примеры современных технологий и инструментов тут тоже упоминаются. Она будет интересна и тем, кто интересуется подходами к проектированию архитектуры ПО в целом, и тем, кто уже занимается внедрением микросервисов в своих системах. Очень годная книжка на актуальную тему. 8/10
Книга крутая! Серьезно! Если вы заинтересовались миросервисами – это для вас!
Представьте, что знания в определенной области – это дерево, где у корня находятся общие принципы, а в листьях – конкретные практические решения. Так вот эта книга дает вам знания корня. С помощью нее вы составите представление об основных принципах микросервисной архитектуры, найдете ответы на большинство вопросов. Ну а дальше уже останется только искать лучшие реализации тех или иных подходов.
Поставил оценку 4 за перевод. Он, мягко говоря, не очень. Очень странно, почему переводом технической литературы занимаются люди, плохо разбирающиеся в терминологии. При чтении книги приходилось постоянно заглядывать в книгу с оригинальным переводом, чтобы прояснить те или иные термины.
Да прибудет с нами грамотный технический переводчик!
Лично для меня, книги O'Reilly, это не книги, с которых надо начинать свой путь изучения чего-то нового, а книги, которые помогают систематизировать знания. Так вот, это книга еще раз подчеркивает это мнение. Почему так? Я решил начать изучать микросервисы именно с нее. И зря. Да, я в ней понял преимущества данного вида архитектуры, но временами, в ней не хватало примеров или описания «простым языком». Не то, что бы я не понимал о чем пишут, но слова подбирались уж более общие, вместо того, чтобы добавить небольшой пример и на нем разжевать. Только по этому поставил 4 балла.