PagerDuty Blog


Reducing Operational Noise by Diving into a Legacy System

In a story that will sound all too familiar to many developers, in early 2019, I picked up a Kanban ticket to update a legacy…


In Engineering


The How and Why of Using Terraform With PagerDuty

Infrastructure as Code As infrastructure stacks grow increasingly more complex and involve an ever-growing number of services and systems, teams have looked to abstract configuration…


In Integrations


Tracking Down an ETS-Related Memory Leak

ETS will hold references to large binaries, even if just part of the original binary is stored in a table. Copy binaries if pieces of…


In Engineering


Why Your Engineering Teams Need Incident Commanders

In any fast-paced engineering environment, unexpected incidents can arise and escalate without warning. Effective leadership is key when this happens since coordination and decision-making across…


In Best Practices & Insights, Incident Management Best Practices


Finding a Golden Ticket

At PagerDuty, we’ve been doing Kanban for a while now, and as an Engineering Manager who has managed several teams over my tenure, I wanted…


In Engineering


Creating an HTTP Server Using Pure OTP

Using inets and httpd to create a simple HTTP server without adding external dependencies Recently I needed to add a healthcheck endpoint to an application…


In Engineering


How I Centralized Our Scattered Business Logic Into One Clear Pipeline For Our Elixir Webhook Service

Some people inherit treasured jewelry, lavish mansions, or even grand fortunes. Software engineers inherit legacy code, written by people no longer working at the company,…


In Engineering


Android Architecture at PagerDuty

Android has matured as a platform significantly since its release ten years ago. ~Google~ The community has developed best practices and continued to refine them…


In Engineering


Custom Notification Sounds for Android Oreo and Beyond

The software engineering world is moving quickly; libraries and frameworks are always changing. This is especially true on Android where Google only recently solidified its…


In Engineering


Elixir at PagerDuty

When PagerDuty was founded, development speed was of the essence—so it should be no surprise when we reveal that Rails was the initial sole bit…


In Engineering


A public release of our pd-feature Chef cookbook

PagerDuty uses Chef for some of its configuration management needs. While most Chef cookbooks wedevelop internally are not useful outside of PagerDuty’s infrastructureand workflow, sometimes…


In Engineering


Can Continuous Integration and Continuous Deployment be Done by the Same Product?

Continuous Integration as a service (Travis CI, CircleCI, and plenty of others) has been commonplace for a while. These services are widely used to validate…


In Engineering


Live Updating in Mobile Applications

Background For many modern-day apps, the user interface either automatically shows the most up-to-date content to its users, or presents an indicator that new content…


In Engineering


Improving PagerDuty’s Automated iOS Builds

Background I started at PagerDuty during a time of revitalization of the iOS app. Apps tend to need a lot of care, given that Apple…


In Engineering


One Small ChatOps Win

Imagine yourself in a geographical distributed, multi team organization structure. Ok, that isn’t very difficult to imagine since we have that at PagerDuty. When you…


In Engineering


Distributed Task Scheduling, Part 3: Handling Data Center Outages

In an earlier post, we discussed how PagerDuty has built a distributed task scheduler using Akka, Kafka, and Cassandra. This open-source Scala library schedules and…


In Engineering


Automating Db2Kafka’s Failover

Db2Kafka is an open source service developed at PagerDuty. It is a message pump to take records written to a MySQL table and publish them…


In Engineering


Distributed Task Scheduling, Part 2: Handling Dynamic Load

In an earlier post, we discussed how PagerDuty has built a distributed task scheduler using Akka, Kafka, and Cassandra. This open-source Scala library schedules and…


In Engineering