Application Performance Engineering
According to Jim Metzler and Steve Taylor, Application Performance Engineering (APE) covers the roles, skills, activities, practices, tools and deliverables applied at every phase of the application life cycle that ensure that an application will be designed, implemented and operationally supported to meet the non-functional performance requirements.
The keyword in the definition is non-functional. It is assumed that the application works, but some aspects, such as the time taken to perform a transaction or a file upload, should be considered from the very beginning of the life cycle.
So, the problem can, in turn, be divided into several parts:
- On the one hand, we have to identify which aspects of the application might produce meaningful bottlenecks.
- This implies testing the application, and tests can vary depending on the type of application, of course: for example line of business, games, web applications, desktop, and so on. These should lead us to state...