When a new standard with the potential and breadth of Advanced Message Queuing Protocol (AMQP) arrives, it can be a very exciting time for businesses and application developers. Suddenly it is possible to do things that were previously difficult, if not impossible, and in a way that will make a marked difference over the longer term. Messaging has always been the province of the enterprise system and not easily accessible to most programmers. A secure, reliable, open, complete and inter-operable standard such as AMQP is poised to be as significant a step forward as HTTP was in 1991.
And then there is the Cloud. Messaging will play a huge role in this game-changing approach to IT. AMQP is expected to be rapidly accelerated into widespread use as development practices for the Cloud incorporate messaging as a central functionality for applications and services.
Thus the stage is set for an explosion of messaging both inside and outside of the Cloud, and for the use of AMQP in particular. Before that happens, there is good cause to pause and reflect on its trajectory.
Invariably, in the blush of youthful enthusiasm and in the rush to exploit new technologies, a particular pattern emerges: First, the raw functionality is explored, developed, and deployed. Second, and hard on heels, the security of newly developed infrastructure is hardened. Finally, often long after the functionality and security have matured, efforts are made to establish management practices such as monitoring and troubleshooting. The poor cousin rarely gets enough attention, and certainly never early enough in the process. Visibility into the new infrastructure is often low-to-nonexistent. IT staff must struggle with the consequences.
This has long been the history of emerging technologies – ATM networks, the Web, VoIP – to name a few. And the emergence of a wide-spread messaging infrastructure, particularly within the Cloud, will be no exception if pro-active attention is not given to monitoring. Some key considerations emphasize the case for monitoring AMQP:
- AMQP has a multi-layer character as a protocol that extends from the wire up to the application;
- messages are typically brokered, as opposed to exchanged via direct network connections, introducing additional complexity and 3rd party systems into the infrastructure;
- messages are asynchronous and often “fire-and-forget” in their handling, resulting in a low coupling between the application and infrastructure;
- multi-tenant and federated messaging environments will be increasingly common, particularly in the Cloud.
Each of these considerations speaks to the unique nature of messaging environments and underscores the need to consider monitoring for AMQP early. Once application transactions starting flowing, there simply will not be time to re-engineer.
For more information on AMQP and messaging, check out this quick video primer: