Multi-tenant database patterns - through a SaaS lens
This article shall give an overview of various popular multi-tenant database patterns and their pros and cons - through a SaaS lens. That means that we analyze the patterns in terms of their suitability for SaaS applications and their tradeoffs. While there are many good posts already available on the internet, I want to bring together different naming conventions and patterns in one place, for a better overview and comparison....
How Kubernetes handles offline nodes
In this post I want to show you how Kubernetes recognizes offline nodes and how they are handled by the system. This can be helpful to understand and tune rescheduling mechanics or when developing your own operators and resources.
Modern multi-architecture builds with Docker
In this post I explain several ways to build docker images for multiple architectures. Docker’s buildx, manifest, and QEMU are the tools we’re going to use.
What are transducers and why they're cool?
A few weeks ago while I was browsing for reducer-functions, I stumbled upon a term called “transducer”. Because I really like simple and declarative data transformations in code (e.g. with map and reduce), I looked into this topic. At first transducers can be kinda hard to grasp, but once you got it, you’ll have an elegant technique for efficient and composable transformations in your “developer toolbelt”. What does it do? The name “transducer”, consisting of the words “reduce” and “transform”, describes its functionality pretty well....
Share code with React Native
A few days ago, I needed to restructure a react web app in such a way, that we can build a react native app (with create-react-native-app) using as much of the existing code as possible. So the main goal was code reuse/code sharing, while not breaking react native’s reloading or introducing a complicated setup. Restructure the files Let’s start with the initial structure. The web app web contained all code, which was structured reducers, actions, api, components and so on:...