Are you dealing with microservices that should have been a monolith? Or are you deploying monoliths and wish you could build microservices? In this talk we will look at communication as both the main driver and blocker for microservices adoption. We will go over organizational and technical patterns and best practices; we will showcase reference implementations and discuss debugging options useful when you must get your hands dirty. Finally, we will go over practical tips on what you can do now to improve your life if you are deep in the microservice trenches.