There is actually going to be a session at CMG this year on the topic which I am looking forward to: “Panel: Is the cloud a source of new problems for performance engineering or is it a solution to old”. The panel is going to talk about the two camps on performance engineering in the cloud:
 The Cloud is going to be a source of new performance problems for which we do not have tools yet
 The Cloud is going to be an “enabler” for performance engineering – allowing us to quickly and easily solve problems that have plagued us in the past
The first challenge listed in the Application Performance Engineering Hub article was around “highly distributed applications”. I guess the ultimate distributed application would be one where the application relies on a Cloud. There are many different scenarios where this could occur – but lets stick to one where the Cloud is one designed to allow IT to expand capacity on demand and the performance engineer is tasked with solving performance issues both in the regular distributed environment and in the Cloud (the engineer can’t just blame the cloud provider).
What does the performance engineer do in this case? How does the engineer even know where to start? Well, allow me to propose a solution which starts with a question:
Q: With all of these moving parts (Cloud expanding and shrinking, etc.) what does not change?
A: The Business Transactions
By focusing on the transactions that span the entire application architecture – performance engineers can:
– Prioritize based on the slowest most important transactions to the business that need immediate improvement
– Understand where the bottlenecks are within the architecture
Although this is a very different approach from the traditional infrastructure only focus – these new environments require new approaches to performance engineering and focusing on transactions is one of them.
The times they are a-changin
– Bob Dylan