You are previewing Microservice Architecture.
O'Reilly logo
Microservice Architecture

Book Description

Have you heard about the tremendous success Amazon and Netflix have had by switching to a microservice architecture? Are you wondering how this can benefit your company? Or are you skeptical about how it might work? If you’ve answered yes to any of these questions, this practical book will benefit you. You'll learn how to take advantage of the microservice architectural style for building systems, and learn from the experiences of others to adopt and execute this approach most successfully.

Table of Contents

  1. Preface
    1. Who Should Read This Book
    2. What’s In This Book
      1. The Outline
    3. What’s Not In This Book
    4. Conventions Used in This Book
    5. Safari® Books Online
    6. How to Contact Us
    7. Acknowledgments
  2. I. Understanding Microservices
  3. 1. The Microservices Way
    1. Understanding Microservices
    2. Adopting Microservices
      1. “What are microservices? Don’t I already have them?”
      2. “How could this work here?”
      3. “How would we deal with all the parts? Who is in charge?”
    3. The Microservices Way
      1. The Speed of Change
      2. The Safety of Change
      3. At Scale
      4. In Harmony
    4. Summary
  4. 2. The Microservices Value Proposition
    1. Microservice Architecture Benefits
    2. Deriving Business Value
    3. Defining a Goal-Oriented, Layered Approach
      1. Modularized Microservice Architecture
      2. Cohesive Microservice Architecture
      3. Systematized Microservice Architecture
      4. Maturity Model for Microservice Architecture Goals and Benefits
    4. Applying the Goal-Oriented, Layered Approach
    5. Summary
  5. II. Microservice Design Principles
  6. 3. Designing Microservice Systems
    1. The Systems Approach to Microservices
      1. Service
      2. Solution
      3. Process and Tools
      4. Organization
      5. Culture
      6. Embracing Change
      7. Putting it Together: The Holistic System
      8. Standardization and Coordination
    2. A Microservices Design Process
      1. Set Optimization Goals
      2. Development Principles
      3. Sketch the System Design
      4. Implement, Observe, and Adjust
      5. The Microservices System Designer
      6. Summary
  7. 4. Establishing a Foundation
    1. Goals and Principles
      1. Goals for the Microservices Way
      2. Operating Principles
    2. Platforms
      1. Shared Capabilities
      2. Local Capabilities
    3. Culture
      1. Focus on Communication
      2. Aligning Your Teams
      3. Fostering Innovation
    4. Summary
  8. III. Microservices in Practice
  9. 5. Service Design
    1. Microservice Boundaries
      1. Microservice Boundaries and Domain-Driven Design
      2. Bounded Context
      3. Smaller Is Better
      4. Ubiquitous Language
    2. API Design for Microservices
      1. Messsage-Oriented
      2. Hypermedia-Driven
    3. Data and Microservices
      1. Shipping, Inc.
      2. Event Sourcing
      3. System Model for Shipping, Inc.
      4. CQRS
    4. Distributed Transactions and Sagas
    5. Asynchronous Message-Passing and Microservices
    6. Dealing with Dependencies
      1. Pragmatic Mobility
    7. Summary
  10. 6. System Design and Operations
    1. Independent Deployability
    2. More Servers, More Servers! My Kingdom for a Server!
    3. Docker and Microservices
    4. The Role of Service Discovery
    5. The Need for an API Gateway
      1. Security
      2. Transformation and Orchestration
      3. Routing
    6. Monitoring and Alerting
    7. Summary
  11. 7. Adopting Microservices in Practice
    1. Solution Architecture Guidance
      1. How many bug fixes/features should be included in a single release?
      2. When do I know our microservice transformation is done?
    2. Organizational Guidance
      1. How do I know if my organization is ready for microservices?
    3. Culture Guidance
      1. How do I introduce change?
      2. Can I do microservices in a project-centric culture?
      3. Can I do microservices with outsourced workers?
    4. Tools and Process Guidance
      1. What kinds of tools and technology are required for microservices?
      2. What kinds of practices and processes will I need to support microservices?
      3. How do I govern a microservice system?
    5. Services Guidance
      1. Should all microservices be coded in the same programming language?
      2. What do I do about orphaned components?
    6. Summary
  12. 8. Epilogue
  13. A. Microservice Architecture Reading List
    1. Microservices 101
    2. Best Practices
    3. Example Implementations
    4. Foundations
  14. Index