Tips-and-tricks to better handle incidents, learned over years of dealing
with production issues. Included are opinions on strategy, process, tools
and how to handle the all-important human element.
Read this if you're new to incident response and want a starter-pack of
advice, or to contrast your own perspective with another.
Continue reading
As a team's infrastructure estate grows, it becomes increasingly beneficial
to create a global registry of all people, services, and components. Once
you do, you can integrate with tools like terraform, Chef, and Kubernetes to
help provision your infrastructure according to a single authoritative
source.
This post explains how GoCardless built their registry, and some of the uses
we’ve put it to.
Continue reading
Most Prometheus metrics recording durations are subject to a
time-of-measurement bias, causing misleading graphs that can derail
investigations. See how an open-source Tracer can help solve this problem.
Continue reading
This post covers the implementation of pgreplay-go, a tool to realistically
simulate captured Postgres traffic. I'll explain why existing tools didn't
fit and explain some challenges in the implementation, focusing on what I
learned personally from the process.
Continue reading
Diving into the Postgres query planner to understand its decisions- and
occasionally- its mistakes. Explore a query plan that went wrong,
discovering the statistics that informed the bad decision.
Continue reading
R. Chatley and L. Jones, "Diggit: Automated code review via software
repository mining," 2018 IEEE 25th International Conference on Software
Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 2018, pp.
567-571. doi:10.1109/SANER.2018.8330261
Continue reading
By flagging code smells in review, diggit raises awareness of problems at a
point in the development process where code can easily be changed, with an
audience of devs who are immediately familiar with program context.
Continue reading
Today we're open sourcing Coach, a library that removes the complexity from
Rails controllers. Bundle your shared behaviour into highly robust, heavily
tested middlewares and rely on Coach to join them together, providing static
analysis over the entire chain. Coach ensures you only require a glance to
see what's being run on each controller endpoint.
Continue reading