10.1 Maintaining healthy microservices10.2 Monitoring your microservices10.2.1 Logging in development10.2.2 Error handling10.2.3 Logging with Docker Compose10.2.4 Basic logging with Kubernetes10.2.5 Roll your own log aggregation for Kubernetes10.2.6 Enterprise logging, monitoring and alerts10.2.7 Automatic restarts with Kubernetes health checks10.2.8 Tracing across microservices10.3 Debugging microservices10.3.1 The debugging process10.3.2 Debugging production microservices10.4 Reliability and recovery10.4.1 Practice defensive programming10.4.2 Practice defensive testing10.4.3 Protect your data10.4.4 Replication and redundancy10.4.5 Fault isolation and graceful degradation10.4.6 Simple techniques for fault tolerance10.4.7 Advanced techniques for fault tolerance10.5 Continue your learningSummary