Today’s modern applications are built from an ever growing number of moving parts (e.g. queues, caches, services connecting different application tiers, and outgoing calls to external services). These parts are also dynamic—layers grow or shrink to scale, are load balanced, and since they are virtual or in the cloud, they can also physically move quickly. Transactions can literally pass through hundreds of different paths in your average application. These are spaghetti transactions.
Every piece of spaghetti has a start and an end, but how each one passes is difficult to see when it’s in a pile. Understanding spaghetti transactions, and how they flow between all the parts of the application’s topology has become more time consuming than ever.
Efficient management of these applications requires a new approach – moving from individually managing the health of each server, operating system, and the workload it runs, to managing applications and multi-tier transactions. Continue reading