Software development involves many different stages of development before the application is deployed. This process, however, does not end after deployment. Regardless of how well the application is designed, coded, and tested there are situations that can and do cause errors to occur in the application. For example, if the database server is timing out or offline entirely, if there is a heavy load on the server(s), or a hardware failure anywhere in the application’s reach can result in errors, loss of productivity and user frustration.
Most companies will launch new web properties without any ability to monitor issues occurring on them. In fact, the primary way they are notified of these issues is when visitors get frustrated enough to complain about it. This problem is more complex than just the site being entirely offline; issues could exist only on certain pages under certain conditions which make resolving them extremely difficult.
To help detect and diagnose problems, Trellist utilizes an array of different tools to monitor and log errors. Our error reports include which line of source code that caused the error, the effected files, code in the execution stack and the URL of the page that caused the error. It is possible to attach application health monitoring even after deployment but its best include it as part of the application development process as you can more easily include detailed information such as customer info, shopping cart details, etc.
There are also a variety of different ways we can record and monitor sites. One such solution is to operate a web service that captures and analyzes error report data from many different sites and can alert administrators when certain conditions are present, such as when an error occurs in the checkout process where contacting the effected customer in a very timely manner is important. Another solution we utilize is having the error reports sent out as emails to the website administrators.
It is important to fully understand the causes of problems when they arise. While it may seem like the final point, deployment of a website is not the end of the development process.