The upcoming Golang embed directive can help distribute applications that
depend on non-Go code assets. See how you can embed an entire Javascript
website into your Go program, simplifying distribution to single binary.
Continue reading
Building a modern infrastructure stack is difficult, with a bewildering
number of choices to be made. Some technologies complement each other, while
others have very different philosophies: it’s easy to get lost.
To help those facing similar challenges, we’re open-sourcing our “Getting
Started” tutorial, which is what we ask all GoCardless developers to follow
during their onboarding.
Continue reading
Compression is a trick that can be used to solve a load of problems. Outside
of well known use cases, there are a variety of opportunities to improve
efficiency or save money by leveraging compression.
This post covers one such opportunity, where a tiny change allowed us to
save >$30k per year in infrastructure cost, along with a few other
big-savers from judicious application of compression.
Continue reading
Your company probably has a lot of data. When you expose all of these
different sources under a tool that makes complex analysis as fast as
thought, you'll create a load of opportunities to make data-driven
decisions.
By sharing an example where 2hrs of analysis helped prioritse 2-4 weeks of
engineering work, I'm going to try convincing you that the value of a
connected dataset is far more than the sum of its parts.
Continue reading
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