Infrastructure should be boring. Boring is good. Boring means that it just works, and you don’t have to worry about it. A year ago, we went on a quest to build a boring in-memory store.
We live in an era of really exciting breakthroughs. In the realm of technological advances, we witness artificial intelligence creating pictures and movies, self-driving cars driving through streets in central cities, and companies undergoing digital transformations that drastically improve their efficiency and quality of services. These are really exciting things. But behind the scenes, they are often supported by an unreliable infrastructure that doesn’t meet the demands of today’s hyper-connected, fast-paced world.
For example, take in-memory datastores. Redis is by far the most popular, and its product proposition is spot on. But its engine lacks the properties that would make it boring, dead-simple to use, like reliability and simplicity when its workloads grow beyond a few dozen GBs.
And unless you enjoy telling war stories about how your junior team member ran "flushdb" in production and caused your service traffic to stall, or how your engineering team spent a month tuning the Redis engine before Christmas —you should really think whether this is how you want to spend your time. Engineers should not spend their careers intimately memorizing random quirks of the infrastructure they use. They deserve better. They deserve boring.
Last year, we embarked on a mission to change the status quo and build a boring in-memory datastore. Apparently, this idea resonated and excited a huge number of engineers around the world. In less than 5 months the Dragonfly project accumulated 15K GitHub stars, and become the most exciting project of our lives.
Here’s to making infra “boring” 🍻.