Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Who This Book Is Written For
What This Book Is Not
How To Use This Book
How This Book Is Structured
Conventions Used in This Book
O’Reilly Safari
How to Contact Us
Acknowledgments
1. Microservices
From Monoliths to Microservices
Microservice Architecture
The Microservice Ecosystem
Layer 1: Hardware
Layer 2: Communication
RPCs, endpoints, and messaging
Service discovery, service registry, and load balancing
Layer 3: The Application Platform
Self-service internal development tools
The development cycle
Test, build, package, and release
Deployment pipeline
Logging and monitoring
Layer 4: Microservices
Organizational Challenges
The Inverse Conway’s Law
Technical Sprawl
More Ways to Fail
Competition for Resources
2. Production-Readiness
The Challenges of Microservice Standardization
Availability: The Goal of Standardization
Production-Readiness Standards
Stability
Reliability
Scalability
Fault Tolerance and Catastrophe-Preparedness
Performance
Monitoring
Documentation
Implementing Production-Readiness
3. Stability and Reliability
Principles of Building Stable and Reliable Microservices
The Development Cycle
The Deployment Pipeline
Staging
Full staging
Partial staging
Canary
Production
Enforcing Stable and Reliable Deployment
Dependencies
Routing and Discovery
Deprecation and Decommissioning
Evaluate Your Microservice
The Development Cycle
The Deployment Pipeline
Dependencies
Routing and Discovery
Deprecation and Decommissioning
4. Scalability and Performance
Principles of Microservice Scalability and Performance
Knowing the Growth Scale
The Qualitative Growth Scale
The Quantitative Growth Scale
Efficient Use of Resources
Resource Awareness
Resource Requirements
Resource Bottlenecks
Capacity Planning
Dependency Scaling
Traffic Management
Task Handling and Processing
Programming Language Limitations
Handling Requests and Processing Tasks Efficiently
Scalable Data Storage
Database Choice in Microservice Ecosystems
Database Challenges in Microservice Architecture
Evaluate Your Microservice
Knowing the Growth Scale
Efficient Use of Resources
Resource Awareness
Capacity Planning
Dependency Scaling
Traffic Management
Task Handling and Processing
Scalable Data Storage
5. Fault Tolerance and Catastrophe-Preparedness
Principles of Building Fault-Tolerant Microservices
Avoiding Single Points of Failure
Catastrophes and Failure Scenarios
Common Failures Across an Ecosystem
Hardware Failures
Communication-Level and Application Platform–Level Failures
Dependency Failures
Internal (Microservice) Failures
Resiliency Testing
Code Testing
Lint tests
Unit tests
Integration tests
End-to-end tests
Automating code tests
Load Testing
Fundamentals of load testing
Running load tests in staging and production
Automating load testing
Chaos Testing
Failure Detection and Remediation
Incidents and Outages
Appropriate Categorization
Categorizing microservices
Categorizing incidents and outages
The Five Stages of Incident Response
Assessment
Coordination
Mitigation
Resolution
Follow-up
Evaluate Your Microservice
Avoiding Single Points of Failure
Catastrophes and Failure Scenarios
Resiliency Testing
Failure Detection and Remediation
6. Monitoring
Principles of Microservice Monitoring
Key Metrics
Logging
Dashboards
Alerting
Setting up Effective Alerting
Handling Alerts
On-Call Rotations
Evaluate Your Microservice
Key Metrics
Logging
Dashboards
Alerting
On-Call Rotations
7. Documentation and Understanding
Principles of Microservice Documentation and Understanding
Microservice Documentation
Description
Architecture Diagram
Contact and On-Call Information
Links
Onboarding and Development Guide
Request Flows, Endpoints, and Dependencies
On-Call Runbooks
FAQ
Microservice Understanding
Architecture Reviews
Production-Readiness Audits
Production-Readiness Roadmaps
Production-Readiness Automation
Evaluate Your Microservice
Microservice Documentation
Microservice Understanding
A. Production-Readiness Checklist
A Production-Ready Service Is Stable and Reliable
A Production-Ready Service Is Scalable and Performant
A Production-Ready Service Is Fault Tolerant and Prepared for Any Catastrophe
A Production-Ready Service Is Properly Monitored
A Production-Ready Service Is Documented and Understood
B. Evaluate Your Microservice
Stability and Reliability
The Development Cycle
The Deployment Pipeline
Dependencies
Routing and Discovery
Deprecation and Decommissioning
Scalability and Performance
Knowing the Growth Scale
Efficient Use of Resources
Resource Awareness
Capacity Planning
Dependency Scaling
Traffic Management
Task Handling and Processing
Scalable Data Storage
Fault Tolerance and Catastrophe-Preparedness
Avoiding Single Points of Failure
Catastrophes and Failure Scenarios
Resiliency Testing
Failure Detection and Remediation
Monitoring
Key Metrics
Logging
Dashboards
Alerting
On-Call Rotations
Documentation and Understanding
Microservice Documentation
Microservice Understanding
Glossary
Index
← Prev
Back
Next →
← Prev
Back
Next →