In the past, performance issues were often solved using investment in infrastructure. In many cases this approach worked fine but those days are long gone. In our highly-distributed micro-services based IT landscape the biggest chunk of performance issues are no longer related to network or infrastructure.
FAT Clients have been widely eliminated or migrated to web-based applications. While web-based applications provide many benefits, they also have their flipsides. One being that there are more components such as presentation, business, data access layer involved. Another one being that too much functionality is implemented from the client’s side, which cannot be re-used and very often results in bad user experience.
Based on my experience from several hundred performance investigations, the biggest proportion of performance issues are design related. Such issues could not be solved with investments in infrastructure.
For instance, if single users click results in ten web service calls, the response time might not be acceptable to users from abroad. Your only chance to solve such performance problems is a rework of your application design in order to improve the communication pattern.
Therefore, don’t underestimate the performance impact of your application design. Verify application and page design during the development stage and follow web performance best practices provided by Google and Yahoo.