Weekly Tech Notes #10: Failing bus
This talk shows the Rust adoption journey by Truelayer, summarizing the pros and cons of taking this path. Interestingly, the main benefits inherit from functional programming: composition and exhaustive pattern matching.
In addition, we will read about the bus factor, resilient architectures (again) and health checks.
- What’s the bus factor and 7 ways to increase it – The previous talk mentioned the bus factor as one of the cons of adopting a new technology. I was unfamiliar with the term, so I found this article that explains it well. In a nutshell, the bus factor is the number of people that need to be hit by a bus before your project is in trouble. The lower the number, the higher the risk.
- Patterns for Resilient Architecture — Part 1 – In this first part, the author discusses redundancy, autoscaling, immutable infrastructures and stateless applications.
- Patterns for Resilient Architecture — Part 2 – The second article is mainly dedicated to several techniques such as backoff, circuit breaker and timeouts.
- Patterns for Resilient Architecture — Part 3 – In the third article, the author pays particular attention to health checks. As expected, when a server instance fails the health check, the Load Balancer will stop sending traffic to it. However, when all server instances report the failure simultaneously, some Load Balancers act smart and fail open. This way, they prevent a possible issue with health checks: when all server instances make the wrong local decision about their health.
N.B. I had no time to read the final part of the series about caching. If it’s worth it, I’ll include it in the next post.
Enjoy your weekend! 👋