Up through yesterday we looked at "where data is stored." Today we look at "how systems talk to each other." In a small app, a function can just call another function directly within a single program. But in a large service with separate order, payment, and notification systems, wiring them together directly means that when one dies, the whole thing collapses with it.
That's why in the cloud we connect systems loosely using asynchronous messaging. Today we'll distinguish, at a conceptual level, the three core services for this — SQS, SNS, and EventBridge.
Suppose the order service calls the payment service directly (a synchronous call)