When to use microservices?

This is a follow up to an earlier article on microservice architecture implementation principles. It was promised back then to get back to the question of “when to use microservices”. A bit of history The overall architecture pattern of microservices was successfully implemented in 2010-ish. That was an endeavor on the part of a few…

Memory Layers Latency Difference

There’s such term as memory hierarchy in computer architecture. In simplistic terms it’s about structuring different memory/storage types based on response time. In software design & architecture memory hierarchy directly affects performance and may make or break design of a particular software system. Memory layers latency difference is very important to software design. Basics of…

Scalable Backend Secret Sauce

There’s an implementation principle of a scalable backend system which I find among the most important ones. It’s about minimization of compute resources footprint of a request handler for every possible request. This principle isn’t only applicable to handlers in request/response scenarios, e.g. REST or GraphQL APIs. For a session-based handler like a websocket handler…

Microservice Architecture Implementation Principles

Today on microservice architecture implementation principles. I intentionally don’t touch the topic of whether or not one should use microservice architecture for a particular project/company context in this article. That’s a big separate topic of its own and a story for another day. The following list consists of fundamental items which should be kept in…

Don’t rely on a pure technology expert…

…to do the right thing for your business Software development exploded worldwide during the last thirty years or so. Mass adoption of personal computing devices gave rise to the first wave of unprecedented investments into software development. Technology expert was a new dream career. Then it was World Wide Web and finally handheld computing devices.…

Enhanced GitFlow article is live!

We’ve been working on this article with Toptal Blog editorial team since this summer. It’s about an alternative to GitFlow approach to Git branching. Finally it’s live: https://www.toptal.com/gitflow/enhanced-git-flow-explained Check it out if you stuck with Classic GitFlow. It gives some fresh air in regards to version control in your projects.

Long-running transactions considered harmful

When working with ACID storages developers have a powerful tool at their disposal – transactions. Most RDBMS systems out there – think MySQL or PostgreSQL – are fundamentally ACID storages. Developers learn transactions as part of any basics course on RDBMSes. They seem pretty organic to underlying databases. One may get really surprised by the…

kswapd high cpu no swap issue with T instances on AWS

I’ve been working as the Head of SaaS at Binology for almost a year and a half already. One of my core responsibilities is planning & executing company workflows in the cloud in a cost-effective manner. We use the AWS cloud and Docker is our primary delivery method for apps we run. Both vendors are…

Blog – inception

This article is a part of series Why yet another blog I believe that every entrepreneur is a committed, inspiring and purposeful individual. That’s because every endeavor starts with an idea and inspiration to bring it to life. Sometimes it’s enough to inspire oneself. In other cases one has to build a team and inflame…