Лучшие рецензии на LiveLib:
jzuken. Оценка 6 из 10
Разработка программного обеспечения (ПО) за последние 70 лет (то есть с момента появления первых электронных компьютеров общего назначения и программ для них) изменилась практически до неузнаваемости. Если первым программистам приходилось создавать программы в машинных кодах, при этом параллельно отлаживая нестабильное “железо”, то сейчас каждый школьник может создавать простые программы без каких-либо усилий. А профессиональным разработчикам ПО доступен целый арсенал инструментов от языков программирования высокого уровня, интеллектуальных интегрированных сред разработки (иногда даже пугающих своей интеллектуальностью) и вплоть до сред имитационного моделирования и облачных систем виртуализации. И всё же, проекты по разработке ПО всё равно остаются безумно рисковыми и сложными.Уже давно ушли в историю монолитные программы, создаваемые одним человеком. Современные программные системы достигают такой сложности, что для их разработки требуются сотни тысяч человеко-часов работы, требуется организация совместной работы десятков и сотен человек, и чтобы эти системы в итоге не развалились под собственной “тяжестью”, требуются особые подходы к их внутренней организации. В середине нулевых годов стал активно использоваться подход к модульной разработке ПО, названный сервисно-ориентированной архитектурой (SOA). При этом подходе большая и сложная программная система разбивается на набор слабо связанных друг с другом компонентов, каждый из которых решает свою задачу и взаимодействует с остальными через стандартизированные интерфейсы. Подход имел много сторонников, но второе рождение по сути пережил с появлением идеи микросервисов и бурным распространением интернет-сервисов, облачных инфраструктур и веб-программирования. Микросервисы всё так же решают каждый свою небольшую задачу, не зависят друг от друга, но при этом не только выполняются каждый в своём окружении, но и могут вообще даже размещаться совершенно на разных вычислительных устройствах в сети. В условиях современных требований к надёжности, устойчивости и возможности быстрого масштабирования интернет-сервисов системы, состоящие из большого количества мелких независимых компонент, которые можно легко добавлять или заменять при выходе из строя, зарекомендовали себя очень хорошо. Автор книги – инженер компании ThoughtWorks, сотрудниками которой было написано много замечательных книг в области разработки ПО (один только Мартин Фаулер чего стоит). Первая глава более-менее вводная, описывает используемые идеи и концепции, а вот дальше материал становится более практическим. Рассматриваются подходы к моделированию ПО в виде микросервисов, способы их интеграции между собой, развёртывания на аппаратном обеспечении, подходы к тестированию такого рода распределённых систем, мониторинга их работы, обеспечения безопасности. Всё это на примерах из реальной практики автора. Отдельная очень полезная, на мой взгляд, глава рассматривает разбиение существующей монолитной системы на части и перевод её на микросервисные рельсы. И это очень здорово, поскольку создавать что-то новое и правильное с нуля легко и приятно, но энтузиазм резко падает, когда перед тобой сотни тысяч строк кода на давно устаревшем языке, и все боятся это трогать, чтобы ненароком что-нибудь не сломать. А такие случаи чаще всего и встречаются в реальной жизни. Книга больше сосредоточена на идеях, чем на конкретных средствах, но примеры современных технологий и инструментов тут тоже упоминаются. Она будет интересна и тем, кто интересуется подходами к проектированию архитектуры ПО в целом, и тем, кто уже занимается внедрением микросервисов в своих системах. Очень годная книжка на актуальную тему. 8/10
yegorman. Оценка 6 из 10
Книга крутая! Серьезно! Если вы заинтересовались миросервисами – это для вас! Представьте, что знания в определенной области – это дерево, где у корня находятся общие принципы, а в листьях – конкретные практические решения. Так вот эта книга дает вам знания корня. С помощью нее вы составите представление об основных принципах микросервисной архитектуры, найдете ответы на большинство вопросов. Ну а дальше уже останется только искать лучшие реализации тех или иных подходов.Поставил оценку 4 за перевод. Он, мягко говоря, не очень. Очень странно, почему переводом технической литературы занимаются люди, плохо разбирающиеся в терминологии. При чтении книги приходилось постоянно заглядывать в книгу с оригинальным переводом, чтобы прояснить те или иные термины.Да прибудет с нами грамотный технический переводчик!
RaderstorfCoxswain. Оценка 6 из 10
Лично для меня, книги O'Reilly, это не книги, с которых надо начинать свой путь изучения чего-то нового, а книги, которые помогают систематизировать знания. Так вот, это книга еще раз подчеркивает это мнение. Почему так? Я решил начать изучать микросервисы именно с нее. И зря. Да, я в ней понял преимущества данного вида архитектуры, но временами, в ней не хватало примеров или описания «простым языком». Не то, что бы я не понимал о чем пишут, но слова подбирались уж более общие, вместо того, чтобы добавить небольшой пример и на нем разжевать. Только по этому поставил 4 балла.
Издательство:
ПитерКниги этой серии:
- Новая большая книга CSS
- Искусство управления IT-проектами
- Создание микросервисов (pdf+epub)
- Пользовательские истории. Искусство гибкой разработки ПО
- React. Быстрый старт. Создаем веб-приложение (pdf+epub)
- Python для сложных задач. Наука о данных (pdf+epub)
- MySQL по максимуму (pdf+epub)
- Высоконагруженные приложения. Программирование, масштабирование, поддержка (pdf+epub)
- Site Reliability Engineering. Надежность и безотказность как в Google (pdf+epub)
- ES6 и не только (pdf+epub)
- Эволюционная архитектура. Поддержка непрерывных изменений (pdf+epub)
- Apache Kafka. Потоковая обработка и анализ данных (pdf + epub)
- Java в облаке. Spring Boot, Spring Cloud, Cloud Foundry (pdf+epub)
- {Вы не знаете JS} Замыкания и объекты
- {Вы не знаете JS} Типы и грамматические конструкции (pdf+epub)
- {Вы не знаете JS} Асинхронная обработка и оптимизация
- Программирование квантовых компьютеров
- Генеративное глубокое обучение. Творческий потенциал нейронных сетей
- Эффективный TypeScript: 62 способа улучшить код
- BPF для мониторинга Linux
- Простой Python. Современный стиль программирования
- Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений (pdf + epub)
- Программируем с PyTorch. Создание приложений глубокого обучения (pdf + epub)
- gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes (pdf + epub)
- Знакомство с PyTorch. Глубокое обучение при обработке естественного языка (pdf+epub)
- Непрерывное развитие API. Правильные решения в изменчивом технологическом ландшафте (pdf+epub)
- Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript (pdf+epub)
- Эффективный Java. Тюнинг кода на Java 8, 11 и дальше (pdf+epub)
- Современный скрапинг веб-сайтов с помощью Python (pdf + epub)
- Создаем динамические веб-сайты на PHP
- Делай как в Google. Разработка программного обеспечения
- Разработка на JavaScript. Построение кроссплатформенных приложений с помощью GraphQL, React, React Native и Electron
- Программируем на C# 8.0. Разработка приложений
- Распределенные данные. Алгоритмы работы современных систем хранения информации
- Безопасность веб-приложений. Разведка, защита, нападение
- React: современные шаблоны для разработки приложений (pdf+epub)
- Безопасность контейнеров. Фундаментальный подход к защите контейнеризированных приложений (pdf+epub)
- Terraform. Инфраструктура на уровне кода (pdf + epub)
- Google BigQuery. Всё о хранилищах данных, аналитике и машинном обучении (pdf + epub)
- Linux. Книга рецептов. Все необходимое для администраторов и пользователей
- Масштабируемый рефакторинг. Возвращаем контроль над кодом
- Spring Boot по-быстрому. Создаём облачные приложения на Java и Kotlin
- Глубокое обучение с fastai и PyTorch. Минимум формул, минимум кода, максимум эффективности (pdf + epub)
- Go. Идиомы и паттерны проектирования (pdf + epub)
- Масштабируемые данные. Лучшие шаблоны высоконагруженных архитектур (pdf + epub)
- Разработка интерфейсов. Паттерны проектирования (pdf + epub)
- Искусственный интеллект и компьютерное зрение. Реальные проекты на Python, Keras и TensorFlow (+ epub)
- Программируем на Java (+ epub)
- Идиомы bash. Мощные, гибкие и понятные сценарии командной оболочки (pdf+epub)
- MySQL по максимуму. Проверенные стратегии (pdf+epub)
- Python для финансистов. Базовые концепции (pdf+epub)
- Linux. Командная строка. Лучшие практики (pdf+epub)
- Модернизация Java Enterprise. Облачные технологии для разработчиков (pdf + epub)
- Алгоритмы. С примерами на Python (pdf + epub)
- JavaScript. Рецепты для разработчиков (+epub)
- Микросервисы. От архитектуры до релиза (+epub)
- Искусство Agile-разработки. Теория и практика гибкой разработки ПО
- Эволюционная архитектура. Автоматизированное управление программным обеспечением (+ epub)