Здравствуйте, жители Хабро! У нас вышла новая книга Сэма Ньюмана.
Книга посвящена программированию микросервисов — небольших автономных компонентов, позволяющих добиться модульности и отказоустойчивости любой программы.
Теория микросервисов тесно связана с философией Unix, помогает улучшить архитектуру любого приложения и позволяет избежать громоздкого и запутанного кода.
Эта книга поможет читателю по-новому взглянуть на многие, казалось бы, неразрешимые проблемы, масштабировать любые проекты и профессионально разрабатывать даже самые сложные системы.
Эта книга наполнена тематическим исследованием микросервисов со всего мира, включая приложения таких организаций, как Netflix, Amazon, Gilt и группа REA, которые обнаружили, что повышенная автономность архитектуры является огромным преимуществом для их команд.
Для кого написана эта книга?
Тематика книги достаточно широка, что, по сути, соответствует масштабу последствий использования микросервисных архитектур, обладающих высокой степенью детализации.Книга предназначена для тех, кто интересуется аспектами проектирования, разработки, развертывания, тестирования и обслуживания систем.
А те, кто уже начал работать с высокогранулярными архитектурами, создавать приложения с нуля или разбивать существующую монолитную систему на более мелкие части, найдут в ней массу полезных практических советов.
Книга также поможет тем, кто хочет разобраться, в чем дело, чтобы понять, подходят им микросервисы или нет.
Почему я (Сэм Ньюман) написал эту книгу?
Я заинтересовался темой архитектуры приложений много лет назад, когда работал над тем, чтобы помочь людям ускорить установку их программных продуктов.Я понял, что если фундаментальная конструкция системы не позволяет легко вносить изменения, технологии, которые могут автоматизировать инфраструктуру, тестирование и непрерывную доставку, окажут ограниченную помощь.
В то же время многие организации экспериментировали с созданием высокодетализированной архитектуры для достижения аналогичных целей, а также для повышения масштабируемости, повышения автономности групп разработчиков или более эффективного внедрения новых технологий.
Мой собственный опыт, а также опыт коллег из ThoughtWorks и других организаций подтвердил тот факт, что использование большого количества сервисов с собственным независимым жизненным циклом создает массу проблем, которые необходимо решать.
Во многих отношениях эта книга выглядела как универсальный магазин, который помог мне охватить множество тем, необходимых для понимания микросервисов, — все, что в свое время значительно помогло бы мне!
Мир микросервисов сегодня
Микросервисы — очень динамичная тема.Хотя идея не нова (несмотря на новизну используемого термина), накопленный в мире опыт вместе с новыми технологиями существенно повлияли на сами способы ее использования.
Из-за быстрого темпа изменений в этой книге я старался сосредоточиться на идеях, а не на конкретных технологиях, зная, что детали реализации всегда меняются быстрее, чем лежащее в их основе мышление.
И все же я полон ожиданий, что всего через несколько лет мы еще глубже углубимся в суть областей применения микросервисов и способы их эффективного использования.
Хоть я и постарался передать суть затронутых в этой книге тем, но если вы серьезно к ней интересуетесь и хотите быть в курсе последних тенденций, будьте готовы посвятить ее изучению не один год.
Структура книги
Основная часть книги во многом тематическая.Поэтому вы можете случайным образом выбирать для изучения те темы, которые представляют для вас наибольший интерес.
Хотя я и постарался раскрыть основные положения и идеи в начальных главах, хотелось бы верить, что даже достаточно искушенный читатель найдет для себя что-то интересное во всех без исключения главах.
Если вы хотите углубиться в некоторые из последующих глав, я настоятельно рекомендую просмотреть главу 2, которая охватывает широкий характер самой темы, а также дает представление о принятой мной структуре.
Для новичков в этой области главы структурированы таким образом, что, я надеюсь, им будет полезно прочитать всю книгу от начала до конца.
Вот краткий обзор всего, что описано в этой книге.
Глава 1. Микросервисы.
Начинается со знакомства с микросервисами, в котором подчеркиваются их преимущества и некоторые недостатки.
Глава 2. Архитектор разработки.
Посвящается трудностям компромиссов в архитектуре и разнообразию всего, что необходимо понимать при использовании микросервисов.
Глава 3. Как моделировать сервисы.
Начинается с определения границ микросервисов с использованием технологий, заимствованных из предметно-ориентированного проектирования, для управления мышлением.
Глава 4. Интеграция.
В этой главе мы начинаем углубляться в конкретные технологические последствия, рассматривая типы технологий совместной работы служб, которые наиболее актуальны для нас.
Также более подробно рассматриваются пользовательские интерфейсы и интеграция с устаревшими и готовыми коммерческими продуктами (COTS).
Глава 5. Разбивание монолита на части.
Многие эксперты рассматривают микросервисы как своего рода противоядие от больших, плохо изменяемых монолитных систем.
Именно этот вопрос будет подробно рассмотрен в этой главе.
Глава 6: Развертывание.
Хотя эта книга носит в основном теоретический характер, на некоторые темы в ней повлияли недавние изменения в технологиях, таких как развертывание, которые и станут предметом обсуждения.
Глава 7. Тестирование.
В этой главе подробно рассматривается тема тестирования, которая должна вызывать особую озабоченность, когда речь идет о развертывании нескольких отдельных сервисов.
Особое внимание будет уделено той роли, которую контракты с клиентами могут сыграть в обеспечении качества программного обеспечения.
Глава 8. Мониторинг.
Тестирование программного инструмента перед развертыванием не поможет, если проблемы будут обнаружены во время его работы в рабочей среде, поэтому в этой главе рассматриваются возможности высокодетализированного мониторинга систем и методы преодоления сложностей, присущих распределенным системам.
Глава 9. Безопасность.
В этой главе рассматриваются аспекты безопасности микросервисов и обсуждаются методы, которые позволяют аутентифицировать и авторизовать пользователя по отношению к службе и службу по отношению к другой службе.
Безопасность в вычислительных системах — очень важная тема, но многие люди ее охотно игнорируют. Хотя я ни в коем случае не считаю себя экспертом по безопасности, я надеюсь, что эта глава поможет вам, по крайней мере, продумать некоторые вещи, о которых вам необходимо знать при построении систем, особенно систем на основе микросервисов.
Глава 10. Закон Конвея и проектирование системы.
Основное внимание в этой главе уделяется взаимодействию между организационной структурой и архитектурой.
Многие организации уже поняли, что если не достичь гармонии в этом вопросе, возникнут значительные трудности.
Мы попытаемся разобраться в этой дилемме и рассмотреть несколько различных способов связать проектирование системы со структурой команды.
Глава 11. Масштабирование микросервисов.
В этой главе рассматривается порядок всех предыдущих шагов в среде расширения системы, позволяющий справиться с постоянно растущей вероятностью сбоев, возникающих при наличии большого количества служб и больших объемов трафика.
Глава 12. Коротко обо всем.
В последней главе делается попытка выделить основные особенности, которые отличают микросервисы от всего остального.
В нем перечислены семь принципов микросервисов и обобщены ключевые моменты книги.
об авторе
Сэм Ньюман — инженер в компании ThoughtWorks, где в настоящее время он совмещает работу над клиентскими проектами с решением архитектурных проблем для внутренних систем ThoughtWorks. Сэм работал с компаниями по всему миру в различных предметных областях, часто занимаясь разработкой и поддержкой программного обеспечения.Если вы спросите Сэма, чем он занимается, он ответит: «Работает с людьми над созданием все более и более совершенных программных систем».
Сэм Ньюман — автор статей, докладов на конференциях и иногда участвует в проектах свободного программного обеспечения.
Более подробную информацию о книге можно найти на сайте сайт издателя .
Оглавление Отрывок Для Хаброжителей скидка 25% по купону - Микросервисы .
Теги: #программирование #Профессиональная литература #дизайн и рефакторинг #книги #книги
-
Dell Studio Xps 13 Мерло Красный
19 Oct, 24 -
Fathomdb — Новый Стартап От Y Combinator.
19 Oct, 24 -
Выйти Из Песочницы
19 Oct, 24