Gravatar picture of Lawrence

Lawrence Jones

  • About

Deploying software at GoCardless: our Getting-Started tutorial

January 12, 2021

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

How we compress Pub/Sub messages and more, saving a load of money

December 29, 2020

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

Connected data: Using BigQuery to analyse user behaviour in response to webhooks

November 8, 2020

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

An incident response starter-pack: how do you handle production outages?

October 27, 2020

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

Why you need a service registry

September 28, 2020

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

Avoid time-of-measurement bias with Prometheus

July 10, 2019

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

Building a PostgreSQL load tester

April 7, 2019

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

Debugging the Postgres query planner

February 17, 2019

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

Diggit- Automated code review via software repository mining

March 20, 2018

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

Diggit- Mining git repositories for developer insights

April 28, 2016

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
Prev Next
Follow @lawrjones