Friday, May 20, 2011

Caching consideration for software system

Software systems may consist of many application development platform like web application, service and windows application. However in each platform, there is always a need to provide availability and performance to the end users.

Caching of data and functional logic results can definitely help a software system to achieve each of the mentioned objectives. This article showcase decision points one should consider for caching in their systems.

1. Long delay operations results: There are some operations in every application that are required at very frequently and that takes quit a good amount of processing time to complete and show results. These operation result can be seen as a target to implement caching to save long delaying operations.

2. Calls to database: All frequently read only database calls (master data/ config files) must be considered to be cached at the very beginning of the application development.

3. Latency Services: Many systems components do not started all along from the scratch. They rely heavily on existing running services and components. To save application cost to call these old written services repeatedly it will be advisable to cache the services results to reduce the service calls.

4. CPU intensive code: Prevent to execute heavy CPU intensive code by caching the results or part of the result to gain performance of overall system,