Operations | Monitoring | ITSM | DevOps | Cloud

Raygun

Sponsored Post

Taking down (and restoring) the Raygun ingestion API

In a world where Software as a Service (SaaS) products are integral to daily life, maintaining uninterrupted service for end-users is paramount. However, stuff happens. When it does, our most valuable response (other than restoring service ASAP) is to review the series of events that led up to the incident and learn from them. On August 25th, 2023, at 7:02 AM NZT, Raygun experienced a significant incident that impacted our API ingestion cluster, leading to an outage lasting approximately 1 hour and 15 minutes. While this wasn't fun for anyone involved, this incident did prove to be a valuable learning experience, shedding light on the importance of infrastructure management and resilience.

Sponsored Post

Better CI/CD with GitHub Actions and deployment tracking

Understanding the impact of each of your deployments is crucial, especially as they become increasingly frequent. Chances are, your team is either aiming to increase shipping velocity or has already started deploying "continuously" (which is to say, multiple times a day). The biggest tech teams at the likes of Amazon and Google deploy thousands of times daily, and Atlassian has found that 75% of enterprise DevOps teams call deployment frequency their most important success criteria. And while CD comes with a host of well-established benefits, it also introduces a heightened risk of introducing new errors and issues.

Adding a CDN to a load balancer (for a much faster website)

Here at Raygun, we like to go fast. Really fast. That’s what we do! When we see something that isn’t zooming, we try to figure out how to make it go faster. So today, we’re answering a simple (and relevant) question; how do we make our public site, raygun.com, much, much faster? The answer, at first glance, is simple—we build it into a Content Delivery Network (CDN).

The hidden impact of cache locality on application performance

My favorite technical experience from grad school was all the cool ways we were trying to squeeze every last bit of performance out of the IBM JVM (now called Eclipse OMR). The majority of such optimizations required an intricate understanding of how CPUs and memories look under the hood. But why is there such an impressive performance gain in padding objects with blank space to the closest multiple of 64 bytes and ensuring they always start at addresses that are exactly divisible with 64?
Sponsored Post

Part one: 7 must-know object-oriented software patterns (and their pitfalls)

Object-oriented (not orientated!) design is a fundamental principle of modern software engineering, a crucial concept that every developer needs to understand and employ effectively. Software design patterns like object-oriented design serve as universal solutions to common problems, across a range of instances and domains. As software engineers advance in their careers, they actually often start using these patterns instinctively, even without knowing it.

Why every developer needs to learn about source maps (right now)

You did it! Sure, it might be four weeks overdue and late on a Friday, but you’ve finally finished deploying a long-awaited update to the web app. However, your celebrations are cut short as your phone vibrates off the table. Picking it up, you’re confronted with a developer’s worst nightmare. You’re getting flooded with messages that the login is no longer working. Was it your deployment? This is bad. Nobody can use the site if they can’t log in.

Introducing Error Groups to the Raygun API

We’re excited to announce an important extension to our API. After rigorous research, testing, and feedback, we’ve launched the Error Groups endpoints. This powerful new addition aims to enhance your monitoring experience and better handle errors across your applications. Our primary aim with the introduction of these endpoints is to offer you a more detailed view into your applications’ error groups, and to offer a way to update their statuses using the API.

Part two: 7 must-know object-oriented software patterns (and their pitfalls)

Dr. Panos Patros, CPEng This is the second and final part in our exploration of must-know OOP patterns, and covers the composite bridge pattern, iterator pattern, and lock design pattern. Find part one here covering extension, singleton, exception shielding and object pool patterns. Object-oriented design is a fundamental part of modern software engineering that all developers need to understand.

New Raygun JS provider v2.27.0 to support performance timing

The popular chromium based browser ecosystem has recently changed how performance metrics can be collected in relation to performance.timing. Before we get into the details, the TLDR is: if you use the Raygun CDN for raygun4js, you’re up to date. If you self-host raygun4js and use Raygun Real User Monitoring, you’ll want to upgrade to version 2.27.0.