Real microservices architectures contain SOAP services that nobody dares rewrite, partner integrations in protocols nobody picks anymore, and external APIs whose payload shapes resemble nothing the internal domain model uses. The adapter pattern places dedicated translation components between systems that need to talk but speak incompatible protocols, formats, or semantics. This guide covers the canonical use cases (legacy bridging, schema translation, vendor abstraction), the variants (inbound, outbound, anti-corruption layer), production implementation patterns including a worked Stripe webhook adapter, and the failure modes that turn adapters from useful seams into the most fragile parts of the system.