Book description
As organizations shift from monolithic applications to smaller, self-contained microservices, distributed systems have become more fine-grained. But developing these new systems brings its own host of problems. This expanded second edition takes a holistic view of topics that you need to consider when building, managing, and scaling microservices architectures.
Through clear examples and practical advice, author Sam Newman gives everyone from architects and developers to testers and IT operators a firm grounding in the concepts. You'll dive into the latest solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. Real-world cases reveal how organizations today manage to get the most out of these architectures.
Microservices technologies continue to move quickly. This book brings you up to speed.
- Get new information on user interfaces, container orchestration, and serverless
- Align system design with your organization's goals
- Explore options for integrating a service with your system
- Understand how to independently deploy microservices
- Examine the complexities of testing and monitoring distributed services
- Manage security with expanded content around user-to-service and service-to-service models
Publisher resources
Table of contents
- Preface
- I. Foundation
- 1. What Are Microservices?
- 2. How to Model Microservices
- 3. Splitting the Monolith
-
4. Microservice Communication Styles
- From In-Process to Inter-Process
- Technology for Inter-Process Communication: So Many Choices
- Styles of Microservice Communication
- Pattern: Synchronous Blocking
- Pattern: Asynchronous Nonblocking
- Pattern: Communication Through Common Data
- Pattern: Request-Response Communication
- Pattern: Event-Driven Communication
- Proceed with Caution
- Summary
- II. Implementation
-
5. Implementing Microservice Communication
- Looking for the Ideal Technology
- Technology Choices
- Serialization Formats
- Schemas
- Handling Change Between Microservices
- Avoiding Breaking Changes
- Managing Breaking Changes
- DRY and the Perils of Code Reuse in a Microservice World
- Service Discovery
- Service Meshes and API Gateways
- Documenting Services
- Summary
- 6. Workflow
- 7. Build
- 8. Deployment
- 9. Testing
- 10. From Monitoring to Observability
- 11. Security
- 12. Resiliency
- 13. Scaling
- III. People
-
14. User Interfaces
- Toward Digital
- Ownership Models
- Toward Stream-Aligned Teams
- Pattern: Monolithic Frontend
- Pattern: Micro Frontends
- Pattern: Page-Based Decomposition
- Pattern: Widget-Based Decomposition
- Constraints
- Pattern: Central Aggregating Gateway
- Pattern: Backend for Frontend (BFF)
- GraphQL
- A Hybrid Approach
- Summary
-
15. Organizational Structures
- Loosely Coupled Organizations
- Conway’s Law
- Team Size
- Understanding Conway’s Law
- Small Teams, Large Organization
- On Autonomy
- Strong Versus Collective Ownership
- Enabling Teams
- Shared Microservices
- Internal Open Source
- Pluggable, Modular Microservices
- The Orphaned Service
- Case Study: realestate.com.au
- Geographical Distribution
- Conway’s Law in Reverse
- People
- Summary
-
16. The Evolutionary Architect
- What’s in a Name?
- What Is Software Architecture?
- Making Change Possible
- An Evolutionary Vision for the Architect
- Defining System Boundaries
- A Social Construct
- Habitability
- A Principled Approach
- Guiding an Evolutionary Architecture
- Architecture in a Stream-Aligned Organization
- Building a Team
- The Required Standard
- Governance and the Paved Road
- Technical Debt
- Exception Handling
- Summary
- Afterword: Bringing It All Together
- Bibliography
- Glossary
- Index
- About the Author
Product information
- Title: Building Microservices, 2nd Edition
- Author(s):
- Release date: August 2021
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781492034025
You might also like
book
Building Micro-Frontends
What's the answer to today's increasingly complex web applications? Micro-frontends. Inspired by the microservices model, this …
book
Microservices Patterns
Microservices Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather …
book
Building Event-Driven Microservices
Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …