Book description
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You’ll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.
- Discover how microservices allow you to align your system design with your organization’s goals
- Learn options for integrating a service with the rest of your system
- Take an incremental approach when splitting monolithic codebases
- Deploy individual microservices through continuous integration
- Examine the complexities of testing and monitoring distributed services
- Manage security with user-to-service and service-to-service models
- Understand the challenges of scaling microservice architectures
Publisher resources
Table of contents
- Preface
- 1. Microservices
- 2. The Evolutionary Architect
- 3. How to Model Services
-
4. Integration
- Looking for the Ideal Integration Technology
- Interfacing with Customers
- The Shared Database
- Synchronous Versus Asynchronous
- Orchestration Versus Choreography
- Remote Procedure Calls
- REST
- Implementing Asynchronous Event-Based Collaboration
- Services as State Machines
- Reactive Extensions
- DRY and the Perils of Code Reuse in a Microservice World
- Access by Reference
- Versioning
- User Interfaces
- Integrating with Third-Party Software
- Summary
-
5. Splitting the Monolith
- It’s All About Seams
- Breaking Apart MusicCorp
- The Reasons to Split the Monolith
- Tangled Dependencies
- The Database
- Getting to Grips with the Problem
- Example: Breaking Foreign Key Relationships
- Example: Shared Static Data
- Example: Shared Data
- Example: Shared Tables
- Refactoring Databases
- Transactional Boundaries
- Reporting
- The Reporting Database
- Data Retrieval via Service Calls
- Data Pumps
- Event Data Pump
- Backup Data Pump
- Toward Real Time
- Cost of Change
- Understanding Root Causes
- Summary
-
6. Deployment
- A Brief Introduction to Continuous Integration
- Mapping Continuous Integration to Microservices
- Build Pipelines and Continuous Delivery
- Platform-Specific Artifacts
- Operating System Artifacts
- Custom Images
- Environments
- Service Configuration
- Service-to-Host Mapping
- Automation
- From Physical to Virtual
- A Deployment Interface
- Summary
- 7. Testing
- 8. Monitoring
- 9. Security
- 10. Conway’s Law and System Design
- 11. Microservices at Scale
- 12. Bringing It All Together
- Index
Product information
- Title: Building Microservices
- Author(s):
- Release date: February 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491950357
You might also like
book
Building Event-Driven Microservices
Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand …
video
Event-Driven Microservices
Software developers and architects increasingly turn to microservices as a framework for improving the agility and …
book
Practical Event-Driven Microservices Architecture: Building Sustainable and Highly Scalable Event-Driven Microservices
In the simplest terms, event-driven architectures are like onions; they are manageable as a single layer …
book
Monolith to Microservices
How do you detangle a monolithic system and migrate it to a microservice architecture? How do …