Enable's approach to diagnosing software issues
At Enable, we strive to provide a service that runs as smoothly as possible. However, our customers will inevitably encounter software glitches or have queries about our product from time to time. This is why Enable has a well-established internal process for responding to any queries or issues raised by our customers as quickly as possible.
Our Customer Success team are constantly monitoring our ticketing backlogs for any new issues raised by our customers between the hours of 08:00 - 01:00 (GMT), 03:00 - 20:00 (EST), and 00:00 - 17:00 (PST). Normally, a member of the Customer Success team will be able to respond to the ticket directly but for some application issues, input will be required from other departments in the company and a Customer Success member will then ensure that the ticket is directed to an appropriate member of the team.
Our in-house ticketing system is designed to allocate tickets to team members familiar with the product area, where the reported issue has occurred, to maximize efficiency. In addition to this, when a ticket is assigned to the Engineering team, our Engineering Managers will review these allocations to ensure that important issues are tackled as soon as possible by the most suitable Engineers in the team.
Enable will then look to provide a resolution to each issue as quickly and thoroughly as we can, addressing the symptom reported in the first instance to allow our customers to continue working, and then looking to address the root cause of the issue in a post-mortem to ensure that the issue reported does not occur again. Our Software Engineers have a wide array of diagnostic tooling and monitoring resources to assist with this, as well as direct access to rest of the Engineering team to allow for collaboration and to facilitate the sharing of knowledge across the team.
Enable uses Microsoft Azure’s cloud computing platform as our hosting provider for our applications. Using the Azure platform over more traditional, on-premise platforms provides a host of benefits, one of which is the availability of an extensive range of diagnostic tools.
One such example of where we’ve reaped benefits from this tooling is when it was reported that one of our applications had become unresponsive.
Our Engineering team was quickly able to identify that the problem was caused following the deployment of a new version of the product and observed that memory usage of the application had increased significantly following the deployment using Azure’s graph metrics. The symptoms of the issues were immediately resolved by restarting the offending process to free up memory.
The team were then able to collect a memory dump using the "Collect Memory Dump" feature exposed on Azure application services and analyze this using Visual Studio 2019 to view the offending objects consuming memory.
From this analysis, the team were able to quickly identify the offending change and correct this to stabilise the application in the longer term, within 24 hours of the issue being raised. This is just one of many examples of how rich tooling has facilitated the quick resolution of an issue.
At Enable, we endeavour to respond to our customers requests as quickly as possible and this is facilitated through the availability of versatile diagnostic tools, monitoring resources, and a collaborative working environment.