Kweo runs their user engagement platform on a very interesting stack: They use Netty, Apache Kafka, Storm / Trident, Cassandra and ZeroMQ. They run all of their infrastructure on Amazon EC2.

One of their most important requirements is Real time User Interaction which obviously requires good performance of their system which leads to good user experience. Knowing whether performance is impacted by the application code, individual components in the stack or the underlying virtualized/cloud infrastructure is a key requirement for them. The following screenshot is taken from their recent engineering blog post that highlights how they manage performance of their distributed real-time data processing system. It shows the flow of transactions through their environment which helps them to automatically detect any types of performance or functional problems that impact their end users.

System Topology of Kweo's real time data processing environment
System Topology of Kweo’s real time data processing environment

Check out their really excellent blog post on how they decided on the right approach and tooling in order to put application performance into their engineering DNA as well as supporting all of their use cases for their continuous delivery and DevOps strategy.