Many of us are doing microservices wrong. We’re splitting our systems up into smaller and smaller services, paying all the costs that that entails, but only getting a taste of the benefits, and the problem is REST. Microservices are supposed to promise isolation, isolation from faults, isolation from load failures, but synchronous communication means failure and unresponsiveness bubbles back up through our services along our communication pathways, undermining the promises that microservices offer. To realize the full potential of microservices, we need to stop using REST as our go to, and start rethinking our architectures to use asynchronous communication. This presentation looks at how this can be achieved in a practical manner.