Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Irakli Nadareishvili, Ronnie Mitra, Matt McLarty, Mike Amundsen

Microservices can have a positive impact on your enterprise—just ask Amazon and Netflix—but you can fall into many traps if you don’t approach them in the right way. This practical guide covers the entire microservices landscape, including the principles, technologies, and methodologies of this unique, modular style of system building. You’ll learn about the experiences of organizations around the globe that have successfully adopted microservices. In three parts, this book explains how these services work and what it means to build an application the Microservices Way. You’ll explore a design-based approach to microservice architecture with guidance for implementing various elements. And you’ll get a set of recipes and practices for meeting practical, organizational, and cultural challenges to microservice adoption. Learn how microservices can help you drive business objectives Examine the principles, practices, and culture that define microservice architectures Explore a model for creating complex systems and a design process for building a microservice architecture Learn the fundamental design concepts for individual microservices Delve into the operational elements of a microservices architecture, including containers and service discovery Discover how to handle the challenges of introducing microservice architecture in your organization

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# Microservice Architecture: Aligning Principles, Practices, and Culture ## 【One-Line Pitch】 A practical, design-based guide for technology leaders and architects who want to understand microservices as a holistic system—balancing speed and safety at scale—rather than just a collection of tools and patterns. If you're responsible for influencing organizational design, technology platforms, or software architecture, this book offers a timeless framework for making change easier. ## 【Book Arc】 - **Opening (~0%–9%)**: Introduces the core value proposition—"Speed and Safety at Scale and in Harmony"—and frames microservices as a goal-oriented approach, not a specific toolset. Sets up the book's three-part structure: principles, design, and practice. - **Early (~9%–28%)**: Establishes the "Microservices Way" by examining the origin story (the term emerged from architects grappling with systems that grew "too big") and the three principal concepts: microservices are for big systems, they are goal-oriented, and they prioritize replaceability over maintainability. - **Early (~28%–38%)**: Deepens the speed-and-safety framework, contrasting modern release capabilities with legacy "burn to disk" delivery, and argues that fragility—not tooling—is the real deterrent to release speed. Includes case studies from Amazon and Gilt showing how microservices reduce team dependencies and enable parallel initiatives. - **Middle (~38%–47%)**: Introduces a layered maturity model—modularized, cohesive, and systematized—to help organizations assess where they are and what benefits to expect. Discusses the "monolith first" debate and whether it's possible to start simple with microservices directly. - **Middle (~47%–53%)**: Explores the systematized layer, emphasizing that individual service resilience isn't enough; system availability depends on understanding interdependencies. Argues for an "influence versus control" approach to complex systems. - **Late (~53%–end)**: Covers service design (the "micro" view), system design and operations (the "macro" view), practical adoption challenges, and an epilogue that places microservices in a timeless context centered on adaptability to change. ## 【Key Takeaways】 - **Microservices are a goal, not a toolset** (Early): The real value comes from focusing on speed and safety at scale, not from adopting Docker, continuous delivery, or service discovery. Every decision is a trade-off affecting these two ideals. - **Big systems, not big companies** (Early): Microservices solve problems that arise when systems grow beyond initial boundaries—regardless of company size. The concern is scale in scope, volume, and user interactions, not a fixed definition of "big." - **Replaceability over maintainability** (Early): The original motivation was building systems that are replaceable rather than maintainable, which shifts how you approach change and evolution. - **Fragility, not process, limits release speed** (Middle): Most organizations have the infrastructure for thousands of daily releases but settle for weekly ones because their software is fragile. Speed and safety must be balanced—optimizing purely for speed "kills." - **A layered maturity model guides adoption** (Middle): Modularized (independently deployable services), cohesive (well-bounded service responsibilities), and systematized (understood interdependencies) layers each deliver distinct speed and safety benefits as scale increases. - **Monolith-first is one path, not the only one** (Middle): While early adopters unbundled monoliths and Gall's Law suggests starting simple, it's possible to start simple with microservices if you map layered characteristics to your goals. - **System-level thinking is essential** (Middle): Individual service resilience doesn't guarantee system availability. You must understand component interdependencies and take an influence-based approach to complex systems rather than trying to control everything. ## 【Reading Tips】 - **Skim the preface and early chapters** (~0%–9%) for the core philosophy and target audience; this frames everything that follows and helps you decide if the book matches your role and goals. - **Deep-read the maturity model section** (~44%–47%)—it's the conceptual backbone that connects technical choices to business outcomes. Use it to assess where your organization currently sits. - **Pay attention to the case studies** (Amazon, Gilt, and others) in the middle chapters; they ground abstract principles in concrete benefits like reduced team dependencies and graceful degradation. - **Treat the later chapters as reference material**—service design, system operations, and adoption practices are meant to be consulted as you implement, not read straight through. - **Skip if you're looking for code**: The authors explicitly state this is not a coding book. You won't find API design patterns or product recommendations; you'll find thinking processes and practices. ## 【Coverage Limits】 This guide synthesizes the book's opening, early, and middle sections (approximately the first half). The later chapters on service design, system operations, and adoption practices are referenced but not detailed here, as the excerpts do not cover their full content. ##
Page 3
bout application design. —Mel Conway, Educator and Inventor A well-thought-out and well-written description of the organizing principles underlying the micro...
View in text
Page 13
macro” design view, analyzing the critical design areas for the software system made up of the collection of microservices. Chapter 7, Adopting Microservices...
View in text
Excerpt 3
t you call that style of application is entirely up to you. If you are considering adopting a microservice architecture for your organization, consider how e...
View in text
Excerpt 4
y speed, modularized services are independently deployable. It is also possible to take a polyglot approach to tool and platform selection for indi‐ vidual s...
View in text
Excerpt 5
f the system can work together to form an emergent behavior. Emergent behaviors are the ones that are greater than the sum of their parts and for a microserv...
View in text
Excerpt 6
has had unintended consequences on the team’s work process. This happens because standardization is an attempt to remove uncertainty from our sys‐ tem, but c...
View in text
Excerpt 7
nciples to govern the work. One easy answer is to just copy someone else’s successful model—to adopt the same goals, principles, and implemen‐ tation pattern...
View in text
Excerpt 8
the dependency on human interaction in the software devel‐ opment process can go a long way toward increasing the speed at which change occurs. Try early Ado...
View in text
Tags
AI categories
BackendTechnologyProgramming Language
Publisher: O'Reilly Media
Publish Year: 2016
Language: English
Pages: 144
File Format: PDF
File Size: 10.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…