Pushing Forward With Complex Code
As Eagle began their migration to a tech stack built out of new, modernized, containerized infrastructure, they started to understand that they were facing a problem. They were facing difficulties not only seeing what was going on in their production environment, but also being able to troubleshoot when errors did occur and facing long resolution times as a consequence.
Even worse, in order to be able to understand and resolve ticket issues, their team had to be able to reproduce them in a dev environment. They were working to keep as many of their customers as possible happy, which meant that they had to struggle through queues of tickets where the issues were especially difficult to reproduce. This resulted in extreme stress and workloads for the support team to achieve target resolution time. Resolving tickets meant having to reproduce the issue in a dev environment and that would mean that the customer support team had a near-impossible task of programming a customer’s local conditions to simulate their experience for each ticket.
According to David Julia, Head of Engineering at Eagle, “Working on support resolution without a tool like Rookout was time consuming, difficult, and sometimes ineffective. We had to grab logs from individual EC2 instances and try to figure out the problem and recreate the situation locally. That would involve grabbing an export of data, an export of the charts, the workspaces, and the different configurations the user had made. To make it worse, none of this was guaranteed because sometimes in IoT you have these weird conditions – such as a device losing connectivity or something unusual happening – that you simply aren’t able to recreate in a local environment. We would try our best, but there was often no guarantee we would be able to recreate the issue”.