In a microservices architecture, the whole is indeed greater than the sum of its parts. But in practice, individual microservices can inadvertently impact others and alter the end user experience. Effective microservices architectures require standardization on an organizational level with the help of a platform engineering team.This practical book provides a series of progressive steps that platform engineers can apply technically and organizationally to achieve highly resilient Java applications. Author Jonathan Schneider covers many effective SRE practices from companies leading the way in microservices adoption. You’ll examine several patterns discovered through much trial and error in recent years, complete with Java code examples.Chapters are organized according to specific patterns, including:Application metrics: Monitoring for availability with MicrometerDebugging with observability: Logging and distributed tracing; failure injection testingCharting and alerting: Building effective charts; KPIs for Java microservicesSafe multicloud delivery: Spinnaker, deployment strategies, and automated canary analysisSource code observability: Dependency management, API utilization, and end-to-end asset inventoryTraffic management: Concurrency of systems; platform, gateway, and client-side load balancing