Books & Videos

Table of Contents

  1. Chapter 1 Microservices

    1. What Are Microservices?

    2. Key Benefits

    3. What About Service-Oriented Architecture?

    4. Other Decompositional Techniques

    5. No Silver Bullet

    6. Summary

  2. Chapter 2 The Evolutionary Architect

    1. Inaccurate Comparisons

    2. An Evolutionary Vision for the Architect

    3. Zoning

    4. A Principled Approach

    5. The Required Standard

    6. Governance Through Code

    7. Technical Debt

    8. Exception Handling

    9. Governance and Leading from the Center

    10. Building a Team

    11. Summary

  3. Chapter 3 How to Model Services

    1. Introducing MusicCorp

    2. What Makes a Good Service?

    3. The Bounded Context

    4. Business Capabilities

    5. Turtles All the Way Down

    6. Communication in Terms of Business Concepts

    7. The Technical Boundary

    8. Summary

  4. Chapter 4 Integration

    1. Looking for the Ideal Integration Technology

    2. Interfacing with Customers

    3. The Shared Database

    4. Synchronous Versus Asynchronous

    5. Orchestration Versus Choreography

    6. Remote Procedure Calls

    7. REST

    8. Implementing Asynchronous Event-Based Collaboration

    9. Services as State Machines

    10. Reactive Extensions

    11. DRY and the Perils of Code Reuse in a Microservice World

    12. Access by Reference

    13. Versioning

    14. User Interfaces

    15. Integrating with Third-Party Software

    16. Summary

  5. Chapter 5 Splitting the Monolith

    1. It’s All About Seams

    2. Breaking Apart MusicCorp

    3. The Reasons to Split the Monolith

    4. Tangled Dependencies

    5. The Database

    6. Getting to Grips with the Problem

    7. Example: Breaking Foreign Key Relationships

    8. Example: Shared Static Data

    9. Example: Shared Data

    10. Example: Shared Tables

    11. Refactoring Databases

    12. Transactional Boundaries

    13. Reporting

    14. The Reporting Database

    15. Data Retrieval via Service Calls

    16. Data Pumps

    17. Event Data Pump

    18. Backup Data Pump

    19. Toward Real Time

    20. Cost of Change

    21. Understanding Root Causes

    22. Summary

  6. Chapter 6 Deployment

    1. A Brief Introduction to Continuous Integration

    2. Mapping Continuous Integration to Microservices

    3. Build Pipelines and Continuous Delivery

    4. Platform-Specific Artifacts

    5. Operating System Artifacts

    6. Custom Images

    7. Environments

    8. Service Configuration

    9. Service-to-Host Mapping

    10. Automation

    11. From Physical to Virtual

    12. A Deployment Interface

    13. Summary

  7. Chapter 7 Testing

    1. Types of Tests

    2. Test Scope

    3. Implementing Service Tests

    4. Those Tricky End-to-End Tests

    5. Downsides to End-to-End Testing

    6. Flaky and Brittle Tests

    7. Test Journeys, Not Stories

    8. Consumer-Driven Tests to the Rescue

    9. So Should You Use End-to-End Tests?

    10. Testing After Production

    11. Cross-Functional Testing

    12. Summary

  8. Chapter 8 Monitoring

    1. Single Service, Single Server

    2. Single Service, Multiple Servers

    3. Multiple Services, Multiple Servers

    4. Logs, Logs, and Yet More Logs…

    5. Metric Tracking Across Multiple Services

    6. Service Metrics

    7. Synthetic Monitoring

    8. Correlation IDs

    9. The Cascade

    10. Standardization

    11. Consider the Audience

    12. The Future

    13. Summary

  9. Chapter 9 Security

    1. Authentication and Authorization

    2. Service-to-Service Authentication and Authorization

    3. Securing Data at Rest

    4. Defense in Depth

    5. A Worked Example

    6. Be Frugal

    7. The Human Element

    8. The Golden Rule

    9. Baking Security In

    10. External Verification

    11. Summary

  10. Chapter 10 Conway’s Law and System Design

    1. Evidence

    2. Netflix and Amazon

    3. What Can We Do with This?

    4. Adapting to Communication Pathways

    5. Service Ownership

    6. Drivers for Shared Services

    7. Internal Open Source

    8. Bounded Contexts and Team Structures

    9. The Orphaned Service?

    10. Case Study: RealEstate.com.au

    11. Conway’s Law in Reverse

    12. People

    13. Summary

  11. Chapter 11 Microservices at Scale

    1. Failure Is Everywhere

    2. How Much Is Too Much?

    3. Degrading Functionality

    4. Architectural Safety Measures

    5. The Antifragile Organization

    6. Idempotency

    7. Scaling

    8. Scaling Databases

    9. Caching

    10. Autoscaling

    11. CAP Theorem

    12. Service Discovery

    13. Dynamic Service Registries

    14. Documenting Services

    15. The Self-Describing System

    16. Summary

  12. Chapter 12 Bringing It All Together

    1. Principles of Microservices

    2. When Shouldn’t You Use Microservices?

    3. Parting Words