Application Performance
Today we see companies are spending little or less time on the application itself and investing more time and money on hardware, infrastructure and related equipment expecting the applications will continue to scale and return a better ROI. The technological advancement, improved services and cost effective hardware infrastructure, equipment and solutions have influenced this behaviour in organisations. This isn't a healthy approach.
It is important that we understand the key contributing factors and its impact to performance and scalability of the application. Low cost hardware should neither influence nor be the only deciding factor when making such long term decisions. Throwing more hardware at applications is an option, but not a solution. There is no alternative route or mantra to a long term maintainable and profitable performance management approach, and there is no magic.
We should think wisely and look at the applications we develop from an engineering perspective and make sure they are developed according to best practices. It is the application which consumes CPU, and memory that demands for more hardware resources. It is therefore necessary that you pay lot of attention to detail and spend sufficient time when designing and developing applications, so they don't demand for resources unnecessarily. This is the best and healthy approach that can help the businesses grow continuously and successfully while being profitable. All other factors including hardware infrastructure, caching etc. are there to help find the right balance.
Invest more on technical and knowledge resources. Educate your developers and convince them to write code and develop applications to be performant. Provide them the right motivation so that each line of code they write can contribute to the performance of the application. Every block of code is responsible for the ROI. It is said that 80% of the performance lies in the way the software is designed and developed.
Do not focus only on functionality and also let's not worry about performance towards the end of the project, or few weeks before rolling out your product. Performance is a continuous engineering process which starts on day one and lives for the lifetime of the application. It is not rocket science but a proven discipline in the software development cycle.
"Poorly designed and developed applications demands for more hardware such as CPU, memory and other resources, which puts the Total Cost of Ownership (TCO) high, and the maintenance cost high as they are also expensive to scale."
So much have changed in the last decade and hence the perception. Once what you believed to be true is not always true as we discover efficient and effective ways of solving problems in a rapidly changing dynamic environment.