top of page

Performance Happens in the Context of the Smallest of Acts

The error rate in network interactions, the utilization of system components, the design of database queries, and the presentation on the end-user layer say everything about how we allow the details to shape the end-user experience and perceived performance.


Hardware != Better Performance


Many tried to cure performance issues by adding more powerful hardware. For some fundamental problems, this might bring a slight improvement, but when request volumes are high, response times are still beyond agreed KPIs.


Modern Cloud Infrastructure != Better Performance


Let's assume you migrate your monolithic application in a lift and shift exercise to the cloud by deploying the code on the latest cloud stacks. Do you think this would solve your performance problems this application is suffering?


Agile != Better Performance


You can transform your waterfall to agile projects and deploy code much faster in smaller increments to production. There is no guarantee that performance problems in your systems will be wiped out thanks to the more frequent deployments on production.


Observability != Better Performance


When response times and reliability are not that great, organizations turn to observability and hope that this helps to improve and avoid user experience issues. I am a big supporter of observability solutions and have solved hundreds of performance issues, but it's always too late and more of a reactive approach. Observability alone does not improve system performance.


Performance is nothing if not the details!


When we make performance a shared responsibility in our teams, we are on a good path to building all the essential components with performance in mind. Similar to any critical requirement, we must treat performance requirements with respect. Based on my experience, performance often fails due to systematic shortcomings such as:

  1. No performance requirements

  2. No performance risk analysis

  3. No workload modeling

  4. No early performance validation

  5. No design for performance

  6. No performance validation

  7. No performance monitoring and tracing

  8. No continuous performance feedback

  9. No performance engineering skills


Performance is nothing if not the details of design and code that identify the practices and methodologies that define user experience and reliability. 

Performance is truly in the details. 


Keep up the great work! Happy Performance Engineering!



Comments


bottom of page