The title is not a mistake. This post is about the best technique to lower SLA of your services. Hopefully, you won't be using this technique (unless building a non-reliable service is in your contract). In the cloud, it really easy to take a dependency on just-another-service (TM) provided by the vendor. You need to … Continue reading TOP 1 method to lower SLA of your service
design
Hot paths in performance design
The misconception that fast code must be ugly is unfortunately still alive. Also, there is an anti-pattern, of leaving the performance related work till the end, when nothing can be changed. Fortunately, there's a lot of people writing code that is fast and easy to follow. In this post I want to discuss hot paths, … Continue reading Hot paths in performance design
These other types and your API
So you've created your Open Source project. It might be written in Java, it might be .NET, it might be something else. You might have even taken an additional step and created a test that validates public API to please SemVer gods. Now, let's take a closer look at this API. What types does it … Continue reading These other types and your API
Survival of the fittest (systems)
This time we'll make it right! Anonymous software architect planning for a big rewrite. 2018 There's no better feeling that being led through a big rewrite by a prophet saying that this time we'll make it right 😉 Depending on the experience gathered by members of this brave team, one might ask What will make … Continue reading Survival of the fittest (systems)
On breaking the monolith
TL;DR Are you dreaming about breaking a monolithic application? Some of us do. What I'd prefer to hear is breaking a monolithic application into pieces that fit. This would be much appropriate and much more advantageous than just breaking this monolith, wouldn't it? We want it to work, after all. Let's go through different approaches … Continue reading On breaking the monolith
The subtle art of caching
TL;DR It's often said that there are only two hard things in Computer Science: cache invalidation and naming things. In this blog post we'll reconsider this statement against the modern databases and approaches. We'll start with no-cache rule and move to some situations where applying caching might be good, or even, vital. If you never … Continue reading The subtle art of caching
Bounded design
If you wake up a Domain Driven Design fan and scream the word "Bounded" the answer will be immediate and always the same: "Context". It's funny that this word is having so much trouble in leaving DDD context. I'd like to encourage you for broadening it a little bit, to a design, architecture space. Reality … Continue reading Bounded design