Too many projects wait till the very end to think about supportability. Your system or solution will not magically become supportable overnight. It is critical that your design efforts meet support needs. Here are some questions that will influence your design:
- How will production support get notified of exceptions/incidents? Do they need notification real-time or periodically? You might need a notification component. Depending on your requirements, the component might need to send alerts/messages to one or more parties. You might also need to support sending messages to different destinations (mobile phones, support consoles).
- What information needs to be provided in the application-specific logs? Error location, error code, stack trace, possible causes, and resolution information needs to be captured. Additionally, application specific logs might also capture time of error, machine name, and runtime statistics such as heapsize/thread usage etc.
- How will an exception get resolved? Are there errors that need human intervention? Is there a need to pause transactions and resume processing when exceptions are resolved? Returning contextual and actionable information is essential in these cases. Depending on the volume and error categories you might want to design a facility for viewing exceptions and resubmitting failed transactions.













Leave a comment