Chapter 10. Getting the Message

In this chapter, we will discuss the benefits of messaging in cloud native architectures and provide a brief history of messaging patterns so that you can understand their origin and evolution of interprocess communication to cloud native distributed systems.

By the end of this chapter, you will be able to deploy the most common messaging implementations used in cloud native applications and microservices today. We will compare the capabilities of mature messaging solutions such as RabbitMQ and Kafka that have been in production for years, and we will implement common messaging patterns in NATS. Given the book’s focus on Azure, you will be able to manage Azure messaging offerings using Terraform. We will also provide small code samples in Python showing how easy it is to produce and consume messages and to validate proper deployment of the messaging infrastructure for both Azure and NATS.

The Need for Messaging

The need for application and system components to pass messages in near real-time and exchange data is not unique to the cloud, or new to container-based microservices or even networked client/server applications. Anyone who has piped together commands at a shell prompt has used interprocess communication, which is a basic form of messaging.

Even the most primitive operating systems provide the ability to pass messages and share data. This problem space (and various solutions) dates back to the 1970s and continued to evolve in the 2000s, ...

Get Cloud Native Infrastructure with Azure now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.