One of the challenges with a microservices architecture is that it's hard to keep libraries up to date across all services. In this post I describe how Monzo's approach of centrally driven migrations helps us achieve consistent upgrades to libraries while minimising coordination overhead across the engineering organisation.
How my team at Monzo used Argo Rollouts to bring automated rollbacks to all 2,100+ services. The post digs into how we integrated Argo Rollouts into our existing tooling and described the migration process. Finally, we wrap up with lessons learnt.
How Monzo have optimised their engineering culture, tooling, and architecture to make the path from idea to production as frictionless as possible, all without sacrificing safety.
I don't think any company intends on having two dashboards (!), but that is exactly what we ended up with at Pusher. This post is a reflection on how we ended up in this situation and explain the steps we took to remedy it.
In this post we investigate high replication lag in a MySQL database. In order to investigate it, it is helpful to dig into the replication internals, and that's what we do in this post. We look at the main processes and files used in the replication process as well as the different binary log formats and their pros and cons.
A couple of weeks ago I attended SREcon EMEA 2019 in Dublin. I felt like I learned a lot over the (exhausting!) 3 days, 19 talks and 2 workshops I attended, so I wanted to write up my experience.
Recently, our WebSocket servers stopped accepting all new connections. The culprit: ephemeral port exhaustion. This post explains the problem, and how to avoid it.