With ZenHub, any software engineering team can get a real-time view of what's happening, even when some of the work happens inside GitHub and some of it happens in other tools. But maintaining this type of data synchronization is easier said than done. Because ZenHub is tightly integrated into GitHub, it must follow the same rules and structures that the GitHub team provides in terms of their APIs and open systems. These technical limitations can make it difficult to keep data synchronized between databases at GitHub and ZenHub. ZenHub uses replication and caching techniques to help maintain data synchronization and application performance while respecting rate-limiting systems and other limitations that the GitHub API provides.
Given its complex technology stack, troubleshooting issues quickly and effectively is critical to its success. If a customer reports an issue, or if the engineering team notices a performance degradation in the tool, ZenHub needs to be able to swiftly identify what's wrong and, most importantly, fix it. Observability is important for the engineers at ZenHub, who need to understand what’s going on in the application and why it’s happening.
Troubleshooting effectively becomes even more paramount as the product expands. As the company builds more complex software, it becomes impossible to track all of the components and services and the cloud providers they use. No single engineer can be expected to retain all of this information in their head, let alone know how to pinpoint where a problem is happening at any given moment.
The flip side of troubleshooting is maintenance: When the product runs in a healthy state, how does engineering ensure its consistency? And, how do they scale their systems? The engineers at ZenHub need to be able to gain visibility into the load and the performance of the application, identify bottlenecks, and spot patterns and trends in user behaviour. Then, they must use this information to determine where and when to conduct maintenance.
New Relic gives ZenHub full-stack observability across the application environment to maintain the health and performance of applications, quickly identify issues, detect trends, and scale to support business growth.
Monitor application health
The ZenHub engineering teams use New Relic to monitor the health of the application and infrastructure by tracking error rates, throughput, transaction response times, user behaviour, and other core metrics. For example, the growth pod might review the usage of a new service or capability and how it’s performing, then use that data to guide engineers in optimizing its performance or inform future decisions for new features and functionalities.
New Relic also helps ZenHub monitor and track incidents, alerts, and threshold hits. ZenHub uses New Relic as a daily checkpoint, with a team member logging in first thing in the morning to review the state of the infrastructure. By keeping a regular pulse on the heartbeat of the product, ZenHub can predict incidents, reduce outages, and quickly fix issues with minimal impact on customers. Performance data within New Relic helps ZenHub teams prepare for meetings with prospective customers and verify their SLAs. With real raw data from New Relic, ZenHub can show the exact service levels they can deliver according to the prospect’s needs.
Visualize telemetry data
The ability to visualize and analyze telemetry data helps ZenHub engineers get past the “what” to uncover the “why” and get to the root cause quickly. Without this, ZenHub estimates that troubleshooting its large, complex technology stack, which includes caches and messaging queues, could take weeks. With New Relic, ZenHub engineers can see exactly what is happening and can identify and fix problems and bottlenecks in days and even hours, saving valuable engineering time.
The quicker ZenHub can get to the root of the problem, the more cost-effective it is for the business: Every time a problem happens, ZenHub must pull engineers off of other key projects they’re working on. Over time, it becomes expensive to allocate development resources to fixing issues. Having a tool like New Relic helps ZenHub zero in on problems and allows developers to focus on building and innovating versus troubleshooting.
As a software for modern engineering workforces, ZenHub platform usage falls into relatively predictable usage patterns, with increased usage during business hours. Instead of over-provisioning infrastructure to support growth and maintain performance, ZenHub uses metrics within New Relic to plan for the right capacity increases at the right time, without impacting performance or overspending.
“New Relic's consumption pricing has been massively beneficial to ZenHub because it has saved us a lot of money while giving our engineers access to all of our telemetry data," says Ev. "The value we get for the price with New Relic is unquestionable.”
Enable team autonomy
ZenHub imagines a workplace where every software team is as efficient and as effective as possible. That can mean that engineers can stop spending time working on things they don’t need to be doing. It can also mean a workplace with greater transparency and visibility: where project managers, marketing, design, leadership, and other stakeholders can more easily access the internal data that ZenHub provides. It all starts with data collected and centralized in ZenHub. By leveraging the observability of key data operations through New Relic, ZenHub is prepared to build the project management tool for tomorrow’s workforce.