Synchronous – API based Asynchronous – event driven Inter- / intraservice Common for communication between apps Common for communication within apps Scalability Requires tools to manage point-to-point connections Is nearly infinitely scalable Cost Provisioning for peak use leads to low CPU utilization Scales to 0 (pay-for-use cost benefits) Latency Can be very low Is higher in theory, but latency requirements are rarely as low as expected (e.g., consider P50, P99) Agility Is easy to get started Is hard to use point to point in large scale Decoupled systems increase agility dramatically