Modern applications must handle unpredictable workloads.
To give you an idea on what you will learn, i am listing some of the diagrams taken from the guide.
The simplest model is request-response. The application calls a service, waits for it to finish, and then continues.
Instead of direct calls, the application sends requests to a queue. The consuming service processes messages from the queue at its own pace.
To handle high load, you add more consumers. Each consumer pulls from the same queue. They “compete” for messages, so no single instance becomes a bottleneck.
Service Bus with Azure Functions are a direct implementation of this pattern.